# Copyright 2016 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{
  'includes': [
    'mozjs-45.gypi',
  ],
  'variables': {
    'generated_include_directory': '<(SHARED_INTERMEDIATE_DIR)/mozjs-45/include',
    'optimize_target_for_speed': 1,

    'common_cflags': [
      '-include',
      '<(DEPTH)/third_party/mozjs-45/cobalt_config/include/js-confdefs.h',
      '-Wno-inline-new-delete',
      '-Wno-invalid-offsetof',
      '-Wno-unused-function',
    ],
    'common_defines': [
      # Do not export symbols that are declare with JS_PUBLIC_[API|DATA].
      'STATIC_JS_API=1',
      # Do not use the default js_xxx allocator function implementations, but
      # include "jscustomallocator.h", which should implement them.
      'JS_USE_CUSTOM_ALLOCATOR=1',
      # See vm/Probes.h for different values. This was the value set by the
      # configure script when building for linux-release.
      'JS_DEFAULT_JITREPORT_GRANULARITY=3',
      # |COBALT_JS_GC_TRACE| can be set here to enable the JSGCThingTracer,
      # which logs GCThings that are alive in the JavaScript heap, along with
      # where each thing was allocated, every 15 minutes.
    ],
    'common_include_dirs': [
      '<(DEPTH)/third_party/mozjs-45/js/src',
      '<(generated_include_directory)',
      'cobalt_config/include',
      '<(DEPTH)/third_party/icu/source/common',
    ],
    'common_msvs_force_includes': [
      'third_party/mozjs-45/cobalt_config/include/js-confdefs.h',
    ],
    'common_msvs_disabled_warnings': [
      # Level 2, Possible loss of data due to type conversion.
      4244,
      # Level 3, Possible loss of data due to type conversion from size_t.
      4267,
      # Level 1, conversion from 'type1' to 'type2' of greater size.
      4312,
      # Level 1, no suitable definition provided for explicit template
      # instantiation request.
      4661,
    ],

    'conditions': [
      ['target_arch == "x86"', {
        'common_defines': [
          'JS_CPU_X86=1',
          'JS_CODEGEN_X86=1',
          'JS_NUNBOX32=1',
        ],
      }],
      ['target_arch == "x64"', {
        'common_defines': [
          'JS_CPU_X64=1',
          'JS_CODEGEN_X64=1',
          'JS_PUNBOX64=1',
        ],
      }],
      ['target_arch == "arm"', {
        'common_defines': [
          'JS_CPU_ARM=1',
          'JS_CODEGEN_ARM=1',
          'JS_NUNBOX32=1',
        ],
      }],
      ['target_arch == "arm64"', {
        'common_defines': [
          'JS_CPU_ARM64=1',
          'JS_CODEGEN_ARM64=1',
          'JS_PUNBOX64=1',
          # arm64 jit appears to not be ready, won't even compile without
          # compiling in the simulator.  It is highly recommended that
          # |CobaltExtensionConfigurationApi::CobaltEnableJit()| return false
          # when building for architecture |arm64|.
          'JS_SIMULATOR=1',
          'JS_SIMULATOR_ARM64=1',
        ],
      }],
      ['target_arch == "mips"', {
        'common_defines': [
          'JS_CPU_MIPS=1',
          'JS_CODEGEN_MIPS32=1',
          'JS_NUNBOX32=1',
        ],
      }],
      ['target_arch == "mips64"', {
        'common_defines': [
          'JS_CPU_MIPS=1',
          'JS_CODEGEN_MIPS64=1',
          'JS_PUNBOX64=1',
        ],
      }],

      ['cobalt_config != "gold"', {
        'common_defines': [
          'JS_TRACE_LOGGING=1',
        ],
      }],
      ['cobalt_config == "debug"', {
        'common_defines': [
          'JS_JITSPEW=1',
          'JS_METHODJIT_SPEW=1',
        ],
      }]
    ],
  },
  'target_defaults': {
    'defines': [ '<@(common_defines)', ],
    'msvs_settings': {
      'VCCLCompilerTool': {
        'ForcedIncludeFiles': ['<@(common_msvs_force_includes)', ],
      },
    },
    'msvs_disabled_warnings': [
      '<@(common_msvs_disabled_warnings)',
      # Level 2, unary minus operator applied to unsigned type, result still
      # unsigned.
      4146,
      # Level 1, unsafe use of type 'bool' in operation.
      4804,
      # Level 1, unsafe mix of type 'type' and type 'type' in operation
      4805,
    ],

    # Unfortunately, there is code that generate warnings in the headers.
    'direct_dependent_settings': {
      'msvs_disabled_warnings': [ '<@(common_msvs_disabled_warnings)', ],
      'msvs_settings': {
        'VCCLCompilerTool': {
          'ForcedIncludeFiles': [ '<@(common_msvs_force_includes)', ],
        },
      },
    },
  },

  'targets': [
    {
      'target_name': 'mozjs-45_lib',
      'type': 'static_library',
      'cflags': ['<@(common_cflags)'],
      # Dependent targets may need the headers from 'build_include_directory'
      # as well. Although 'build_include_directory' specifies hard_dependency,
      # that only prevents direct dependents from building in parallel -- it
      # apparently does not prevent indirect dependents. So specifying this as
      # a hard_dependency should ensure 'build_include_directory' is done for
      # targets which depend on this.
      'hard_dependency': 1,
      'dependencies': [
        'build_include_directory',
        '<(DEPTH)/cobalt/configuration/configuration.gyp:configuration',
        '<(DEPTH)/starboard/client_porting/pr_starboard/pr_starboard.gyp:pr_starboard',
        '<(DEPTH)/starboard/starboard.gyp:starboard',
        '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
        '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
      ],
      'direct_dependent_settings': {
        'include_dirs': [ '<@(common_include_dirs)' ],
        'cflags': ['<@(common_cflags)'],
        'defines': ['<@(common_defines)'],
      },
      'include_dirs': [
        '<(DEPTH)/third_party/mozjs-45/js/src',
        '<@(common_include_dirs)',
      ],
      'sources': [
        '<@(mozjs-45_sources)',
      ],
      'conditions': [
        ['target_arch == "x86"', {
          'sources': [
            'js/src/jit/x86-shared/Architecture-x86-shared.cpp',
            'js/src/jit/x86-shared/Assembler-x86-shared.cpp',
            'js/src/jit/x86-shared/AssemblerBuffer-x86-shared.cpp',
            'js/src/jit/x86-shared/BaselineCompiler-x86-shared.cpp',
            'js/src/jit/x86-shared/BaselineIC-x86-shared.cpp',
            'js/src/jit/x86-shared/CodeGenerator-x86-shared.cpp',
            'js/src/jit/x86-shared/Disassembler-x86-shared.cpp',
            'js/src/jit/x86-shared/Lowering-x86-shared.cpp',
            'js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp',
            'js/src/jit/x86-shared/MoveEmitter-x86-shared.cpp',
            'js/src/jit/x86/Assembler-x86.cpp',
            'js/src/jit/x86/Bailouts-x86.cpp',
            'js/src/jit/x86/BaselineCompiler-x86.cpp',
            'js/src/jit/x86/BaselineIC-x86.cpp',
            'js/src/jit/x86/CodeGenerator-x86.cpp',
            'js/src/jit/x86/Lowering-x86.cpp',
            'js/src/jit/x86/MacroAssembler-x86.cpp',
            'js/src/jit/x86/SharedIC-x86.cpp',
            'js/src/jit/x86/Trampoline-x86.cpp',
          ],
        }],
        ['target_arch == "x64"', {
          'sources': [
            'js/src/jit/x64/Assembler-x64.cpp',
            'js/src/jit/x64/Bailouts-x64.cpp',
            'js/src/jit/x64/BaselineCompiler-x64.cpp',
            'js/src/jit/x64/BaselineIC-x64.cpp',
            'js/src/jit/x64/CodeGenerator-x64.cpp',
            'js/src/jit/x64/Lowering-x64.cpp',
            'js/src/jit/x64/MacroAssembler-x64.cpp',
            'js/src/jit/x64/SharedIC-x64.cpp',
            'js/src/jit/x64/Trampoline-x64.cpp',
            'js/src/jit/x86-shared/Architecture-x86-shared.cpp',
            'js/src/jit/x86-shared/Assembler-x86-shared.cpp',
            'js/src/jit/x86-shared/AssemblerBuffer-x86-shared.cpp',
            'js/src/jit/x86-shared/BaselineCompiler-x86-shared.cpp',
            'js/src/jit/x86-shared/BaselineIC-x86-shared.cpp',
            'js/src/jit/x86-shared/CodeGenerator-x86-shared.cpp',
            'js/src/jit/x86-shared/Disassembler-x86-shared.cpp',
            'js/src/jit/x86-shared/Lowering-x86-shared.cpp',
            'js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp',
            'js/src/jit/x86-shared/MoveEmitter-x86-shared.cpp',
          ],
        }],
        ['target_arch == "arm"', {
          'sources': [
            'js/src/jit/arm/Architecture-arm.cpp',
            'js/src/jit/arm/Architecture-arm.h',
            'js/src/jit/arm/Assembler-arm.cpp',
            'js/src/jit/arm/Assembler-arm.h',
            'js/src/jit/arm/AtomicOperations-arm.h',
            'js/src/jit/arm/Bailouts-arm.cpp',
            'js/src/jit/arm/BaselineCompiler-arm.cpp',
            'js/src/jit/arm/BaselineCompiler-arm.h',
            'js/src/jit/arm/BaselineIC-arm.cpp',
            'js/src/jit/arm/CodeGenerator-arm.cpp',
            'js/src/jit/arm/CodeGenerator-arm.h',
            'js/src/jit/arm/disasm/Constants-arm.cpp',
            'js/src/jit/arm/disasm/Constants-arm.h',
            'js/src/jit/arm/disasm/Disasm-arm.cpp',
            'js/src/jit/arm/disasm/Disasm-arm.h',
            'js/src/jit/arm/LIR-arm.h',
            'js/src/jit/arm/LOpcodes-arm.h',
            'js/src/jit/arm/Lowering-arm.cpp',
            'js/src/jit/arm/Lowering-arm.h',
            'js/src/jit/arm/MacroAssembler-arm-inl.h',
            'js/src/jit/arm/MacroAssembler-arm.cpp',
            'js/src/jit/arm/MacroAssembler-arm.h',
            'js/src/jit/arm/MoveEmitter-arm.cpp',
            'js/src/jit/arm/MoveEmitter-arm.h',
            'js/src/jit/arm/SharedIC-arm.cpp',
            'js/src/jit/arm/SharedICHelpers-arm.h',
            'js/src/jit/arm/SharedICRegisters-arm.h',
            'js/src/jit/arm/Trampoline-arm.cpp',
          ],
        }],
        ['target_arch == "arm64"', {
          'sources': [
            'js/src/jit/arm64/Architecture-arm64.cpp',
            'js/src/jit/arm64/Architecture-arm64.h',
            'js/src/jit/arm64/Assembler-arm64.cpp',
            'js/src/jit/arm64/Assembler-arm64.h',
            'js/src/jit/arm64/AtomicOperations-arm64.h',
            'js/src/jit/arm64/Bailouts-arm64.cpp',
            'js/src/jit/arm64/BaselineCompiler-arm64.h',
            'js/src/jit/arm64/BaselineIC-arm64.cpp',
            'js/src/jit/arm64/CodeGenerator-arm64.cpp',
            'js/src/jit/arm64/CodeGenerator-arm64.h',
            'js/src/jit/arm64/DoubleEntryTable.tbl',
            'js/src/jit/arm64/gen-double-encoder-table.py',
            'js/src/jit/arm64/LIR-arm64.h',
            'js/src/jit/arm64/LOpcodes-arm64.h',
            'js/src/jit/arm64/Lowering-arm64.cpp',
            'js/src/jit/arm64/Lowering-arm64.h',
            'js/src/jit/arm64/MacroAssembler-arm64-inl.h',
            'js/src/jit/arm64/MacroAssembler-arm64.cpp',
            'js/src/jit/arm64/MacroAssembler-arm64.h',
            'js/src/jit/arm64/MoveEmitter-arm64.cpp',
            'js/src/jit/arm64/MoveEmitter-arm64.h',
            'js/src/jit/arm64/SharedIC-arm64.cpp',
            'js/src/jit/arm64/SharedICHelpers-arm64.h',
            'js/src/jit/arm64/SharedICRegisters-arm64.h',
            'js/src/jit/arm64/Trampoline-arm64.cpp',
            'js/src/jit/arm64/vixl/Assembler-vixl.cpp',
            'js/src/jit/arm64/vixl/Cpu-vixl.cpp',
            'js/src/jit/arm64/vixl/Debugger-vixl.cpp',
            'js/src/jit/arm64/vixl/Decoder-vixl.cpp',
            'js/src/jit/arm64/vixl/Disasm-vixl.cpp',
            'js/src/jit/arm64/vixl/Instructions-vixl.cpp',
            'js/src/jit/arm64/vixl/Instrument-vixl.cpp',
            'js/src/jit/arm64/vixl/Logic-vixl.cpp',
            'js/src/jit/arm64/vixl/MacroAssembler-vixl.cpp',
            'js/src/jit/arm64/vixl/MozAssembler-vixl.cpp',
            'js/src/jit/arm64/vixl/MozInstructions-vixl.cpp',
            'js/src/jit/arm64/vixl/MozSimulator-vixl.cpp',
            'js/src/jit/arm64/vixl/Simulator-vixl.cpp',
            'js/src/jit/arm64/vixl/Utils-vixl.cpp',
          ],
        }],
        ['target_arch == "mips"', {
          'sources': [
            'js/src/jit/mips-shared/Architecture-mips-shared.cpp',
            'js/src/jit/mips-shared/Assembler-mips-shared.cpp',
            'js/src/jit/mips-shared/Bailouts-mips-shared.cpp',
            'js/src/jit/mips-shared/BaselineCompiler-mips-shared.cpp',
            'js/src/jit/mips-shared/BaselineIC-mips-shared.cpp',
            'js/src/jit/mips-shared/CodeGenerator-mips-shared.cpp',
            'js/src/jit/mips-shared/Lowering-mips-shared.cpp',
            'js/src/jit/mips-shared/MacroAssembler-mips-shared.cpp',
            'js/src/jit/mips-shared/MoveEmitter-mips-shared.cpp',
            'js/src/jit/mips32/Architecture-mips32.cpp',
            'js/src/jit/mips32/Assembler-mips32.cpp',
            'js/src/jit/mips32/Bailouts-mips32.cpp',
            'js/src/jit/mips32/BaselineCompiler-mips32.cpp',
            'js/src/jit/mips32/BaselineIC-mips32.cpp',
            'js/src/jit/mips32/CodeGenerator-mips32.cpp',
            'js/src/jit/mips32/Lowering-mips32.cpp',
            'js/src/jit/mips32/MacroAssembler-mips32.cpp',
            'js/src/jit/mips32/MoveEmitter-mips32.cpp',
            'js/src/jit/mips32/SharedIC-mips32.cpp',
            'js/src/jit/mips32/Trampoline-mips32.cpp',
          ],
        }],
        ['target_arch == "mips64"', {
          'sources': [
            'js/src/jit/mips-shared/Architecture-mips-shared.cpp',
            'js/src/jit/mips-shared/Assembler-mips-shared.cpp',
            'js/src/jit/mips-shared/Bailouts-mips-shared.cpp',
            'js/src/jit/mips-shared/BaselineCompiler-mips-shared.cpp',
            'js/src/jit/mips-shared/BaselineIC-mips-shared.cpp',
            'js/src/jit/mips-shared/CodeGenerator-mips-shared.cpp',
            'js/src/jit/mips-shared/Lowering-mips-shared.cpp',
            'js/src/jit/mips-shared/MacroAssembler-mips-shared.cpp',
            'js/src/jit/mips-shared/MoveEmitter-mips-shared.cpp',
            'js/src/jit/mips64/Architecture-mips64.cpp',
            'js/src/jit/mips64/Assembler-mips64.cpp',
            'js/src/jit/mips64/Bailouts-mips64.cpp',
            'js/src/jit/mips64/BaselineCompiler-mips64.cpp',
            'js/src/jit/mips64/BaselineIC-mips64.cpp',
            'js/src/jit/mips64/CodeGenerator-mips64.cpp',
            'js/src/jit/mips64/Lowering-mips64.cpp',
            'js/src/jit/mips64/MacroAssembler-mips64.cpp',
            'js/src/jit/mips64/MoveEmitter-mips64.cpp',
            'js/src/jit/mips64/SharedIC-mips64.cpp',
            'js/src/jit/mips64/Trampoline-mips64.cpp',
          ],
        }],
      ],
    },

    {
      'target_name': 'mozjs-45_shell',
      'type': '<(final_executable_type)',
      'sources': [
        'js/src/shell/js.cpp',
        'js/src/shell/jsoptparse.cpp',
        'js/src/shell/OSObject.cpp',
      ],
      'dependencies': [
        'mozjs-45_lib',
      ],
    },

    {
      # SpiderMonkey source expects to include files from a certain directory
      # structure that is made by copying (or symlinking) the real source files
      # into the destination directory structure.
      'target_name': 'build_include_directory',
      'type': 'none',
      'copies': [
        {
          'destination': '<(generated_include_directory)/mozilla',
          'files': [
            'memory/fallible/fallible.h',
            'memory/mozalloc/mozalloc.h',
            'memory/mozalloc/mozalloc_abort.h',
            'memory/mozalloc/mozalloc_oom.h',
            'memory/mozalloc/msvc_raise_wrappers.h',
            'memory/mozalloc/throw_gcc.h',
            'memory/mozalloc/throw_msvc.h',
            'mfbt/Alignment.h',
            'mfbt/AllocPolicy.h',
            'mfbt/AlreadyAddRefed.h',
            'mfbt/Array.h',
            'mfbt/ArrayUtils.h',
            'mfbt/Assertions.h',
            'mfbt/Atomics.h',
            'mfbt/Attributes.h',
            'mfbt/BinarySearch.h',
            'mfbt/BloomFilter.h',
            'mfbt/Casting.h',
            'mfbt/ChaosMode.h',
            'mfbt/Char16.h',
            'mfbt/CheckedInt.h',
            'mfbt/Compiler.h',
            'mfbt/Compression.h',
            'mfbt/DebugOnly.h',
            'mfbt/decimal/Decimal.h',
            'mfbt/decimal/moz-decimal-utils.h',
            'mfbt/double-conversion/bignum-dtoa.h',
            'mfbt/double-conversion/bignum.h',
            'mfbt/double-conversion/cached-powers.h',
            'mfbt/double-conversion/diy-fp.h',
            'mfbt/double-conversion/double-conversion.h',
            'mfbt/double-conversion/fast-dtoa.h',
            'mfbt/double-conversion/fixed-dtoa.h',
            'mfbt/double-conversion/ieee.h',
            'mfbt/double-conversion/strtod.h',
            'mfbt/double-conversion/utils.h',
            'mfbt/EndianUtils.h',
            'mfbt/EnumeratedArray.h',
            'mfbt/EnumeratedRange.h',
            'mfbt/EnumSet.h',
            'mfbt/FastBernoulliTrial.h',
            'mfbt/FloatingPoint.h',
            'mfbt/Function.h',
            'mfbt/GuardObjects.h',
            'mfbt/HashFunctions.h',
            'mfbt/IndexSequence.h',
            'mfbt/IntegerPrintfMacros.h',
            'mfbt/IntegerRange.h',
            'mfbt/IntegerTypeTraits.h',
            'mfbt/JSONWriter.h',
            'mfbt/Likely.h',
            'mfbt/LinkedList.h',
            'mfbt/LinuxSignal.h',
            'mfbt/lz4.h',
            'mfbt/MacroArgs.h',
            'mfbt/MacroForEach.h',
            'mfbt/MathAlgorithms.h',
            'mfbt/Maybe.h',
            'mfbt/MaybeOneOf.h',
            'mfbt/MemoryChecking.h',
            'mfbt/MemoryReporting.h',
            'mfbt/Move.h',
            'mfbt/NullPtr.h',
            'mfbt/NumericLimits.h',
            'mfbt/Opaque.h',
            'mfbt/Pair.h',
            'mfbt/PodOperations.h',
            'mfbt/Poison.h',
            'mfbt/Range.h',
            'mfbt/RangedArray.h',
            'mfbt/RangedPtr.h',
            'mfbt/ReentrancyGuard.h',
            'mfbt/RefCounted.h',
            'mfbt/RefCountType.h',
            'mfbt/RefPtr.h',
            'mfbt/ReverseIterator.h',
            'mfbt/RollingMean.h',
            'mfbt/Scoped.h',
            'mfbt/ScopeExit.h',
            'mfbt/SegmentedVector.h',
            'mfbt/SHA1.h',
            'mfbt/SizePrintfMacros.h',
            'mfbt/Snprintf.h',
            'mfbt/SplayTree.h',
            'mfbt/TaggedAnonymousMemory.h',
            'mfbt/TemplateLib.h',
            'mfbt/ThreadLocal.h',
            'mfbt/ToString.h',
            'mfbt/Tuple.h',
            'mfbt/TypedEnumBits.h',
            'mfbt/Types.h',
            'mfbt/TypeTraits.h',
            'mfbt/UniquePtr.h',
            'mfbt/UniquePtrExtensions.h',
            'mfbt/unused.h',
            'mfbt/Variant.h',
            'mfbt/Vector.h',
            'mfbt/WeakPtr.h',
            'mfbt/WindowsVersion.h',
            'mfbt/XorShift128PlusRNG.h',
            'mozglue/misc/StackWalk.h',
            'mozglue/misc/TimeStamp.h',
            'mozglue/misc/TimeStamp_windows.h',
          ],
        },
        {
          'destination': '<(generated_include_directory)/js',
          'files': [
            'js/public/CallArgs.h',
            'js/public/CallNonGenericMethod.h',
            'js/public/CharacterEncoding.h',
            'js/public/Class.h',
            'js/public/Conversions.h',
            'js/public/Date.h',
            'js/public/Debug.h',
            'js/public/GCAPI.h',
            'js/public/GCHashTable.h',
            'js/public/HashTable.h',
            'js/public/HeapAPI.h',
            'js/public/Id.h',
            'js/public/Initialization.h',
            'js/public/LegacyIntTypes.h',
            'js/public/MemoryMetrics.h',
            'js/public/Principals.h',
            'js/public/ProfilingFrameIterator.h',
            'js/public/ProfilingStack.h',
            'js/public/Proxy.h',
            'js/public/RequiredDefines.h',
            'js/public/RootingAPI.h',
            'js/public/SliceBudget.h',
            'js/public/StructuredClone.h',
            'js/public/TraceableVector.h',
            'js/public/TraceKind.h',
            'js/public/TracingAPI.h',
            'js/public/TrackedOptimizationInfo.h',
            'js/public/TypeDecls.h',
            'js/public/UbiNode.h',
            'js/public/UbiNodeBreadthFirst.h',
            'js/public/UbiNodeCensus.h',
            'js/public/UbiNodeDominatorTree.h',
            'js/public/UbiNodePostOrder.h',
            'js/public/Utility.h',
            'js/public/Value.h',
            'js/public/Vector.h',
            'js/public/WeakMapPtr.h',
          ],
        },
        {
          'destination': '<(generated_include_directory)',
          'files': [
            'fake_generated/dist/include/js-config.h',
            'fake_generated/js/src/jsautokw.h',
            'fake_generated/js/src/selfhosted.out.h',
            'fake_generated/js/src/shell/shellmoduleloader.out.h',
          ],
        },
      ],
      'hard_dependency': 1,
    },
  ],
}
