OLD | NEW |
1 # Copyright 2008 the V8 project authors. All rights reserved. | 1 # Copyright 2008 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 'CCFLAGS': ['-m32'], | 171 'CCFLAGS': ['-m32'], |
172 'LINKFLAGS': ['-m32'] | 172 'LINKFLAGS': ['-m32'] |
173 }, | 173 }, |
174 'arch:arm': { | 174 'arch:arm': { |
175 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'] | 175 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'] |
176 }, | 176 }, |
177 'simulator:arm': { | 177 'simulator:arm': { |
178 'CCFLAGS': ['-m32'], | 178 'CCFLAGS': ['-m32'], |
179 'LINKFLAGS': ['-m32'] | 179 'LINKFLAGS': ['-m32'] |
180 }, | 180 }, |
| 181 'armvariant:thumb2': { |
| 182 'CPPDEFINES': ['V8_ARM_VARIANT_THUMB'] |
| 183 }, |
| 184 'armvariant:arm': { |
| 185 'CPPDEFINES': ['V8_ARM_VARIANT_ARM'] |
| 186 }, |
181 'arch:x64': { | 187 'arch:x64': { |
182 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], | 188 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], |
183 'CCFLAGS': ['-m64'], | 189 'CCFLAGS': ['-m64'], |
184 'LINKFLAGS': ['-m64'], | 190 'LINKFLAGS': ['-m64'], |
185 }, | 191 }, |
186 'prof:oprofile': { | 192 'prof:oprofile': { |
187 'CPPDEFINES': ['ENABLE_OPROFILE_AGENT'] | 193 'CPPDEFINES': ['ENABLE_OPROFILE_AGENT'] |
188 } | 194 } |
189 }, | 195 }, |
190 'msvc': { | 196 'msvc': { |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 }, | 655 }, |
650 'verbose': { | 656 'verbose': { |
651 'values': ['on', 'off'], | 657 'values': ['on', 'off'], |
652 'default': 'off', | 658 'default': 'off', |
653 'help': 'more output from compiler and linker' | 659 'help': 'more output from compiler and linker' |
654 }, | 660 }, |
655 'visibility': { | 661 'visibility': { |
656 'values': ['default', 'hidden'], | 662 'values': ['default', 'hidden'], |
657 'default': 'hidden', | 663 'default': 'hidden', |
658 'help': 'shared library symbol visibility' | 664 'help': 'shared library symbol visibility' |
| 665 }, |
| 666 'armvariant': { |
| 667 'values': ['arm', 'thumb2', 'none'], |
| 668 'default': 'none', |
| 669 'help': 'generate thumb2 instructions instead of arm instructions (default)' |
659 } | 670 } |
660 } | 671 } |
661 | 672 |
662 | 673 |
663 def GetOptions(): | 674 def GetOptions(): |
664 result = Options() | 675 result = Options() |
665 result.Add('mode', 'compilation mode (debug, release)', 'release') | 676 result.Add('mode', 'compilation mode (debug, release)', 'release') |
666 result.Add('sample', 'build sample (shell, process)', '') | 677 result.Add('sample', 'build sample (shell, process)', '') |
667 result.Add('env', 'override environment settings (NAME0:value0,NAME1:value1,..
.)', '') | 678 result.Add('env', 'override environment settings (NAME0:value0,NAME1:value1,..
.)', '') |
668 result.Add('importenv', 'import environment settings (NAME0,NAME1,...)', '') | 679 result.Add('importenv', 'import environment settings (NAME0,NAME1,...)', '') |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 # Adjust architecture if the simulator option has been set | 843 # Adjust architecture if the simulator option has been set |
833 if (options['simulator'] != 'none') and (options['arch'] != options['simulator
']): | 844 if (options['simulator'] != 'none') and (options['arch'] != options['simulator
']): |
834 if 'arch' in ARGUMENTS: | 845 if 'arch' in ARGUMENTS: |
835 # Print a warning if arch has explicitly been set | 846 # Print a warning if arch has explicitly been set |
836 print "Warning: forcing architecture to match simulator (%s)" % options['s
imulator'] | 847 print "Warning: forcing architecture to match simulator (%s)" % options['s
imulator'] |
837 options['arch'] = options['simulator'] | 848 options['arch'] = options['simulator'] |
838 if (options['prof'] != 'off') and (options['profilingsupport'] == 'off'): | 849 if (options['prof'] != 'off') and (options['profilingsupport'] == 'off'): |
839 # Print a warning if profiling is enabled without profiling support | 850 # Print a warning if profiling is enabled without profiling support |
840 print "Warning: forcing profilingsupport on when prof is on" | 851 print "Warning: forcing profilingsupport on when prof is on" |
841 options['profilingsupport'] = 'on' | 852 options['profilingsupport'] = 'on' |
| 853 if (options['armvariant'] == 'none' and options['arch'] == 'arm'): |
| 854 options['armvariant'] = 'arm' |
| 855 if (options['armvariant'] != 'none' and options['arch'] != 'arm'): |
| 856 options['armvariant'] = 'none' |
842 | 857 |
843 | 858 |
844 def ParseEnvOverrides(arg, imports): | 859 def ParseEnvOverrides(arg, imports): |
845 # The environment overrides are in the format NAME0:value0,NAME1:value1,... | 860 # The environment overrides are in the format NAME0:value0,NAME1:value1,... |
846 # The environment imports are in the format NAME0,NAME1,... | 861 # The environment imports are in the format NAME0,NAME1,... |
847 overrides = {} | 862 overrides = {} |
848 for var in imports.split(','): | 863 for var in imports.split(','): |
849 if var in os.environ: | 864 if var in os.environ: |
850 overrides[var] = os.environ[var] | 865 overrides[var] = os.environ[var] |
851 for override in arg.split(','): | 866 for override in arg.split(','): |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1000 # version of scons. Also, there's a bug in some revisions that | 1015 # version of scons. Also, there's a bug in some revisions that |
1001 # doesn't allow this flag to be set, so we swallow any exceptions. | 1016 # doesn't allow this flag to be set, so we swallow any exceptions. |
1002 # Lovely. | 1017 # Lovely. |
1003 try: | 1018 try: |
1004 SetOption('warn', 'no-deprecated') | 1019 SetOption('warn', 'no-deprecated') |
1005 except: | 1020 except: |
1006 pass | 1021 pass |
1007 | 1022 |
1008 | 1023 |
1009 Build() | 1024 Build() |
OLD | NEW |