# Copyright 2014 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

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

{
  'variables': {
    'v8_code': 1,
    'unittests_sources': [  ### gcmole(all) ###
      'api/access-check-unittest.cc',
      'api/exception-unittest.cc',
      'api/interceptor-unittest.cc',
      'api/isolate-unittest.cc',
      'api/remote-object-unittest.cc',
      'api/v8-object-unittest.cc',
      'asmjs/asm-scanner-unittest.cc',
      'asmjs/asm-types-unittest.cc',
      'asmjs/switch-logic-unittest.cc',
      'base/atomic-utils-unittest.cc',
      'base/bits-unittest.cc',
      'base/cpu-unittest.cc',
      'base/division-by-constant-unittest.cc',
      'base/flags-unittest.cc',
      'base/functional-unittest.cc',
      'base/ieee754-unittest.cc',
      'base/logging-unittest.cc',
      'base/macros-unittest.cc',
      'base/iterator-unittest.cc',
      'base/ostreams-unittest.cc',
      'base/platform/condition-variable-unittest.cc',
      'base/platform/mutex-unittest.cc',
      'base/platform/platform-unittest.cc',
      'base/platform/semaphore-unittest.cc',
      'base/platform/time-unittest.cc',
      'base/sys-info-unittest.cc',
      'base/template-utils-unittest.cc',
      'base/utils/random-number-generator-unittest.cc',
      'cancelable-tasks-unittest.cc',
      'char-predicates-unittest.cc',
      "code-stub-assembler-unittest.cc",
      "code-stub-assembler-unittest.h",
      'compiler/branch-elimination-unittest.cc',
      'compiler/bytecode-analysis-unittest.cc',
      'compiler/checkpoint-elimination-unittest.cc',
      "compiler/code-assembler-unittest.cc",
      "compiler/code-assembler-unittest.h",
      'compiler/common-operator-reducer-unittest.cc',
      'compiler/common-operator-unittest.cc',
      'compiler/compiler-test-utils.h',
      'compiler/control-equivalence-unittest.cc',
      'compiler/control-flow-optimizer-unittest.cc',
      'compiler/dead-code-elimination-unittest.cc',
      'compiler/diamond-unittest.cc',
      'compiler/effect-control-linearizer-unittest.cc',
      'compiler/graph-reducer-unittest.cc',
      'compiler/graph-reducer-unittest.h',
      'compiler/graph-trimmer-unittest.cc',
      'compiler/graph-unittest.cc',
      'compiler/graph-unittest.h',
      'compiler/instruction-unittest.cc',
      'compiler/instruction-selector-unittest.cc',
      'compiler/instruction-selector-unittest.h',
      'compiler/instruction-sequence-unittest.cc',
      'compiler/instruction-sequence-unittest.h',
      'compiler/int64-lowering-unittest.cc',
      'compiler/js-builtin-reducer-unittest.cc',
      'compiler/js-create-lowering-unittest.cc',
      'compiler/js-intrinsic-lowering-unittest.cc',
      'compiler/js-operator-unittest.cc',
      'compiler/js-typed-lowering-unittest.cc',
      'compiler/linkage-tail-call-unittest.cc',
      'compiler/live-range-builder.h',
      'compiler/regalloc/live-range-unittest.cc',
      'compiler/load-elimination-unittest.cc',
      'compiler/loop-peeling-unittest.cc',
      'compiler/machine-operator-reducer-unittest.cc',
      'compiler/machine-operator-unittest.cc',
      'compiler/regalloc/move-optimizer-unittest.cc',
      'compiler/node-cache-unittest.cc',
      'compiler/node-matchers-unittest.cc',
      'compiler/node-properties-unittest.cc',
      'compiler/node-test-utils.cc',
      'compiler/node-test-utils.h',
      'compiler/node-unittest.cc',
      'compiler/opcodes-unittest.cc',
      'compiler/persistent-unittest.cc',
      'compiler/regalloc/register-allocator-unittest.cc',
      'compiler/schedule-unittest.cc',
      'compiler/scheduler-unittest.cc',
      'compiler/scheduler-rpo-unittest.cc',
      'compiler/simplified-operator-reducer-unittest.cc',
      'compiler/simplified-operator-unittest.cc',
      'compiler/state-values-utils-unittest.cc',
      'compiler/typed-optimization-unittest.cc',
      'compiler/typer-unittest.cc',
      'compiler/value-numbering-reducer-unittest.cc',
      'compiler/zone-stats-unittest.cc',
      'compiler-dispatcher/compiler-dispatcher-tracer-unittest.cc',
      'compiler-dispatcher/compiler-dispatcher-unittest.cc',
      'compiler-dispatcher/optimizing-compile-dispatcher-unittest.cc',
      'compiler-dispatcher/unoptimized-compile-job-unittest.cc',
      'counters-unittest.cc',
      'detachable-vector-unittest.cc',
      'eh-frame-iterator-unittest.cc',
      'eh-frame-writer-unittest.cc',
      'heap/barrier-unittest.cc',
      'heap/bitmap-unittest.cc',
      'heap/embedder-tracing-unittest.cc',
      'heap/gc-idle-time-handler-unittest.cc',
      'heap/gc-tracer-unittest.cc',
      'heap/item-parallel-job-unittest.cc',
      'heap/marking-unittest.cc',
      'heap/memory-reducer-unittest.cc',
      'heap/heap-unittest.cc',
      'heap/scavenge-job-unittest.cc',
      'heap/slot-set-unittest.cc',
      'heap/spaces-unittest.cc',
      'heap/unmapper-unittest.cc',
      'heap/worklist-unittest.cc',
      'interpreter/bytecodes-unittest.cc',
      'interpreter/bytecode-array-builder-unittest.cc',
      'interpreter/bytecode-array-iterator-unittest.cc',
      'interpreter/bytecode-array-random-iterator-unittest.cc',
      'interpreter/bytecode-array-writer-unittest.cc',
      'interpreter/bytecode-decoder-unittest.cc',
      'interpreter/bytecode-node-unittest.cc',
      'interpreter/bytecode-operands-unittest.cc',
      'interpreter/bytecode-register-allocator-unittest.cc',
      'interpreter/bytecode-register-optimizer-unittest.cc',
      'interpreter/bytecode-source-info-unittest.cc',
      'interpreter/bytecode-utils.h',
      'interpreter/constant-array-builder-unittest.cc',
      'interpreter/interpreter-assembler-unittest.cc',
      'interpreter/interpreter-assembler-unittest.h',
      'libplatform/default-platform-unittest.cc',
      'libplatform/task-queue-unittest.cc',
      'libplatform/worker-thread-unittest.cc',
      'locked-queue-unittest.cc',
      'object-unittest.cc',
      'parser/preparser-unittest.cc',
      'register-configuration-unittest.cc',
      'run-all-unittests.cc',
      'source-position-table-unittest.cc',
      'test-helpers.cc',
      'test-helpers.h',
      'test-utils.h',
      'test-utils.cc',
      'unicode-unittest.cc',
      'value-serializer-unittest.cc',
      'zone/segmentpool-unittest.cc',
      'zone/zone-allocator-unittest.cc',
      'zone/zone-chunk-list-unittest.cc',
      'zone/zone-unittest.cc',
      'wasm/control-transfer-unittest.cc',
      'wasm/decoder-unittest.cc',
      'wasm/function-body-decoder-unittest.cc',
      'wasm/wasm-heap-unittest.cc',
      'wasm/leb-helper-unittest.cc',
      'wasm/loop-assignment-analysis-unittest.cc',
      'wasm/module-decoder-unittest.cc',
      'wasm/streaming-decoder-unittest.cc',
      'wasm/wasm-macro-gen-unittest.cc',
      'wasm/wasm-module-builder-unittest.cc',
      'wasm/wasm-opcodes-unittest.cc',
    ],
    'unittests_sources_arm': [  ### gcmole(arch:arm) ###
      'compiler/arm/instruction-selector-arm-unittest.cc',
    ],
    'unittests_sources_arm64': [  ### gcmole(arch:arm64) ###
      'compiler/arm64/instruction-selector-arm64-unittest.cc',
    ],
    'unittests_sources_ia32': [  ### gcmole(arch:ia32) ###
      'compiler/ia32/instruction-selector-ia32-unittest.cc',
    ],
    'unittests_sources_mips': [  ### gcmole(arch:mips) ###
      'compiler/mips/instruction-selector-mips-unittest.cc',
    ],
    'unittests_sources_mips64': [  ### gcmole(arch:mips64) ###
      'compiler/mips64/instruction-selector-mips64-unittest.cc',
    ],
    'unittests_sources_x64': [  ### gcmole(arch:x64) ###
      'compiler/x64/instruction-selector-x64-unittest.cc',
    ],
    'unittests_sources_ppc': [  ### gcmole(arch:ppc) ###
      'compiler/ppc/instruction-selector-ppc-unittest.cc',
    ],
    'unittests_sources_s390': [  ### gcmole(arch:s390) ###
      'compiler/s390/instruction-selector-s390-unittest.cc',
    ],
  },
  'includes': ['../../gypfiles/toolchain.gypi', '../../gypfiles/features.gypi'],
  'targets': [
    {
      'target_name': 'unittests',
      'type': 'executable',
      'variables': {
        'optimize': 'max',
      },
      'dependencies': [
        '../../testing/gmock.gyp:gmock',
        '../../testing/gtest.gyp:gtest',
        '../../src/v8.gyp:v8',
        '../../src/v8.gyp:v8_libbase',
        '../../src/v8.gyp:v8_libplatform',
        '../../src/v8.gyp:v8_maybe_snapshot',
      ],
      'include_dirs': [
        '../..',
      ],
      'sources': [
        '<@(unittests_sources)',
      ],
      'conditions': [
        ['v8_target_arch=="arm"', {
          'sources': [
            '<@(unittests_sources_arm)',
          ],
        }],
        ['v8_target_arch=="arm64"', {
          'sources': [
            '<@(unittests_sources_arm64)',
          ],
        }],
        ['v8_target_arch=="ia32"', {
          'sources': [
            '<@(unittests_sources_ia32)',
          ],
        }],
        ['v8_target_arch=="mips"', {
          'sources': [
            '<@(unittests_sources_mips)',
          ],
        }],
        ['v8_target_arch=="mipsel"', {
          'sources': [
            '<@(unittests_sources_mips)',
          ],
        }],
        ['v8_target_arch=="mips64"', {
          'sources': [
            '<@(unittests_sources_mips64)',
          ],
        }],
        ['v8_target_arch=="mips64el"', {
          'sources': [
            '<@(unittests_sources_mips64)',
          ],
        }],
        ['v8_target_arch=="x64"', {
          'sources': [
            '<@(unittests_sources_x64)',
          ],
        }],
        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
          'sources': [
            '<@(unittests_sources_ppc)',
          ],
        }],
        ['v8_target_arch=="s390" or v8_target_arch=="s390x"', {
          'sources': [
            '<@(unittests_sources_s390)',
          ],
        }],
        ['OS=="aix"', {
          'ldflags': [ '-Wl,-bbigtoc' ],
        }],
        ['v8_enable_i18n_support==1', {
          'dependencies': [
            '<(icu_gyp_path):icui18n',
            '<(icu_gyp_path):icuuc',
          ],
        }],
        ['v8_use_snapshot=="true"', {
          'dependencies': ['../../src/v8.gyp:v8_initializers'],
        }],
      ],
    },
  ],
  'conditions': [
    ['test_isolation_mode != "noop"', {
      'targets': [
        {
          'target_name': 'unittests_run',
          'type': 'none',
          'dependencies': [
            'unittests',
          ],
          'includes': [
            '../../gypfiles/isolate.gypi',
          ],
          'sources': [
            'unittests.isolate',
          ],
        },
      ],
    }],
  ],
}
