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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 'CPPDEFINES': ['OBJECT_PRINT'], | 117 'CPPDEFINES': ['OBJECT_PRINT'], |
118 }, | 118 }, |
119 'protectheap:on': { | 119 'protectheap:on': { |
120 'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_HEAP_PROTECTION'], | 120 'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_HEAP_PROTECTION'], |
121 }, | 121 }, |
122 'profilingsupport:on': { | 122 'profilingsupport:on': { |
123 'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_LOGGING_AND_PROFILING'
], | 123 'CPPDEFINES': ['ENABLE_VMSTATE_TRACKING', 'ENABLE_LOGGING_AND_PROFILING'
], |
124 }, | 124 }, |
125 'debuggersupport:on': { | 125 'debuggersupport:on': { |
126 'CPPDEFINES': ['ENABLE_DEBUGGER_SUPPORT'], | 126 'CPPDEFINES': ['ENABLE_DEBUGGER_SUPPORT'], |
| 127 }, |
| 128 'inspector:on': { |
| 129 'CPPDEFINES': ['INSPECTOR'], |
127 } | 130 } |
128 }, | 131 }, |
129 'gcc': { | 132 'gcc': { |
130 'all': { | 133 'all': { |
131 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], | 134 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], |
132 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'], | 135 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'], |
133 }, | 136 }, |
134 'visibility:hidden': { | 137 'visibility:hidden': { |
135 # Use visibility=default to disable this. | 138 # Use visibility=default to disable this. |
136 'CXXFLAGS': ['-fvisibility=hidden'] | 139 'CXXFLAGS': ['-fvisibility=hidden'] |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 'CCFLAGS': ['-m32'], | 225 'CCFLAGS': ['-m32'], |
223 'LINKFLAGS': ['-m32'], | 226 'LINKFLAGS': ['-m32'], |
224 }, | 227 }, |
225 'arch:x64': { | 228 'arch:x64': { |
226 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], | 229 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], |
227 'CCFLAGS': ['-m64'], | 230 'CCFLAGS': ['-m64'], |
228 'LINKFLAGS': ['-m64'], | 231 'LINKFLAGS': ['-m64'], |
229 }, | 232 }, |
230 'prof:oprofile': { | 233 'prof:oprofile': { |
231 'CPPDEFINES': ['ENABLE_OPROFILE_AGENT'] | 234 'CPPDEFINES': ['ENABLE_OPROFILE_AGENT'] |
| 235 }, |
| 236 'gdbjit:on': { |
| 237 'CPPDEFINES': ['ENABLE_GDB_JIT_INTERFACE'] |
232 } | 238 } |
233 }, | 239 }, |
234 'msvc': { | 240 'msvc': { |
235 'all': { | 241 'all': { |
236 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], | 242 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], |
237 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], | 243 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], |
238 'CPPDEFINES': ['WIN32'], | 244 'CPPDEFINES': ['WIN32'], |
239 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'], | 245 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'], |
240 'CCPDBFLAGS': ['/Zi'] | 246 'CCPDBFLAGS': ['/Zi'] |
241 }, | 247 }, |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 'snapshot': { | 705 'snapshot': { |
700 'values': ['on', 'off', 'nobuild'], | 706 'values': ['on', 'off', 'nobuild'], |
701 'default': 'off', | 707 'default': 'off', |
702 'help': 'build using snapshots for faster start-up' | 708 'help': 'build using snapshots for faster start-up' |
703 }, | 709 }, |
704 'prof': { | 710 'prof': { |
705 'values': ['on', 'off', 'oprofile'], | 711 'values': ['on', 'off', 'oprofile'], |
706 'default': 'off', | 712 'default': 'off', |
707 'help': 'enable profiling of build target' | 713 'help': 'enable profiling of build target' |
708 }, | 714 }, |
| 715 'gdbjit': { |
| 716 'values': ['on', 'off'], |
| 717 'default': 'off', |
| 718 'help': 'enable GDB JIT interface' |
| 719 }, |
709 'library': { | 720 'library': { |
710 'values': ['static', 'shared'], | 721 'values': ['static', 'shared'], |
711 'default': 'static', | 722 'default': 'static', |
712 'help': 'the type of library to produce' | 723 'help': 'the type of library to produce' |
713 }, | 724 }, |
714 'vmstate': { | 725 'vmstate': { |
715 'values': ['on', 'off'], | 726 'values': ['on', 'off'], |
716 'default': 'off', | 727 'default': 'off', |
717 'help': 'enable VM state tracking' | 728 'help': 'enable VM state tracking' |
718 }, | 729 }, |
(...skipping 10 matching lines...) Expand all Loading... |
729 'profilingsupport': { | 740 'profilingsupport': { |
730 'values': ['on', 'off'], | 741 'values': ['on', 'off'], |
731 'default': 'on', | 742 'default': 'on', |
732 'help': 'enable profiling of JavaScript code' | 743 'help': 'enable profiling of JavaScript code' |
733 }, | 744 }, |
734 'debuggersupport': { | 745 'debuggersupport': { |
735 'values': ['on', 'off'], | 746 'values': ['on', 'off'], |
736 'default': 'on', | 747 'default': 'on', |
737 'help': 'enable debugging of JavaScript code' | 748 'help': 'enable debugging of JavaScript code' |
738 }, | 749 }, |
| 750 'inspector': { |
| 751 'values': ['on', 'off'], |
| 752 'default': 'off', |
| 753 'help': 'enable inspector features' |
| 754 }, |
739 'soname': { | 755 'soname': { |
740 'values': ['on', 'off'], | 756 'values': ['on', 'off'], |
741 'default': 'off', | 757 'default': 'off', |
742 'help': 'turn on setting soname for Linux shared library' | 758 'help': 'turn on setting soname for Linux shared library' |
743 }, | 759 }, |
744 'msvcrt': { | 760 'msvcrt': { |
745 'values': ['static', 'shared'], | 761 'values': ['static', 'shared'], |
746 'default': 'static', | 762 'default': 'static', |
747 'help': 'the type of Microsoft Visual C++ runtime library to use' | 763 'help': 'the type of Microsoft Visual C++ runtime library to use' |
748 }, | 764 }, |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
865 | 881 |
866 def VerifyOptions(env): | 882 def VerifyOptions(env): |
867 if not IsLegal(env, 'mode', ['debug', 'release']): | 883 if not IsLegal(env, 'mode', ['debug', 'release']): |
868 return False | 884 return False |
869 if not IsLegal(env, 'sample', ["shell", "process", "lineprocessor"]): | 885 if not IsLegal(env, 'sample', ["shell", "process", "lineprocessor"]): |
870 return False | 886 return False |
871 if not IsLegal(env, 'regexp', ["native", "interpreted"]): | 887 if not IsLegal(env, 'regexp', ["native", "interpreted"]): |
872 return False | 888 return False |
873 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: | 889 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: |
874 Abort("Profiling on windows only supported for static library.") | 890 Abort("Profiling on windows only supported for static library.") |
| 891 if env['gdbjit'] == 'on' and (env['os'] != 'linux' or (env['arch'] != 'ia32' a
nd env['arch'] != 'x64')): |
| 892 Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64)
Linux target.") |
875 if env['prof'] == 'oprofile' and env['os'] != 'linux': | 893 if env['prof'] == 'oprofile' and env['os'] != 'linux': |
876 Abort("OProfile is only supported on Linux.") | 894 Abort("OProfile is only supported on Linux.") |
877 if env['os'] == 'win32' and env['soname'] == 'on': | 895 if env['os'] == 'win32' and env['soname'] == 'on': |
878 Abort("Shared Object soname not applicable for Windows.") | 896 Abort("Shared Object soname not applicable for Windows.") |
879 if env['soname'] == 'on' and env['library'] == 'static': | 897 if env['soname'] == 'on' and env['library'] == 'static': |
880 Abort("Shared Object soname not applicable for static library.") | 898 Abort("Shared Object soname not applicable for static library.") |
881 if env['os'] != 'win32' and env['pgo'] != 'off': | 899 if env['os'] != 'win32' and env['pgo'] != 'off': |
882 Abort("Profile guided optimization only supported on Windows.") | 900 Abort("Profile guided optimization only supported on Windows.") |
883 if env['cache'] and not os.path.isdir(env['cache']): | 901 if env['cache'] and not os.path.isdir(env['cache']): |
884 Abort("The specified cache directory does not exist.") | 902 Abort("The specified cache directory does not exist.") |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 # version of scons. Also, there's a bug in some revisions that | 1176 # version of scons. Also, there's a bug in some revisions that |
1159 # doesn't allow this flag to be set, so we swallow any exceptions. | 1177 # doesn't allow this flag to be set, so we swallow any exceptions. |
1160 # Lovely. | 1178 # Lovely. |
1161 try: | 1179 try: |
1162 SetOption('warn', 'no-deprecated') | 1180 SetOption('warn', 'no-deprecated') |
1163 except: | 1181 except: |
1164 pass | 1182 pass |
1165 | 1183 |
1166 | 1184 |
1167 Build() | 1185 Build() |
OLD | NEW |