}
+MKSNAPSHOT_EXTRA_FLAGS = {
+ 'gcc': {
+ 'os:linux': {
+ 'LIBS': ['pthread'],
+ },
+ 'os:macos': {
+ 'LIBS': ['pthread'],
+ },
+ 'os:freebsd': {
+ 'LIBS': ['pthread'],
+ },
+ 'os:win32': {
+ 'LIBS': ['winmm'],
+ },
+ },
+ 'msvc': {
+ 'all': {
+ 'LIBS': ['winmm']
+ }
+ }
+}
+
+
JSCRE_EXTRA_FLAGS = {
'gcc': {
'all': {
library_flags = context.AddRelevantFlags(os.environ, LIBRARY_FLAGS)
v8_flags = context.AddRelevantFlags(library_flags, V8_EXTRA_FLAGS)
+ mksnapshot_flags = context.AddRelevantFlags(library_flags, MKSNAPSHOT_EXTRA_FLAGS)
jscre_flags = context.AddRelevantFlags(library_flags, JSCRE_EXTRA_FLAGS)
dtoa_flags = context.AddRelevantFlags(library_flags, DTOA_EXTRA_FLAGS)
cctest_flags = context.AddRelevantFlags(v8_flags, CCTEST_EXTRA_FLAGS)
context.flags = {
'v8': v8_flags,
- 'mksnapshot': v8_flags,
+ 'mksnapshot': mksnapshot_flags,
'jscre': jscre_flags,
'dtoa': dtoa_flags,
'cctest': cctest_flags,
# Create snapshot if necessary.
empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc')
+ mksnapshot_env = env.Copy()
+ mksnapshot_env.Replace(**context.flags['mksnapshot'])
mksnapshot_src = 'mksnapshot.cc'
- mksnapshot = env.Program('mksnapshot', [mksnapshot_src, libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')
+ mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')
if context.use_snapshot:
if context.build_snapshot:
snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapshot.log').abspath)