| 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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 math.js | 90 math.js |
| 91 messages.js | 91 messages.js |
| 92 apinatives.js | 92 apinatives.js |
| 93 debug-delay.js | 93 debug-delay.js |
| 94 mirror-delay.js | 94 mirror-delay.js |
| 95 date-delay.js | 95 date-delay.js |
| 96 regexp-delay.js | 96 regexp-delay.js |
| 97 '''.split() | 97 '''.split() |
| 98 | 98 |
| 99 | 99 |
| 100 JSCRE_FILES = ''' | |
| 101 pcre_compile.cpp | |
| 102 pcre_exec.cpp | |
| 103 pcre_tables.cpp | |
| 104 pcre_ucp_searchfuncs.cpp | |
| 105 pcre_xclass.cpp | |
| 106 '''.split() | |
| 107 | |
| 108 | |
| 109 def Abort(message): | 100 def Abort(message): |
| 110 print message | 101 print message |
| 111 sys.exit(1) | 102 sys.exit(1) |
| 112 | 103 |
| 113 | 104 |
| 114 def ConfigureObjectFiles(): | 105 def ConfigureObjectFiles(): |
| 115 env = Environment() | 106 env = Environment() |
| 116 env.Replace(**context.flags['v8']) | 107 env.Replace(**context.flags['v8']) |
| 117 context.ApplyEnvOverrides(env) | 108 context.ApplyEnvOverrides(env) |
| 118 env['BUILDERS']['JS2C'] = Builder(action=js2c.JS2C) | 109 env['BUILDERS']['JS2C'] = Builder(action=js2c.JS2C) |
| 119 env['BUILDERS']['Snapshot'] = Builder(action='$SOURCE $TARGET --logfile "$LOGF
ILE"') | 110 env['BUILDERS']['Snapshot'] = Builder(action='$SOURCE $TARGET --logfile "$LOGF
ILE"') |
| 120 | 111 |
| 121 # Build the standard platform-independent source files. | 112 # Build the standard platform-independent source files. |
| 122 source_files = context.GetRelevantSources(SOURCES) | 113 source_files = context.GetRelevantSources(SOURCES) |
| 123 | 114 |
| 124 d8_files = context.GetRelevantSources(D8_FILES) | 115 d8_files = context.GetRelevantSources(D8_FILES) |
| 125 d8_js = env.JS2C('d8-js.cc', 'd8.js', TYPE='D8') | 116 d8_js = env.JS2C('d8-js.cc', 'd8.js', TYPE='D8') |
| 126 d8_js_obj = context.ConfigureObject(env, d8_js, CPPPATH=['.']) | 117 d8_js_obj = context.ConfigureObject(env, d8_js, CPPPATH=['.']) |
| 127 d8_objs = [context.ConfigureObject(env, [d8_files]), d8_js_obj] | 118 d8_objs = [context.ConfigureObject(env, [d8_files]), d8_js_obj] |
| 128 | 119 |
| 129 # Combine the JavaScript library files into a single C++ file and | 120 # Combine the JavaScript library files into a single C++ file and |
| 130 # compile it. | 121 # compile it. |
| 131 library_files = [s for s in LIBRARY_FILES] | 122 library_files = [s for s in LIBRARY_FILES] |
| 132 library_files.append('macros.py') | 123 library_files.append('macros.py') |
| 133 libraries_src, libraries_empty_src = env.JS2C(['libraries.cc', 'libraries-empt
y.cc'], library_files, TYPE='CORE') | 124 libraries_src, libraries_empty_src = env.JS2C(['libraries.cc', 'libraries-empt
y.cc'], library_files, TYPE='CORE') |
| 134 libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.']) | 125 libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.']) |
| 135 | 126 |
| 136 # Build JSCRE. | |
| 137 jscre_env = env.Copy() | |
| 138 jscre_env.Replace(**context.flags['jscre']) | |
| 139 jscre_files = [join('third_party', 'jscre', s) for s in JSCRE_FILES] | |
| 140 jscre_obj = context.ConfigureObject(jscre_env, jscre_files) | |
| 141 | |
| 142 # Build dtoa. | 127 # Build dtoa. |
| 143 dtoa_env = env.Copy() | 128 dtoa_env = env.Copy() |
| 144 dtoa_env.Replace(**context.flags['dtoa']) | 129 dtoa_env.Replace(**context.flags['dtoa']) |
| 145 dtoa_files = ['dtoa-config.c'] | 130 dtoa_files = ['dtoa-config.c'] |
| 146 dtoa_obj = context.ConfigureObject(dtoa_env, dtoa_files) | 131 dtoa_obj = context.ConfigureObject(dtoa_env, dtoa_files) |
| 147 | 132 |
| 148 source_objs = context.ConfigureObject(env, source_files) | 133 source_objs = context.ConfigureObject(env, source_files) |
| 149 non_snapshot_files = [jscre_obj, dtoa_obj, source_objs] | 134 non_snapshot_files = [dtoa_obj, source_objs] |
| 150 | 135 |
| 151 # Create snapshot if necessary. | 136 # Create snapshot if necessary. |
| 152 empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc') | 137 empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc') |
| 153 mksnapshot_env = env.Copy() | 138 mksnapshot_env = env.Copy() |
| 154 mksnapshot_env.Replace(**context.flags['mksnapshot']) | 139 mksnapshot_env.Replace(**context.flags['mksnapshot']) |
| 155 mksnapshot_src = 'mksnapshot.cc' | 140 mksnapshot_src = 'mksnapshot.cc' |
| 156 mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_o
bj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb') | 141 mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_o
bj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb') |
| 157 if context.use_snapshot: | 142 if context.use_snapshot: |
| 158 if context.build_snapshot: | 143 if context.build_snapshot: |
| 159 snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapsh
ot.log').abspath) | 144 snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapsh
ot.log').abspath) |
| 160 else: | 145 else: |
| 161 snapshot_cc = Command('snapshot.cc', [], []) | 146 snapshot_cc = Command('snapshot.cc', [], []) |
| 162 snapshot_obj = context.ConfigureObject(env, snapshot_cc, CPPPATH=['.']) | 147 snapshot_obj = context.ConfigureObject(env, snapshot_cc, CPPPATH=['.']) |
| 163 libraries_obj = context.ConfigureObject(env, libraries_empty_src, CPPPATH=['
.']) | 148 libraries_obj = context.ConfigureObject(env, libraries_empty_src, CPPPATH=['
.']) |
| 164 else: | 149 else: |
| 165 snapshot_obj = empty_snapshot_obj | 150 snapshot_obj = empty_snapshot_obj |
| 166 library_objs = [non_snapshot_files, libraries_obj, snapshot_obj] | 151 library_objs = [non_snapshot_files, libraries_obj, snapshot_obj] |
| 167 return (library_objs, d8_objs, [mksnapshot]) | 152 return (library_objs, d8_objs, [mksnapshot]) |
| 168 | 153 |
| 169 | 154 |
| 170 (library_objs, d8_objs, mksnapshot) = ConfigureObjectFiles() | 155 (library_objs, d8_objs, mksnapshot) = ConfigureObjectFiles() |
| 171 Return('library_objs d8_objs mksnapshot') | 156 Return('library_objs d8_objs mksnapshot') |
| OLD | NEW |