OLD | NEW |
1 # Copyright 2010 the V8 project authors. All rights reserved. | 1 # Copyright 2010 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 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 'WARNINGFLAGS': ['-Wall', '-Wno-unused', '-Werror=return-type', | 197 'WARNINGFLAGS': ['-Wall', '-Wno-unused', '-Werror=return-type', |
198 '-Wstrict-aliasing=2'], | 198 '-Wstrict-aliasing=2'], |
199 'CPPPATH': ANDROID_INCLUDES, | 199 'CPPPATH': ANDROID_INCLUDES, |
200 }, | 200 }, |
201 'arch:ia32': { | 201 'arch:ia32': { |
202 'CPPDEFINES': ['V8_TARGET_ARCH_IA32'], | 202 'CPPDEFINES': ['V8_TARGET_ARCH_IA32'], |
203 'CCFLAGS': ['-m32'], | 203 'CCFLAGS': ['-m32'], |
204 'LINKFLAGS': ['-m32'] | 204 'LINKFLAGS': ['-m32'] |
205 }, | 205 }, |
206 'arch:arm': { | 206 'arch:arm': { |
207 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'] | 207 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'], |
| 208 'unalignedaccesses:on' : { |
| 209 'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=1'] |
| 210 }, |
| 211 'unalignedaccesses:off' : { |
| 212 'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=0'] |
| 213 } |
208 }, | 214 }, |
209 'simulator:arm': { | 215 'simulator:arm': { |
210 'CCFLAGS': ['-m32', '-DCAN_USE_UNALIGNED_ACCESSES=1'], | 216 'CCFLAGS': ['-m32'], |
211 'LINKFLAGS': ['-m32'] | 217 'LINKFLAGS': ['-m32'] |
212 }, | 218 }, |
213 'arch:mips': { | 219 'arch:mips': { |
214 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], | 220 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], |
215 'simulator:none': { | 221 'simulator:none': { |
216 'CCFLAGS': ['-EL', '-mips32r2', '-Wa,-mips32r2', '-fno-inline'], | 222 'CCFLAGS': ['-EL', '-mips32r2', '-Wa,-mips32r2', '-fno-inline'], |
217 'LDFLAGS': ['-EL'] | 223 'LDFLAGS': ['-EL'] |
218 } | 224 } |
219 }, | 225 }, |
220 'simulator:mips': { | 226 'simulator:mips': { |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 'msvcltcg': { | 733 'msvcltcg': { |
728 'values': ['on', 'off'], | 734 'values': ['on', 'off'], |
729 'default': 'on', | 735 'default': 'on', |
730 'help': 'use Microsoft Visual C++ link-time code generation' | 736 'help': 'use Microsoft Visual C++ link-time code generation' |
731 }, | 737 }, |
732 'simulator': { | 738 'simulator': { |
733 'values': ['arm', 'mips', 'none'], | 739 'values': ['arm', 'mips', 'none'], |
734 'default': 'none', | 740 'default': 'none', |
735 'help': 'build with simulator' | 741 'help': 'build with simulator' |
736 }, | 742 }, |
| 743 'unalignedaccesses': { |
| 744 'values': ['default', 'on', 'off'], |
| 745 'default': 'default', |
| 746 'help': 'set whether the ARM target supports unaligned accesses' |
| 747 }, |
737 'disassembler': { | 748 'disassembler': { |
738 'values': ['on', 'off'], | 749 'values': ['on', 'off'], |
739 'default': 'off', | 750 'default': 'off', |
740 'help': 'enable the disassembler to inspect generated code' | 751 'help': 'enable the disassembler to inspect generated code' |
741 }, | 752 }, |
742 'sourcesignatures': { | 753 'sourcesignatures': { |
743 'values': ['MD5', 'timestamp'], | 754 'values': ['MD5', 'timestamp'], |
744 'default': 'MD5', | 755 'default': 'MD5', |
745 'help': 'set how the build system detects file changes' | 756 'help': 'set how the build system detects file changes' |
746 }, | 757 }, |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
845 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: | 856 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: |
846 Abort("Profiling on windows only supported for static library.") | 857 Abort("Profiling on windows only supported for static library.") |
847 if env['prof'] == 'oprofile' and env['os'] != 'linux': | 858 if env['prof'] == 'oprofile' and env['os'] != 'linux': |
848 Abort("OProfile is only supported on Linux.") | 859 Abort("OProfile is only supported on Linux.") |
849 if env['os'] == 'win32' and env['soname'] == 'on': | 860 if env['os'] == 'win32' and env['soname'] == 'on': |
850 Abort("Shared Object soname not applicable for Windows.") | 861 Abort("Shared Object soname not applicable for Windows.") |
851 if env['soname'] == 'on' and env['library'] == 'static': | 862 if env['soname'] == 'on' and env['library'] == 'static': |
852 Abort("Shared Object soname not applicable for static library.") | 863 Abort("Shared Object soname not applicable for static library.") |
853 if env['os'] != 'win32' and env['pgo'] != 'off': | 864 if env['os'] != 'win32' and env['pgo'] != 'off': |
854 Abort("Profile guided optimization only supported on Windows.") | 865 Abort("Profile guided optimization only supported on Windows.") |
| 866 if not (env['arch'] == 'arm' or env['simulator'] == 'arm') and ('unalignedacce
sses' in ARGUMENTS): |
| 867 print env['arch'] |
| 868 print env['simulator'] |
| 869 Abort("Option unalignedaccesses only supported for the ARM architecture.") |
855 for (name, option) in SIMPLE_OPTIONS.iteritems(): | 870 for (name, option) in SIMPLE_OPTIONS.iteritems(): |
856 if (not option.get('default')) and (name not in ARGUMENTS): | 871 if (not option.get('default')) and (name not in ARGUMENTS): |
857 message = ("A value for option %s must be specified (%s)." % | 872 message = ("A value for option %s must be specified (%s)." % |
858 (name, ", ".join(option['values']))) | 873 (name, ", ".join(option['values']))) |
859 Abort(message) | 874 Abort(message) |
860 if not env[name] in option['values']: | 875 if not env[name] in option['values']: |
861 message = ("Unknown %s value '%s'. Possible values are (%s)." % | 876 message = ("Unknown %s value '%s'. Possible values are (%s)." % |
862 (name, env[name], ", ".join(option['values']))) | 877 (name, env[name], ", ".join(option['values']))) |
863 Abort(message) | 878 Abort(message) |
864 | 879 |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1122 # version of scons. Also, there's a bug in some revisions that | 1137 # version of scons. Also, there's a bug in some revisions that |
1123 # doesn't allow this flag to be set, so we swallow any exceptions. | 1138 # doesn't allow this flag to be set, so we swallow any exceptions. |
1124 # Lovely. | 1139 # Lovely. |
1125 try: | 1140 try: |
1126 SetOption('warn', 'no-deprecated') | 1141 SetOption('warn', 'no-deprecated') |
1127 except: | 1142 except: |
1128 pass | 1143 pass |
1129 | 1144 |
1130 | 1145 |
1131 Build() | 1146 Build() |
OLD | NEW |