| 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 11 matching lines...) Expand all Loading... |
| 22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | 27 |
| 28 import sys | 28 import sys |
| 29 from os.path import join, dirname, abspath | 29 from os.path import join, dirname, abspath |
| 30 root_dir = dirname(File('SConstruct').rfile().abspath) | 30 root_dir = dirname(File('SConstruct').rfile().abspath) |
| 31 sys.path.append(join(root_dir, 'tools')) | 31 sys.path.append(join(root_dir, 'tools')) |
| 32 import js2c |
| 32 Import('context object_files tools') | 33 Import('context object_files tools') |
| 33 | 34 |
| 34 | 35 |
| 36 # Needed for test-log. Paths are relative to the cctest dir. |
| 37 JS_FILES_FOR_TESTS = [ |
| 38 '../../../tools/splaytree.js', |
| 39 '../../../tools/codemap.js', |
| 40 '../../../tools/csvparser.js', |
| 41 '../../../tools/consarray.js', |
| 42 '../../../tools/profile.js', |
| 43 '../../../tools/profile_view.js', |
| 44 '../../../tools/logreader.js', |
| 45 'log-eq-of-logging-and-traversal.js', |
| 46 ] |
| 47 |
| 48 |
| 35 SOURCES = { | 49 SOURCES = { |
| 36 'all': [ | 50 'all': [ |
| 37 'gay-fixed.cc', | 51 'gay-fixed.cc', |
| 38 'gay-precision.cc', | 52 'gay-precision.cc', |
| 39 'gay-shortest.cc', | 53 'gay-shortest.cc', |
| 40 'test-accessors.cc', | 54 'test-accessors.cc', |
| 41 'test-alloc.cc', | 55 'test-alloc.cc', |
| 42 'test-api.cc', | 56 'test-api.cc', |
| 43 'test-ast.cc', | 57 'test-ast.cc', |
| 44 'test-bignum-dtoa.cc', | 58 'test-bignum-dtoa.cc', |
| 45 'test-bignum.cc', | 59 'test-bignum.cc', |
| 46 'test-circular-queue.cc', | 60 'test-circular-queue.cc', |
| 47 'test-compiler.cc', | 61 'test-compiler.cc', |
| 48 'test-conversions.cc', | 62 'test-conversions.cc', |
| 49 'test-cpu-profiler.cc', | 63 'test-cpu-profiler.cc', |
| 50 'test-dataflow.cc', | 64 'test-dataflow.cc', |
| 51 'test-debug.cc', | 65 'test-debug.cc', |
| 52 'test-decls.cc', | 66 'test-decls.cc', |
| 53 'test-deoptimization.cc', | 67 'test-deoptimization.cc', |
| 68 'test-dictionary.cc', |
| 54 'test-diy-fp.cc', | 69 'test-diy-fp.cc', |
| 55 'test-double.cc', | 70 'test-double.cc', |
| 56 'test-dtoa.cc', | 71 'test-dtoa.cc', |
| 57 'test-fast-dtoa.cc', | 72 'test-fast-dtoa.cc', |
| 58 'test-fixed-dtoa.cc', | 73 'test-fixed-dtoa.cc', |
| 59 'test-flags.cc', | 74 'test-flags.cc', |
| 60 'test-func-name-inference.cc', | 75 'test-func-name-inference.cc', |
| 61 'test-hashmap.cc', | 76 'test-hashmap.cc', |
| 62 'test-heap-profiler.cc', | 77 'test-heap-profiler.cc', |
| 63 'test-heap.cc', | 78 'test-heap.cc', |
| 64 'test-list.cc', | 79 'test-list.cc', |
| 65 'test-liveedit.cc', | 80 'test-liveedit.cc', |
| 66 'test-lock.cc', | 81 'test-lock.cc', |
| 67 'test-lockers.cc', | 82 'test-lockers.cc', |
| 68 'test-log-utils.cc', | |
| 69 'test-log.cc', | 83 'test-log.cc', |
| 70 'test-mark-compact.cc', | 84 'test-mark-compact.cc', |
| 71 'test-parsing.cc', | 85 'test-parsing.cc', |
| 72 'test-platform-tls.cc', | 86 'test-platform-tls.cc', |
| 73 'test-profile-generator.cc', | 87 'test-profile-generator.cc', |
| 74 'test-regexp.cc', | 88 'test-regexp.cc', |
| 75 'test-reloc-info.cc', | 89 'test-reloc-info.cc', |
| 76 'test-serialize.cc', | 90 'test-serialize.cc', |
| 77 'test-sockets.cc', | 91 'test-sockets.cc', |
| 78 'test-spaces.cc', | 92 'test-spaces.cc', |
| (...skipping 24 matching lines...) Expand all Loading... |
| 103 'os:nullos': ['test-platform-nullos.cc'], | 117 'os:nullos': ['test-platform-nullos.cc'], |
| 104 'os:win32': ['test-platform-win32.cc'] | 118 'os:win32': ['test-platform-win32.cc'] |
| 105 } | 119 } |
| 106 | 120 |
| 107 | 121 |
| 108 def Build(): | 122 def Build(): |
| 109 cctest_files = context.GetRelevantSources(SOURCES) | 123 cctest_files = context.GetRelevantSources(SOURCES) |
| 110 env = Environment(tools=tools) | 124 env = Environment(tools=tools) |
| 111 env.Replace(**context.flags['cctest']) | 125 env.Replace(**context.flags['cctest']) |
| 112 context.ApplyEnvOverrides(env) | 126 context.ApplyEnvOverrides(env) |
| 127 env['BUILDERS']['JS2C'] = Builder(action=js2c.JS2C) |
| 128 |
| 129 # Combine the JavaScript library files into a single C++ file and |
| 130 # compile it. |
| 131 js_files = [s for s in JS_FILES_FOR_TESTS] |
| 132 js_files_src = env.JS2C( |
| 133 ['js-files-for-cctest.cc'], js_files, **{'TYPE': 'TEST', 'COMPRESSION': 'off
'}) |
| 134 js_files_obj = context.ConfigureObject(env, js_files_src, CPPPATH=['.']) |
| 135 |
| 113 # There seems to be a glitch in the way scons decides where to put | 136 # There seems to be a glitch in the way scons decides where to put |
| 114 # PDB files when compiling using MSVC so we specify it manually. | 137 # PDB files when compiling using MSVC so we specify it manually. |
| 115 # This should not affect any other platforms. | 138 # This should not affect any other platforms. |
| 139 object_files.append(js_files_obj) |
| 116 return env.Program('cctest', ['cctest.cc', cctest_files, object_files], | 140 return env.Program('cctest', ['cctest.cc', cctest_files, object_files], |
| 117 PDB='cctest.exe.pdb') | 141 PDB='cctest.exe.pdb') |
| 118 | 142 |
| 119 | 143 |
| 120 program = Build() | 144 program = Build() |
| 121 Return('program') | 145 Return('program') |
| OLD | NEW |