# Copyright 2012 the V8 project authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of Google Inc. nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# The sources are kept automatically in sync with BUILD.gn.

{
  'variables': {
    'v8_code': 1,
    'generated_file': '<(SHARED_INTERMEDIATE_DIR)/resources.cc',
    'cctest_sources': [  ### gcmole(all) ###
      'compiler/c-signature.h',
      'compiler/call-tester.h',
      'compiler/codegen-tester.cc',
      'compiler/codegen-tester.h',
      'compiler/code-assembler-tester.h',
      'compiler/function-tester.cc',
      'compiler/function-tester.h',
      'compiler/graph-builder-tester.h',
      'compiler/test-basic-block-profiler.cc',
      'compiler/test-branch-combine.cc',
      'compiler/test-run-unwinding-info.cc',
      'compiler/test-gap-resolver.cc',
      'compiler/test-graph-visualizer.cc',
      'compiler/test-code-generator.cc',
      'compiler/test-code-assembler.cc',
      'compiler/test-instruction.cc',
      'compiler/test-js-context-specialization.cc',
      'compiler/test-js-constant-cache.cc',
      'compiler/test-js-typed-lowering.cc',
      'compiler/test-jump-threading.cc',
      'compiler/test-linkage.cc',
      'compiler/test-loop-analysis.cc',
      'compiler/test-machine-operator-reducer.cc',
      'compiler/test-multiple-return.cc',
      'compiler/test-node.cc',
      'compiler/test-operator.cc',
      'compiler/test-representation-change.cc',
      'compiler/test-run-bytecode-graph-builder.cc',
      'compiler/test-run-calls-to-external-references.cc',
      'compiler/test-run-deopt.cc',
      'compiler/test-run-intrinsics.cc',
      'compiler/test-run-jsbranches.cc',
      'compiler/test-run-jscalls.cc',
      'compiler/test-run-jsexceptions.cc',
      'compiler/test-run-jsobjects.cc',
      'compiler/test-run-jsops.cc',
      'compiler/test-run-load-store.cc',
      'compiler/test-run-machops.cc',
      'compiler/test-run-native-calls.cc',
      'compiler/test-run-retpoline.cc',
      'compiler/test-run-stackcheck.cc',
      'compiler/test-run-stubs.cc',
      'compiler/test-run-tail-calls.cc',
      'compiler/test-run-variables.cc',
      'compiler/test-run-wasm-machops.cc',
      'compiler/value-helper.cc',
      'compiler/value-helper.h',
      'cctest.cc',
      'cctest.h',
      'expression-type-collector-macros.h',
      'gay-fixed.cc',
      'gay-fixed.h',
      'gay-precision.cc',
      'gay-precision.h',
      'gay-shortest.cc',
      'gay-shortest.h',
      'heap/heap-tester.h',
      'heap/heap-utils.cc',
      'heap/heap-utils.h',
      'heap/test-alloc.cc',
      'heap/test-array-buffer-tracker.cc',
      'heap/test-compaction.cc',
      'heap/test-concurrent-marking.cc',
      'heap/test-embedder-tracing.cc',
      'heap/test-heap.cc',
      'heap/test-incremental-marking.cc',
      'heap/test-invalidated-slots.cc',
      'heap/test-lab.cc',
      'heap/test-mark-compact.cc',
      'heap/test-page-promotion.cc',
      'heap/test-spaces.cc',
      'interpreter/interpreter-tester.cc',
      'interpreter/interpreter-tester.h',
      'interpreter/source-position-matcher.cc',
      'interpreter/source-position-matcher.h',
      'interpreter/test-bytecode-generator.cc',
      'interpreter/test-interpreter.cc',
      'interpreter/test-interpreter-intrinsics.cc',
      'interpreter/test-source-positions.cc',
      'interpreter/bytecode-expectations-printer.cc',
      'interpreter/bytecode-expectations-printer.h',
      'libplatform/test-tracing.cc',
      'libsampler/test-sampler.cc',
      'parsing/test-parse-decision.cc',
      'parsing/test-preparser.cc',
      'parsing/test-scanner-streams.cc',
      'parsing/test-scanner.cc',
      'print-extension.cc',
      'print-extension.h',
      'profiler-extension.cc',
      'profiler-extension.h',
      'scope-test-helper.h',
      'setup-isolate-for-tests.cc',
      'setup-isolate-for-tests.h',
      'test-access-checks.cc',
      'test-accessor-assembler.cc',
      'test-accessors.cc',
      'test-allocation.cc',
      'test-api.cc',
      'test-api.h',
      'test-api-accessors.cc',
      'test-api-interceptors.cc',
      'test-array-list.cc',
      'test-atomicops.cc',
      'test-bignum.cc',
      'test-bignum-dtoa.cc',
      'test-bit-vector.cc',
      'test-circular-queue.cc',
      'test-code-layout.cc',
      'test-code-stub-assembler.cc',
      'test-compiler.cc',
      'test-constantpool.cc',
      'test-conversions.cc',
      'test-cpu-profiler.cc',
      'test-date.cc',
      'test-debug.cc',
      'test-decls.cc',
      'test-deoptimization.cc',
      'test-dictionary.cc',
      'test-diy-fp.cc',
      'test-double.cc',
      'test-dtoa.cc',
      'test-elements-kind.cc',
      'test-fast-dtoa.cc',
      'test-feedback-vector.cc',
      'test-feedback-vector.h',
      'test-field-type-tracking.cc',
      'test-fixed-dtoa.cc',
      'test-flags.cc',
      'test-func-name-inference.cc',
      'test-global-handles.cc',
      'test-global-object.cc',
      'test-hashcode.cc',
      'test-hashmap.cc',
      'test-heap-profiler.cc',
      'test-identity-map.cc',
      'test-intl.cc',
      'test-inobject-slack-tracking.cc',
      'test-liveedit.cc',
      'test-lockers.cc',
      'test-log.cc',
      'test-managed.cc',
      'test-mementos.cc',
      'test-modules.cc',
      'test-object.cc',
      'test-orderedhashtable.cc',
      'test-parsing.cc',
      'test-platform.cc',
      'test-profile-generator.cc',
      'test-random-number-generator.cc',
      'test-regexp.cc',
      'test-representation.cc',
      'test-sampler-api.cc',
      'test-serialize.cc',
      'test-strings.cc',
      'test-symbols.cc',
      'test-strtod.cc',
      'test-thread-termination.cc',
      'test-threads.cc',
      'test-trace-event.cc',
      'test-traced-value.cc',
      'test-transitions.cc',
      'test-transitions.h',
      'test-typedarrays.cc',
      'test-types.cc',
      'test-unbound-queue.cc',
      'test-unboxed-doubles.cc',
      'test-unscopables-hidden-prototype.cc',
      'test-usecounters.cc',
      'test-utils.cc',
      'test-version.cc',
      'test-weakmaps.cc',
      'test-weaksets.cc',
      'trace-extension.cc',
      'trace-extension.h',
      'types-fuzz.h',
      'unicode-helpers.h',
      'wasm/test-c-wasm-entry.cc',
      'wasm/test-streaming-compilation.cc',
      'wasm/test-run-wasm.cc',
      'wasm/test-run-wasm-64.cc',
      'wasm/test-run-wasm-asmjs.cc',
      'wasm/test-run-wasm-atomics.cc',
      'wasm/test-run-wasm-interpreter.cc',
      'wasm/test-run-wasm-js.cc',
      'wasm/test-run-wasm-module.cc',
      'wasm/test-run-wasm-relocation.cc',
      'wasm/test-run-wasm-simd.cc',
      'wasm/test-wasm-breakpoints.cc',
      "wasm/test-wasm-codegen.cc",
      'wasm/test-wasm-interpreter-entry.cc',
      'wasm/test-wasm-stack.cc',
      'wasm/test-wasm-trap-position.cc',
      'wasm/wasm-run-utils.cc',
      'wasm/wasm-run-utils.h',
    ],
    'cctest_sources_ia32': [  ### gcmole(arch:ia32) ###
      'test-assembler-ia32.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-ia32.cc',
      'test-disasm-ia32.cc',
      'test-log-stack-tracer.cc',
      'test-run-wasm-relocation-ia32.cc',
    ],
    'cctest_sources_x64': [  ### gcmole(arch:x64) ###
      'test-assembler-x64.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-x64.cc',
      'test-disasm-x64.cc',
      'test-macro-assembler-x64.cc',
      'test-log-stack-tracer.cc',
      'test-run-wasm-relocation-x64.cc',
    ],
    'cctest_sources_arm': [  ### gcmole(arch:arm) ###
      'assembler-helper-arm.cc',
      'assembler-helper-arm.h',
      'test-assembler-arm.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-arm.cc',
      'test-disasm-arm.cc',
      'test-macro-assembler-arm.cc',
      'test-run-wasm-relocation-arm.cc',
      'test-sync-primitives-arm.cc',
    ],
    'cctest_sources_arm64': [  ### gcmole(arch:arm64) ###
      'test-utils-arm64.cc',
      'test-utils-arm64.h',
      'test-assembler-arm64.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-arm64.cc',
      'test-disasm-arm64.cc',
      'test-fuzz-arm64.cc',
      'test-javascript-arm64.cc',
      'test-js-arm64-variables.cc',
      'test-run-wasm-relocation-arm64.cc',
      'test-sync-primitives-arm64.cc',
    ],
    'cctest_sources_s390': [  ### gcmole(arch:s390) ###
      'test-assembler-s390.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-disasm-s390.cc',
    ],
    'cctest_sources_ppc': [  ### gcmole(arch:ppc) ###
      'test-assembler-ppc.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-disasm-ppc.cc',
    ],
    'cctest_sources_mips': [  ### gcmole(arch:mips) ###
      'test-assembler-mips.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-mips.cc',
      'test-disasm-mips.cc',
      'test-macro-assembler-mips.cc',
    ],
    'cctest_sources_mipsel': [  ### gcmole(arch:mipsel) ###
      'test-assembler-mips.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-mips.cc',
      'test-disasm-mips.cc',
      'test-macro-assembler-mips.cc',
    ],
    'cctest_sources_mips64': [  ### gcmole(arch:mips64) ###
      'test-assembler-mips64.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-mips64.cc',
      'test-disasm-mips64.cc',
      'test-macro-assembler-mips64.cc',
    ],
    'cctest_sources_mips64el': [  ### gcmole(arch:mips64el) ###
      'test-assembler-mips64.cc',
      'test-code-stubs.cc',
      'test-code-stubs.h',
      'test-code-stubs-mips64.cc',
      'test-disasm-mips64.cc',
      'test-macro-assembler-mips64.cc',
    ],
  },
  'includes': ['../../gypfiles/toolchain.gypi', '../../gypfiles/features.gypi'],
  'targets': [
    {
      'target_name': 'cctest',
      'type': 'executable',
      'dependencies': [
        'resources',
        '../../src/v8.gyp:v8_libbase',
        '../../src/v8.gyp:v8_libplatform',
      ],
      'include_dirs': [
        '../..',
      ],
      'sources': [
        '../common/wasm/flag-utils.h',
        '../common/wasm/test-signatures.h',
        '../common/wasm/wasm-macro-gen.h',
        '../common/wasm/wasm-module-runner.cc',
        '../common/wasm/wasm-module-runner.h',
        '<@(cctest_sources)',
        '<(generated_file)',
      ],
      'conditions': [
        ['v8_target_arch=="ia32"', {
          'sources': [
            '<@(cctest_sources_ia32)',
          ],
        }],
        ['v8_target_arch=="x64"', {
          'sources': [
            '<@(cctest_sources_x64)',
          ],
        }],
        ['v8_target_arch=="arm"', {
          'sources': [
            '<@(cctest_sources_arm)',
          ],
        }],
        ['v8_target_arch=="arm64"', {
          'sources': [
            '<@(cctest_sources_arm64)',
          ],
        }],
        ['v8_target_arch=="s390"', {
          'sources': [
            '<@(cctest_sources_s390)',
          ],
        }],
        ['v8_target_arch=="s390x"', {
          'sources': [
            '<@(cctest_sources_s390)',
          ],
        }],
        ['v8_target_arch=="ppc"', {
          'sources': [
            '<@(cctest_sources_ppc)',
          ],
        }],
        ['v8_target_arch=="ppc64"', {
          'sources': [
            '<@(cctest_sources_ppc)',
          ],
        }],
        ['v8_target_arch=="mips"', {
          'sources': [
            '<@(cctest_sources_mips)',
          ],
        }],
        ['v8_target_arch=="mipsel"', {
          'sources': [
            '<@(cctest_sources_mipsel)',
          ],
        }],
        ['v8_target_arch=="mips64"', {
          'sources': [
            '<@(cctest_sources_mips64)',
          ],
        }],
        ['v8_target_arch=="mips64el"', {
          'sources': [
            '<@(cctest_sources_mips64el)',
          ],
        }],
        [ 'OS=="win"', {
          'msvs_settings': {
            'VCCLCompilerTool': {
              # MSVS wants this for gay-{precision,shortest}.cc.
              'AdditionalOptions': ['/bigobj'],
            },
          },
        }],
        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64" \
          or v8_target_arch=="arm" or v8_target_arch=="arm64" \
          or v8_target_arch=="s390" or v8_target_arch=="s390x" \
          or v8_target_arch=="mips" or v8_target_arch=="mips64" \
          or v8_target_arch=="mipsel" or v8_target_arch=="mips64el"', {
          # disable fmadd/fmsub so that expected results match generated code in
          # RunFloat64MulAndFloat64Add1 and friends.
          'cflags': ['-ffp-contract=off'],
        }],
        ['OS=="aix"', {
          'ldflags': [ '-Wl,-bbigtoc' ],
        }],
        ['component=="shared_library"', {
          # cctest can't be built against a shared library, so we need to
          # depend on the underlying static target in that case.
          'dependencies': ['../../src/v8.gyp:v8_maybe_snapshot'],
          'defines': [ 'BUILDING_V8_SHARED', ]
        }, {
          'dependencies': ['../../src/v8.gyp:v8'],
        }],
        ['v8_use_snapshot=="true"', {
          'dependencies': ['../../src/v8.gyp:v8_initializers'],
        }],
      ],
    },
    {
      'target_name': 'resources',
      'type': 'none',
      'variables': {
        'file_list': [
           '../../tools/splaytree.js',
           '../../tools/codemap.js',
           '../../tools/csvparser.js',
           '../../tools/consarray.js',
           '../../tools/profile.js',
           '../../tools/profile_view.js',
           '../../tools/arguments.js',
           '../../tools/logreader.js',
           'log-eq-of-logging-and-traversal.js',
        ],
      },
      'actions': [
        {
          'action_name': 'js2c',
          'inputs': [
            '../../tools/js2c.py',
            '<@(file_list)',
          ],
          'outputs': [
            '<(generated_file)',
          ],
          'action': [
            'python',
            '../../tools/js2c.py',
            '<@(_outputs)',
            'TEST',  # type
            '<@(file_list)',
          ],
        }
      ],
    },
    {
      'target_name': 'generate-bytecode-expectations',
      'type': 'executable',
      'dependencies': [
        '../../src/v8.gyp:v8',
        '../../src/v8.gyp:v8_libbase',
        '../../src/v8.gyp:v8_libplatform',
      ],
      'include_dirs+': [
        '../..',
      ],
      'sources': [
        'interpreter/bytecode-expectations-printer.cc',
        'interpreter/bytecode-expectations-printer.h',
        'interpreter/generate-bytecode-expectations.cc',
      ],
    },
  ],
  'conditions': [
    ['test_isolation_mode != "noop"', {
      'targets': [
        {
          'target_name': 'cctest_exe_run',
          'type': 'none',
          'dependencies': [
            'cctest',
          ],
          'includes': [
            '../../gypfiles/isolate.gypi',
          ],
          'sources': [
            'cctest_exe.isolate',
          ],
        },
        {
          'target_name': 'cctest_run',
          'type': 'none',
          'dependencies': [
            'cctest_exe_run',
          ],
          'includes': [
            '../../gypfiles/isolate.gypi',
          ],
          'sources': [
            'cctest.isolate',
          ],
        },
      ],
    }],
  ],
}
