Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: SConstruct

Issue 6901090: Add support for startup data (snapshot) compression. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: The version I'll commit Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | include/v8.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 'CPPDEFINES': ['__mips_soft_float=1'], 206 'CPPDEFINES': ['__mips_soft_float=1'],
207 } 207 }
208 }, 208 },
209 'arch:x64': { 209 'arch:x64': {
210 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], 210 'CPPDEFINES': ['V8_TARGET_ARCH_X64'],
211 'CCFLAGS': ['-m64'], 211 'CCFLAGS': ['-m64'],
212 'LINKFLAGS': ['-m64'], 212 'LINKFLAGS': ['-m64'],
213 }, 213 },
214 'gdbjit:on': { 214 'gdbjit:on': {
215 'CPPDEFINES': ['ENABLE_GDB_JIT_INTERFACE'] 215 'CPPDEFINES': ['ENABLE_GDB_JIT_INTERFACE']
216 },
217 'compress_startup_data:bz2': {
218 'CPPDEFINES': ['COMPRESS_STARTUP_DATA_BZ2']
216 } 219 }
217 }, 220 },
218 'msvc': { 221 'msvc': {
219 'all': { 222 'all': {
220 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], 223 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
221 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], 224 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'],
222 'CPPDEFINES': ['WIN32'], 225 'CPPDEFINES': ['WIN32'],
223 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'], 226 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'],
224 'CCPDBFLAGS': ['/Zi'] 227 'CCPDBFLAGS': ['/Zi']
225 }, 228 },
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 'os:solaris': { 351 'os:solaris': {
349 'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'], 352 'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
350 'LINKFLAGS': ['-mt'] 353 'LINKFLAGS': ['-mt']
351 }, 354 },
352 'os:openbsd': { 355 'os:openbsd': {
353 'LIBS': ['execinfo', 'pthread'] 356 'LIBS': ['execinfo', 'pthread']
354 }, 357 },
355 'os:win32': { 358 'os:win32': {
356 'LIBS': ['winmm', 'ws2_32'], 359 'LIBS': ['winmm', 'ws2_32'],
357 }, 360 },
361 'compress_startup_data:bz2': {
362 'os:linux': {
363 'LIBS': ['bz2']
364 }
365 },
358 }, 366 },
359 'msvc': { 367 'msvc': {
360 'all': { 368 'all': {
361 'CPPDEFINES': ['_HAS_EXCEPTIONS=0'], 369 'CPPDEFINES': ['_HAS_EXCEPTIONS=0'],
362 'LIBS': ['winmm', 'ws2_32'] 370 'LIBS': ['winmm', 'ws2_32']
363 } 371 }
364 } 372 }
365 } 373 }
366 374
367 375
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 'CCFLAGS': ['-m32'], 513 'CCFLAGS': ['-m32'],
506 'LINKFLAGS': ['-m32'] 514 'LINKFLAGS': ['-m32']
507 }, 515 },
508 'mode:release': { 516 'mode:release': {
509 'CCFLAGS': ['-O2'] 517 'CCFLAGS': ['-O2']
510 }, 518 },
511 'mode:debug': { 519 'mode:debug': {
512 'CCFLAGS': ['-g', '-O0'], 520 'CCFLAGS': ['-g', '-O0'],
513 'CPPDEFINES': ['DEBUG'] 521 'CPPDEFINES': ['DEBUG']
514 }, 522 },
523 'compress_startup_data:bz2': {
524 'CPPDEFINES': ['COMPRESS_STARTUP_DATA_BZ2'],
525 'os:linux': {
526 'LIBS': ['bz2']
527 }
528 },
515 }, 529 },
516 'msvc': { 530 'msvc': {
517 'all': { 531 'all': {
518 'LIBS': ['winmm', 'ws2_32'] 532 'LIBS': ['winmm', 'ws2_32']
519 }, 533 },
520 'verbose:off': { 534 'verbose:off': {
521 'CCFLAGS': ['/nologo'], 535 'CCFLAGS': ['/nologo'],
522 'LINKFLAGS': ['/NOLOGO'] 536 'LINKFLAGS': ['/NOLOGO']
523 }, 537 },
524 'verbose:on': { 538 'verbose:on': {
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 }, 982 },
969 'mipsabi': { 983 'mipsabi': {
970 'values': ['hardfloat', 'softfloat', 'none'], 984 'values': ['hardfloat', 'softfloat', 'none'],
971 'default': 'hardfloat', 985 'default': 'hardfloat',
972 'help': 'generate calling conventiont according to selected mips ABI' 986 'help': 'generate calling conventiont according to selected mips ABI'
973 }, 987 },
974 'mips_arch_variant': { 988 'mips_arch_variant': {
975 'values': ['mips32r2', 'mips32r1'], 989 'values': ['mips32r2', 'mips32r1'],
976 'default': 'mips32r2', 990 'default': 'mips32r2',
977 'help': 'mips variant' 991 'help': 'mips variant'
978 } 992 },
993 'compress_startup_data': {
994 'values': ['off', 'bz2'],
995 'default': 'off',
996 'help': 'compress startup data (snapshot) [Linux only]'
997 },
979 } 998 }
980 999
981 ALL_OPTIONS = dict(PLATFORM_OPTIONS, **SIMPLE_OPTIONS) 1000 ALL_OPTIONS = dict(PLATFORM_OPTIONS, **SIMPLE_OPTIONS)
982 1001
983 1002
984 def AddOptions(options, result): 1003 def AddOptions(options, result):
985 guess_env = Environment(options=result) 1004 guess_env = Environment(options=result)
986 for (name, option) in options.iteritems(): 1005 for (name, option) in options.iteritems():
987 if 'guess' in option: 1006 if 'guess' in option:
988 # Option has a guess function 1007 # Option has a guess function
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 if env['soname'] == 'on' and env['library'] == 'static': 1110 if env['soname'] == 'on' and env['library'] == 'static':
1092 Abort("Shared Object soname not applicable for static library.") 1111 Abort("Shared Object soname not applicable for static library.")
1093 if env['os'] != 'win32' and env['pgo'] != 'off': 1112 if env['os'] != 'win32' and env['pgo'] != 'off':
1094 Abort("Profile guided optimization only supported on Windows.") 1113 Abort("Profile guided optimization only supported on Windows.")
1095 if env['cache'] and not os.path.isdir(env['cache']): 1114 if env['cache'] and not os.path.isdir(env['cache']):
1096 Abort("The specified cache directory does not exist.") 1115 Abort("The specified cache directory does not exist.")
1097 if not (env['arch'] == 'arm' or env['simulator'] == 'arm') and ('unalignedacce sses' in ARGUMENTS): 1116 if not (env['arch'] == 'arm' or env['simulator'] == 'arm') and ('unalignedacce sses' in ARGUMENTS):
1098 print env['arch'] 1117 print env['arch']
1099 print env['simulator'] 1118 print env['simulator']
1100 Abort("Option unalignedaccesses only supported for the ARM architecture.") 1119 Abort("Option unalignedaccesses only supported for the ARM architecture.")
1120 if env['os'] != 'linux' and env['compress_startup_data'] != 'off':
1121 Abort("Startup data compression is only available on Linux")
1101 for (name, option) in ALL_OPTIONS.iteritems(): 1122 for (name, option) in ALL_OPTIONS.iteritems():
1102 if (not name in env): 1123 if (not name in env):
1103 message = ("A value for option %s must be specified (%s)." % 1124 message = ("A value for option %s must be specified (%s)." %
1104 (name, ", ".join(option['values']))) 1125 (name, ", ".join(option['values'])))
1105 Abort(message) 1126 Abort(message)
1106 if not env[name] in option['values']: 1127 if not env[name] in option['values']:
1107 message = ("Unknown %s value '%s'. Possible values are (%s)." % 1128 message = ("Unknown %s value '%s'. Possible values are (%s)." %
1108 (name, env[name], ", ".join(option['values']))) 1129 (name, env[name], ", ".join(option['values'])))
1109 Abort(message) 1130 Abort(message)
1110 1131
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 # version of scons. Also, there's a bug in some revisions that 1430 # version of scons. Also, there's a bug in some revisions that
1410 # doesn't allow this flag to be set, so we swallow any exceptions. 1431 # doesn't allow this flag to be set, so we swallow any exceptions.
1411 # Lovely. 1432 # Lovely.
1412 try: 1433 try:
1413 SetOption('warn', 'no-deprecated') 1434 SetOption('warn', 'no-deprecated')
1414 except: 1435 except:
1415 pass 1436 pass
1416 1437
1417 1438
1418 Build() 1439 Build()
OLDNEW
« no previous file with comments | « no previous file | include/v8.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698