OLD | NEW |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 from optparse import OptionParser | 6 from optparse import OptionParser |
7 import os | 7 import os |
8 import subprocess | 8 import subprocess |
9 import sys | 9 import sys |
10 import tempfile | 10 import tempfile |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
488 def Generate(self, srcs): | 488 def Generate(self, srcs): |
489 """Generate final output file. | 489 """Generate final output file. |
490 | 490 |
491 Link or Archive the final output file, from the compiled sources. | 491 Link or Archive the final output file, from the compiled sources. |
492 """ | 492 """ |
493 if self.outtype in ['nexe', 'pexe', 'nso']: | 493 if self.outtype in ['nexe', 'pexe', 'nso']: |
494 out = self.Link(srcs) | 494 out = self.Link(srcs) |
495 if self.strip_all or self.strip_debug: | 495 if self.strip_all or self.strip_debug: |
496 self.Strip(out) | 496 self.Strip(out) |
497 elif self.outtype in ['nlib', 'plib']: | 497 elif self.outtype in ['nlib', 'plib']: |
498 self.Archive(srcs) | 498 out = self.Archive(srcs) |
499 # Also valid to strip archives, but strip_all seems dangerous. | |
Roland McGrath
2012/12/13 20:51:39
Indeed, --strip-all makes .a or .o files unusable.
| |
500 if self.strip_debug: | |
Sam Clegg
2012/12/13 20:55:58
This seems a little confusing to me.
If I specify
jvoung - send to chromium...
2012/12/13 21:23:23
Yeah, it shouldn't do less that strip-debug...
Ok
| |
501 self.Strip(out) | |
499 else: | 502 else: |
500 ErrOut('FAILED: Unknown outtype %s:\n' % (self.outtype)) | 503 ErrOut('FAILED: Unknown outtype %s:\n' % (self.outtype)) |
501 | 504 |
502 | 505 |
503 def Main(argv): | 506 def Main(argv): |
504 parser = OptionParser() | 507 parser = OptionParser() |
505 parser.add_option('--empty', dest='empty', default=False, | 508 parser.add_option('--empty', dest='empty', default=False, |
506 help='Do not pass sources to library.', action='store_true') | 509 help='Do not pass sources to library.', action='store_true') |
507 parser.add_option('--no-suffix', dest='suffix', default=True, | 510 parser.add_option('--no-suffix', dest='suffix', default=True, |
508 help='Do not append arch suffix.', action='store_false') | 511 help='Do not append arch suffix.', action='store_false') |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
573 out = build.Compile(filename) | 576 out = build.Compile(filename) |
574 if out: | 577 if out: |
575 objs.append(out) | 578 objs.append(out) |
576 # Do not link if building an object | 579 # Do not link if building an object |
577 if not options.compile_only: | 580 if not options.compile_only: |
578 build.Generate(objs) | 581 build.Generate(objs) |
579 return 0 | 582 return 0 |
580 | 583 |
581 if __name__ == '__main__': | 584 if __name__ == '__main__': |
582 sys.exit(Main(sys.argv)) | 585 sys.exit(Main(sys.argv)) |
OLD | NEW |