1# Copyright 2012 the V8 project authors. All rights reserved. 2# Redistribution and use in source and binary forms, with or without 3# modification, are permitted provided that the following conditions are 4# met: 5# 6# * Redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer. 8# * Redistributions in binary form must reproduce the above 9# copyright notice, this list of conditions and the following 10# disclaimer in the documentation and/or other materials provided 11# with the distribution. 12# * Neither the name of Google Inc. nor the names of its 13# contributors may be used to endorse or promote products derived 14# from this software without specific prior written permission. 15# 16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 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. 27 28{ 29 'variables': { 30 'v8_code': 1, 31 'generated_file': '<(SHARED_INTERMEDIATE_DIR)/resources.cc', 32 }, 33 'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'], 34 'targets': [ 35 { 36 'target_name': 'cctest', 37 'type': 'executable', 38 'dependencies': [ 39 'resources', 40 '../../tools/gyp/v8.gyp:v8_libplatform', 41 ], 42 'include_dirs': [ 43 '../..', 44 ], 45 'sources': [ ### gcmole(all) ### 46 '<(generated_file)', 47 'compiler/c-signature.h', 48 'compiler/codegen-tester.cc', 49 'compiler/codegen-tester.h', 50 'compiler/function-tester.h', 51 'compiler/graph-builder-tester.cc', 52 'compiler/graph-builder-tester.h', 53 'compiler/graph-tester.h', 54 'compiler/simplified-graph-builder.cc', 55 'compiler/simplified-graph-builder.h', 56 'compiler/test-branch-combine.cc', 57 'compiler/test-changes-lowering.cc', 58 'compiler/test-codegen-deopt.cc', 59 'compiler/test-gap-resolver.cc', 60 'compiler/test-graph-reducer.cc', 61 'compiler/test-instruction.cc', 62 'compiler/test-js-context-specialization.cc', 63 'compiler/test-js-constant-cache.cc', 64 'compiler/test-js-typed-lowering.cc', 65 'compiler/test-linkage.cc', 66 'compiler/test-machine-operator-reducer.cc', 67 'compiler/test-node-algorithm.cc', 68 'compiler/test-node-cache.cc', 69 'compiler/test-node.cc', 70 'compiler/test-operator.cc', 71 'compiler/test-phi-reducer.cc', 72 'compiler/test-pipeline.cc', 73 'compiler/test-representation-change.cc', 74 'compiler/test-run-deopt.cc', 75 'compiler/test-run-inlining.cc', 76 'compiler/test-run-intrinsics.cc', 77 'compiler/test-run-jsbranches.cc', 78 'compiler/test-run-jscalls.cc', 79 'compiler/test-run-jsexceptions.cc', 80 'compiler/test-run-jsops.cc', 81 'compiler/test-run-machops.cc', 82 'compiler/test-run-properties.cc', 83 'compiler/test-run-variables.cc', 84 'compiler/test-schedule.cc', 85 'compiler/test-scheduler.cc', 86 'compiler/test-simplified-lowering.cc', 87 'cctest.cc', 88 'gay-fixed.cc', 89 'gay-precision.cc', 90 'gay-shortest.cc', 91 'print-extension.cc', 92 'profiler-extension.cc', 93 'test-accessors.cc', 94 'test-alloc.cc', 95 'test-api.cc', 96 'test-ast.cc', 97 'test-atomicops.cc', 98 'test-bignum.cc', 99 'test-bignum-dtoa.cc', 100 'test-checks.cc', 101 'test-circular-queue.cc', 102 'test-compiler.cc', 103 'test-constantpool.cc', 104 'test-conversions.cc', 105 'test-cpu-profiler.cc', 106 'test-dataflow.cc', 107 'test-date.cc', 108 'test-debug.cc', 109 'test-declarative-accessors.cc', 110 'test-decls.cc', 111 'test-deoptimization.cc', 112 'test-dictionary.cc', 113 'test-diy-fp.cc', 114 'test-double.cc', 115 'test-dtoa.cc', 116 'test-fast-dtoa.cc', 117 'test-fixed-dtoa.cc', 118 'test-flags.cc', 119 'test-func-name-inference.cc', 120 'test-gc-tracer.cc', 121 'test-global-handles.cc', 122 'test-global-object.cc', 123 'test-hashing.cc', 124 'test-hashmap.cc', 125 'test-heap.cc', 126 'test-heap-profiler.cc', 127 'test-hydrogen-types.cc', 128 'test-list.cc', 129 'test-liveedit.cc', 130 'test-lockers.cc', 131 'test-log.cc', 132 'test-microtask-delivery.cc', 133 'test-mark-compact.cc', 134 'test-mementos.cc', 135 'test-object-observe.cc', 136 'test-ordered-hash-table.cc', 137 'test-ostreams.cc', 138 'test-parsing.cc', 139 'test-platform.cc', 140 'test-profile-generator.cc', 141 'test-random-number-generator.cc', 142 'test-regexp.cc', 143 'test-reloc-info.cc', 144 'test-representation.cc', 145 'test-serialize.cc', 146 'test-spaces.cc', 147 'test-strings.cc', 148 'test-symbols.cc', 149 'test-strtod.cc', 150 'test-thread-termination.cc', 151 'test-threads.cc', 152 'test-types.cc', 153 'test-unbound-queue.cc', 154 'test-unique.cc', 155 'test-unscopables-hidden-prototype.cc', 156 'test-utils.cc', 157 'test-version.cc', 158 'test-weakmaps.cc', 159 'test-weaksets.cc', 160 'test-weaktypedarrays.cc', 161 'trace-extension.cc' 162 ], 163 'conditions': [ 164 ['v8_target_arch=="ia32"', { 165 'sources': [ ### gcmole(arch:ia32) ### 166 'test-assembler-ia32.cc', 167 'test-code-stubs.cc', 168 'test-code-stubs-ia32.cc', 169 'test-disasm-ia32.cc', 170 'test-macro-assembler-ia32.cc', 171 'test-log-stack-tracer.cc' 172 ], 173 }], 174 ['v8_target_arch=="x64"', { 175 'sources': [ ### gcmole(arch:x64) ### 176 'test-assembler-x64.cc', 177 'test-code-stubs.cc', 178 'test-code-stubs-x64.cc', 179 'test-disasm-x64.cc', 180 'test-macro-assembler-x64.cc', 181 'test-log-stack-tracer.cc' 182 ], 183 }], 184 ['v8_target_arch=="arm"', { 185 'sources': [ ### gcmole(arch:arm) ### 186 'test-assembler-arm.cc', 187 'test-code-stubs.cc', 188 'test-code-stubs-arm.cc', 189 'test-disasm-arm.cc', 190 'test-macro-assembler-arm.cc' 191 ], 192 }], 193 ['v8_target_arch=="arm64"', { 194 'sources': [ ### gcmole(arch:arm64) ### 195 'test-utils-arm64.cc', 196 'test-assembler-arm64.cc', 197 'test-code-stubs.cc', 198 'test-code-stubs-arm64.cc', 199 'test-disasm-arm64.cc', 200 'test-fuzz-arm64.cc', 201 'test-javascript-arm64.cc', 202 'test-js-arm64-variables.cc' 203 ], 204 }], 205 ['v8_target_arch=="mipsel"', { 206 'sources': [ ### gcmole(arch:mipsel) ### 207 'test-assembler-mips.cc', 208 'test-code-stubs.cc', 209 'test-code-stubs-mips.cc', 210 'test-disasm-mips.cc', 211 'test-macro-assembler-mips.cc' 212 ], 213 }], 214 ['v8_target_arch=="mips64el"', { 215 'sources': [ 216 'test-assembler-mips64.cc', 217 'test-code-stubs.cc', 218 'test-code-stubs-mips64.cc', 219 'test-disasm-mips64.cc', 220 'test-macro-assembler-mips64.cc' 221 ], 222 }], 223 ['v8_target_arch=="x87"', { 224 'sources': [ ### gcmole(arch:x87) ### 225 'test-assembler-x87.cc', 226 'test-code-stubs.cc', 227 'test-code-stubs-x87.cc', 228 'test-disasm-x87.cc', 229 'test-macro-assembler-x87.cc', 230 'test-log-stack-tracer.cc' 231 ], 232 }], 233 [ 'OS=="linux" or OS=="qnx"', { 234 'sources': [ 235 'test-platform-linux.cc', 236 ], 237 }], 238 [ 'OS=="win"', { 239 'sources': [ 240 'test-platform-win32.cc', 241 ], 242 'msvs_settings': { 243 'VCCLCompilerTool': { 244 # MSVS wants this for gay-{precision,shortest}.cc. 245 'AdditionalOptions': ['/bigobj'], 246 }, 247 }, 248 }], 249 ['component=="shared_library"', { 250 # cctest can't be built against a shared library, so we need to 251 # depend on the underlying static target in that case. 252 'conditions': [ 253 ['v8_use_snapshot=="true"', { 254 'dependencies': ['../../tools/gyp/v8.gyp:v8_snapshot'], 255 }, 256 { 257 'dependencies': [ 258 '../../tools/gyp/v8.gyp:v8_nosnapshot', 259 ], 260 }], 261 ], 262 }, { 263 'dependencies': ['../../tools/gyp/v8.gyp:v8'], 264 }], 265 ], 266 }, 267 { 268 'target_name': 'resources', 269 'type': 'none', 270 'variables': { 271 'file_list': [ 272 '../../tools/splaytree.js', 273 '../../tools/codemap.js', 274 '../../tools/csvparser.js', 275 '../../tools/consarray.js', 276 '../../tools/profile.js', 277 '../../tools/profile_view.js', 278 '../../tools/logreader.js', 279 'log-eq-of-logging-and-traversal.js', 280 ], 281 }, 282 'actions': [ 283 { 284 'action_name': 'js2c', 285 'inputs': [ 286 '../../tools/js2c.py', 287 '<@(file_list)', 288 ], 289 'outputs': [ 290 '<(generated_file)', 291 ], 292 'action': [ 293 'python', 294 '../../tools/js2c.py', 295 '<@(_outputs)', 296 'TEST', # type 297 'off', # compression 298 '<@(file_list)', 299 ], 300 } 301 ], 302 }, 303 ], 304} 305