| 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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 '-Wl,--gc-sections', | 88 '-Wl,--gc-sections', |
| 89 '-Wl,-z,nocopyreloc', | 89 '-Wl,-z,nocopyreloc', |
| 90 '-Wl,-rpath-link=' + ANDROID_TOP + '/out/target/product/gen
eric/obj/lib', | 90 '-Wl,-rpath-link=' + ANDROID_TOP + '/out/target/product/gen
eric/obj/lib', |
| 91 ANDROID_TOP + '/out/target/product/generic/obj/lib/crtbegin
_dynamic.o', | 91 ANDROID_TOP + '/out/target/product/generic/obj/lib/crtbegin
_dynamic.o', |
| 92 ANDROID_TOP + '/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1
/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a', | 92 ANDROID_TOP + '/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1
/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a', |
| 93 ANDROID_TOP + '/out/target/product/generic/obj/lib/crtend_a
ndroid.o']; | 93 ANDROID_TOP + '/out/target/product/generic/obj/lib/crtend_a
ndroid.o']; |
| 94 | 94 |
| 95 LIBRARY_FLAGS = { | 95 LIBRARY_FLAGS = { |
| 96 'all': { | 96 'all': { |
| 97 'CPPDEFINES': ['ENABLE_LOGGING_AND_PROFILING'], | 97 'CPPDEFINES': ['ENABLE_LOGGING_AND_PROFILING'], |
| 98 'CPPPATH': [join(root_dir, 'src')] | 98 'CPPPATH': [join(root_dir, 'src')], |
| 99 'regexp:native': { |
| 100 'arch:ia32' : { |
| 101 'CPPDEFINES': ['V8_NATIVE_REGEXP'] |
| 102 } |
| 103 } |
| 99 }, | 104 }, |
| 100 'gcc': { | 105 'gcc': { |
| 101 'all': { | 106 'all': { |
| 102 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], | 107 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], |
| 103 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'], | 108 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'], |
| 104 }, | 109 }, |
| 105 'mode:debug': { | 110 'mode:debug': { |
| 106 'CCFLAGS': ['-g', '-O0'], | 111 'CCFLAGS': ['-g', '-O0'], |
| 107 'CPPDEFINES': ['ENABLE_DISASSEMBLER', 'DEBUG'], | 112 'CPPDEFINES': ['ENABLE_DISASSEMBLER', 'DEBUG'], |
| 108 'os:android': { | 113 'os:android': { |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 'os': { | 544 'os': { |
| 540 'values': ['freebsd', 'linux', 'macos', 'win32', 'android'], | 545 'values': ['freebsd', 'linux', 'macos', 'win32', 'android'], |
| 541 'default': OS_GUESS, | 546 'default': OS_GUESS, |
| 542 'help': 'the os to build for (' + OS_GUESS + ')' | 547 'help': 'the os to build for (' + OS_GUESS + ')' |
| 543 }, | 548 }, |
| 544 'arch': { | 549 'arch': { |
| 545 'values':['arm', 'ia32', 'x64'], | 550 'values':['arm', 'ia32', 'x64'], |
| 546 'default': ARCH_GUESS, | 551 'default': ARCH_GUESS, |
| 547 'help': 'the architecture to build for (' + ARCH_GUESS + ')' | 552 'help': 'the architecture to build for (' + ARCH_GUESS + ')' |
| 548 }, | 553 }, |
| 554 'regexp': { |
| 555 'values': ['native', 'interpreted'], |
| 556 'default': 'native', |
| 557 'help': 'Whether to use native or interpreted regexp implementation' |
| 558 }, |
| 549 'snapshot': { | 559 'snapshot': { |
| 550 'values': ['on', 'off', 'nobuild'], | 560 'values': ['on', 'off', 'nobuild'], |
| 551 'default': 'off', | 561 'default': 'off', |
| 552 'help': 'build using snapshots for faster start-up' | 562 'help': 'build using snapshots for faster start-up' |
| 553 }, | 563 }, |
| 554 'prof': { | 564 'prof': { |
| 555 'values': ['on', 'off', 'oprofile'], | 565 'values': ['on', 'off', 'oprofile'], |
| 556 'default': 'off', | 566 'default': 'off', |
| 557 'help': 'enable profiling of build target' | 567 'help': 'enable profiling of build target' |
| 558 }, | 568 }, |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 Abort("Illegal value for option %s '%s'." % (option, s)) | 680 Abort("Illegal value for option %s '%s'." % (option, s)) |
| 671 return False | 681 return False |
| 672 return True | 682 return True |
| 673 | 683 |
| 674 | 684 |
| 675 def VerifyOptions(env): | 685 def VerifyOptions(env): |
| 676 if not IsLegal(env, 'mode', ['debug', 'release']): | 686 if not IsLegal(env, 'mode', ['debug', 'release']): |
| 677 return False | 687 return False |
| 678 if not IsLegal(env, 'sample', ["shell", "process"]): | 688 if not IsLegal(env, 'sample', ["shell", "process"]): |
| 679 return False | 689 return False |
| 690 if not IsLegal(env, 'regexp', ["native", "interpreted"]): |
| 691 return False |
| 680 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: | 692 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: |
| 681 Abort("Profiling on windows only supported for static library.") | 693 Abort("Profiling on windows only supported for static library.") |
| 682 if env['prof'] == 'oprofile' and env['os'] != 'linux': | 694 if env['prof'] == 'oprofile' and env['os'] != 'linux': |
| 683 Abort("OProfile is only supported on Linux.") | 695 Abort("OProfile is only supported on Linux.") |
| 684 if env['os'] == 'win32' and env['soname'] == 'on': | 696 if env['os'] == 'win32' and env['soname'] == 'on': |
| 685 Abort("Shared Object soname not applicable for Windows.") | 697 Abort("Shared Object soname not applicable for Windows.") |
| 686 if env['soname'] == 'on' and env['library'] == 'static': | 698 if env['soname'] == 'on' and env['library'] == 'static': |
| 687 Abort("Shared Object soname not applicable for static library.") | 699 Abort("Shared Object soname not applicable for static library.") |
| 688 for (name, option) in SIMPLE_OPTIONS.iteritems(): | 700 for (name, option) in SIMPLE_OPTIONS.iteritems(): |
| 689 if (not option.get('default')) and (name not in ARGUMENTS): | 701 if (not option.get('default')) and (name not in ARGUMENTS): |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 926 # version of scons. Also, there's a bug in some revisions that | 938 # version of scons. Also, there's a bug in some revisions that |
| 927 # doesn't allow this flag to be set, so we swallow any exceptions. | 939 # doesn't allow this flag to be set, so we swallow any exceptions. |
| 928 # Lovely. | 940 # Lovely. |
| 929 try: | 941 try: |
| 930 SetOption('warn', 'no-deprecated') | 942 SetOption('warn', 'no-deprecated') |
| 931 except: | 943 except: |
| 932 pass | 944 pass |
| 933 | 945 |
| 934 | 946 |
| 935 Build() | 947 Build() |
| OLD | NEW |