| 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 'os:freebsd': { | 61 'os:freebsd': { |
| 62 'CCFLAGS': ['-ansi'], | 62 'CCFLAGS': ['-ansi'], |
| 63 }, | 63 }, |
| 64 'os:win32': { | 64 'os:win32': { |
| 65 'CCFLAGS': ['-DWIN32'], | 65 'CCFLAGS': ['-DWIN32'], |
| 66 'CXXFLAGS': ['-DWIN32'], | 66 'CXXFLAGS': ['-DWIN32'], |
| 67 }, | 67 }, |
| 68 'wordsize:64': { | 68 'wordsize:64': { |
| 69 'CCFLAGS': ['-m32'], | 69 'CCFLAGS': ['-m32'], |
| 70 'LINKFLAGS': ['-m32'] | 70 'LINKFLAGS': ['-m32'] |
| 71 }, |
| 72 'prof:oprofile': { |
| 73 'CPPDEFINES': ['ENABLE_OPROFILE_AGENT'] |
| 71 } | 74 } |
| 72 }, | 75 }, |
| 73 'msvc': { | 76 'msvc': { |
| 74 'all': { | 77 'all': { |
| 75 'DIALECTFLAGS': ['/nologo'], | 78 'DIALECTFLAGS': ['/nologo'], |
| 76 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], | 79 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], |
| 77 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], | 80 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], |
| 78 'CPPDEFINES': ['WIN32', '_USE_32BIT_TIME_T', 'PCRE_STATIC'], | 81 'CPPDEFINES': ['WIN32', '_USE_32BIT_TIME_T', 'PCRE_STATIC'], |
| 79 'LINKFLAGS': ['/NOLOGO', '/MACHINE:X86', '/INCREMENTAL:NO', | 82 'LINKFLAGS': ['/NOLOGO', '/MACHINE:X86', '/INCREMENTAL:NO', |
| 80 '/NXCOMPAT', '/IGNORE:4221'], | 83 '/NXCOMPAT', '/IGNORE:4221'], |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 }, | 245 }, |
| 243 'wordsize:64': { | 246 'wordsize:64': { |
| 244 'CCFLAGS': ['-m32'], | 247 'CCFLAGS': ['-m32'], |
| 245 'LINKFLAGS': ['-m32'] | 248 'LINKFLAGS': ['-m32'] |
| 246 }, | 249 }, |
| 247 'mode:release': { | 250 'mode:release': { |
| 248 'CCFLAGS': ['-O2'] | 251 'CCFLAGS': ['-O2'] |
| 249 }, | 252 }, |
| 250 'mode:debug': { | 253 'mode:debug': { |
| 251 'CCFLAGS': ['-g', '-O0'] | 254 'CCFLAGS': ['-g', '-O0'] |
| 255 }, |
| 256 'prof:oprofile': { |
| 257 'LIBPATH': ['/usr/lib32', '/usr/lib32/oprofile'], |
| 258 'LIBS': ['opagent'] |
| 252 } | 259 } |
| 253 }, | 260 }, |
| 254 'msvc': { | 261 'msvc': { |
| 255 'all': { | 262 'all': { |
| 256 'CCFLAGS': ['/nologo'], | 263 'CCFLAGS': ['/nologo'], |
| 257 'LINKFLAGS': ['/nologo'], | 264 'LINKFLAGS': ['/nologo'], |
| 258 'LIBS': ['winmm', 'ws2_32'] | 265 'LIBS': ['winmm', 'ws2_32'] |
| 259 }, | 266 }, |
| 260 'library:shared': { | 267 'library:shared': { |
| 261 'CPPDEFINES': ['USING_V8_SHARED'] | 268 'CPPDEFINES': ['USING_V8_SHARED'] |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 'values':['arm', 'ia32'], | 362 'values':['arm', 'ia32'], |
| 356 'default': ARCH_GUESS, | 363 'default': ARCH_GUESS, |
| 357 'help': 'the architecture to build for' | 364 'help': 'the architecture to build for' |
| 358 }, | 365 }, |
| 359 'snapshot': { | 366 'snapshot': { |
| 360 'values': ['on', 'off', 'nobuild'], | 367 'values': ['on', 'off', 'nobuild'], |
| 361 'default': 'off', | 368 'default': 'off', |
| 362 'help': 'build using snapshots for faster start-up' | 369 'help': 'build using snapshots for faster start-up' |
| 363 }, | 370 }, |
| 364 'prof': { | 371 'prof': { |
| 365 'values': ['on', 'off'], | 372 'values': ['on', 'off', 'oprofile'], |
| 366 'default': 'off', | 373 'default': 'off', |
| 367 'help': 'enable profiling of build target' | 374 'help': 'enable profiling of build target' |
| 368 }, | 375 }, |
| 369 'library': { | 376 'library': { |
| 370 'values': ['static', 'shared'], | 377 'values': ['static', 'shared'], |
| 371 'default': 'static', | 378 'default': 'static', |
| 372 'help': 'the type of library to produce' | 379 'help': 'the type of library to produce' |
| 373 }, | 380 }, |
| 374 'msvcrt': { | 381 'msvcrt': { |
| 375 'values': ['static', 'shared'], | 382 'values': ['static', 'shared'], |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 return True | 435 return True |
| 429 | 436 |
| 430 | 437 |
| 431 def VerifyOptions(env): | 438 def VerifyOptions(env): |
| 432 if not IsLegal(env, 'mode', ['debug', 'release']): | 439 if not IsLegal(env, 'mode', ['debug', 'release']): |
| 433 return False | 440 return False |
| 434 if not IsLegal(env, 'sample', ["shell", "process"]): | 441 if not IsLegal(env, 'sample', ["shell", "process"]): |
| 435 return False | 442 return False |
| 436 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: | 443 if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on'
: |
| 437 Abort("Profiling on windows only supported for static library.") | 444 Abort("Profiling on windows only supported for static library.") |
| 445 if env['prof'] == 'oprofile' and env['os'] != 'linux': |
| 446 Abort("OProfile is only supported on Linux.") |
| 438 for (name, option) in SIMPLE_OPTIONS.iteritems(): | 447 for (name, option) in SIMPLE_OPTIONS.iteritems(): |
| 439 if (not option.get('default')) and (name not in ARGUMENTS): | 448 if (not option.get('default')) and (name not in ARGUMENTS): |
| 440 message = ("A value for option %s must be specified (%s)." % | 449 message = ("A value for option %s must be specified (%s)." % |
| 441 (name, ", ".join(option['values']))) | 450 (name, ", ".join(option['values']))) |
| 442 Abort(message) | 451 Abort(message) |
| 443 if not env[name] in option['values']: | 452 if not env[name] in option['values']: |
| 444 message = ("Unknown %s value '%s'. Possible values are (%s)." % | 453 message = ("Unknown %s value '%s'. Possible values are (%s)." % |
| 445 (name, env[name], ", ".join(option['values']))) | 454 (name, env[name], ", ".join(option['values']))) |
| 446 Abort(message) | 455 Abort(message) |
| 447 | 456 |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 # version of scons. Also, there's a bug in some revisions that | 667 # version of scons. Also, there's a bug in some revisions that |
| 659 # doesn't allow this flag to be set, so we swallow any exceptions. | 668 # doesn't allow this flag to be set, so we swallow any exceptions. |
| 660 # Lovely. | 669 # Lovely. |
| 661 try: | 670 try: |
| 662 SetOption('warn', 'no-deprecated') | 671 SetOption('warn', 'no-deprecated') |
| 663 except: | 672 except: |
| 664 pass | 673 pass |
| 665 | 674 |
| 666 | 675 |
| 667 Build() | 676 Build() |
| OLD | NEW |