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