11cb0ef41Sopenharmony_ci# Copyright 2013 the V8 project authors. All rights reserved. 21cb0ef41Sopenharmony_ci# Redistribution and use in source and binary forms, with or without 31cb0ef41Sopenharmony_ci# modification, are permitted provided that the following conditions are 41cb0ef41Sopenharmony_ci# met: 51cb0ef41Sopenharmony_ci# 61cb0ef41Sopenharmony_ci# * Redistributions of source code must retain the above copyright 71cb0ef41Sopenharmony_ci# notice, this list of conditions and the following disclaimer. 81cb0ef41Sopenharmony_ci# * Redistributions in binary form must reproduce the above 91cb0ef41Sopenharmony_ci# copyright notice, this list of conditions and the following 101cb0ef41Sopenharmony_ci# disclaimer in the documentation and/or other materials provided 111cb0ef41Sopenharmony_ci# with the distribution. 121cb0ef41Sopenharmony_ci# * Neither the name of Google Inc. nor the names of its 131cb0ef41Sopenharmony_ci# contributors may be used to endorse or promote products derived 141cb0ef41Sopenharmony_ci# from this software without specific prior written permission. 151cb0ef41Sopenharmony_ci# 161cb0ef41Sopenharmony_ci# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 171cb0ef41Sopenharmony_ci# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 181cb0ef41Sopenharmony_ci# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 191cb0ef41Sopenharmony_ci# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 201cb0ef41Sopenharmony_ci# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 211cb0ef41Sopenharmony_ci# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 221cb0ef41Sopenharmony_ci# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 231cb0ef41Sopenharmony_ci# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 241cb0ef41Sopenharmony_ci# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 251cb0ef41Sopenharmony_ci# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 261cb0ef41Sopenharmony_ci# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 271cb0ef41Sopenharmony_ci 281cb0ef41Sopenharmony_ci# Shared definitions for all V8-related targets. 291cb0ef41Sopenharmony_ci 301cb0ef41Sopenharmony_ci{ 311cb0ef41Sopenharmony_ci 'variables': { 321cb0ef41Sopenharmony_ci 'msvs_use_common_release': 0, 331cb0ef41Sopenharmony_ci 'clang%': 0, 341cb0ef41Sopenharmony_ci 'asan%': 0, 351cb0ef41Sopenharmony_ci 'cfi_vptr%': 0, 361cb0ef41Sopenharmony_ci 'lsan%': 0, 371cb0ef41Sopenharmony_ci 'msan%': 0, 381cb0ef41Sopenharmony_ci 'tsan%': 0, 391cb0ef41Sopenharmony_ci 'ubsan%': 0, 401cb0ef41Sopenharmony_ci 'ubsan_vptr%': 0, 411cb0ef41Sopenharmony_ci 'has_valgrind%': 0, 421cb0ef41Sopenharmony_ci 'coverage%': 0, 431cb0ef41Sopenharmony_ci 'v8_target_arch%': '<(target_arch)', 441cb0ef41Sopenharmony_ci 'v8_host_byteorder%': '<!(python -c "import sys; print(sys.byteorder)")', 451cb0ef41Sopenharmony_ci 'force_dynamic_crt%': 0, 461cb0ef41Sopenharmony_ci 471cb0ef41Sopenharmony_ci # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP 481cb0ef41Sopenharmony_ci # registers d16-d31 in the generated code, both in the snapshot and for the 491cb0ef41Sopenharmony_ci # ARM target. Leaving the default value of 'false' will avoid the use of 501cb0ef41Sopenharmony_ci # these registers in the snapshot and use CPU feature probing when running 511cb0ef41Sopenharmony_ci # on the target. 521cb0ef41Sopenharmony_ci 'v8_can_use_vfp32dregs%': 'false', 531cb0ef41Sopenharmony_ci 'arm_test_noprobe%': 'off', 541cb0ef41Sopenharmony_ci 551cb0ef41Sopenharmony_ci # Similar to vfp but on MIPS. 561cb0ef41Sopenharmony_ci 'v8_can_use_fpu_instructions%': 'true', 571cb0ef41Sopenharmony_ci 581cb0ef41Sopenharmony_ci # Similar to the ARM hard float ABI but on MIPS. 591cb0ef41Sopenharmony_ci 'v8_use_mips_abi_hardfloat%': 'true', 601cb0ef41Sopenharmony_ci 611cb0ef41Sopenharmony_ci # MIPS MSA support 621cb0ef41Sopenharmony_ci 'mips_use_msa%': 0, 631cb0ef41Sopenharmony_ci 641cb0ef41Sopenharmony_ci # Print to stdout on Android. 651cb0ef41Sopenharmony_ci 'v8_android_log_stdout%': 0, 661cb0ef41Sopenharmony_ci 671cb0ef41Sopenharmony_ci 'v8_enable_backtrace%': 0, 681cb0ef41Sopenharmony_ci 691cb0ef41Sopenharmony_ci # Enable profiling support. Only required on Windows. 701cb0ef41Sopenharmony_ci 'v8_enable_prof%': 0, 711cb0ef41Sopenharmony_ci 721cb0ef41Sopenharmony_ci # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. 731cb0ef41Sopenharmony_ci 'v8_no_strict_aliasing%': 0, 741cb0ef41Sopenharmony_ci 751cb0ef41Sopenharmony_ci # Chrome needs this definition unconditionally. For standalone V8 builds, 761cb0ef41Sopenharmony_ci # it's handled in gypfiles/standalone.gypi. 771cb0ef41Sopenharmony_ci 'want_separate_host_toolset%': 1, 781cb0ef41Sopenharmony_ci 791cb0ef41Sopenharmony_ci # Toolset the shell binary should be compiled for. Possible values are 801cb0ef41Sopenharmony_ci # 'host' and 'target'. 811cb0ef41Sopenharmony_ci # The setting is ignored if want_separate_host_toolset is 0. 821cb0ef41Sopenharmony_ci 'v8_toolset_for_shell%': 'target', 831cb0ef41Sopenharmony_ci 841cb0ef41Sopenharmony_ci 'host_os%': '<(OS)', 851cb0ef41Sopenharmony_ci 'werror%': '-Werror', 861cb0ef41Sopenharmony_ci # For a shared library build, results in "libv8-<(soname_version).so". 871cb0ef41Sopenharmony_ci 'soname_version%': '', 881cb0ef41Sopenharmony_ci 891cb0ef41Sopenharmony_ci # Override where to find binutils 901cb0ef41Sopenharmony_ci 'binutils_dir%': '', 911cb0ef41Sopenharmony_ci 921cb0ef41Sopenharmony_ci 'conditions': [ 931cb0ef41Sopenharmony_ci ['OS=="linux" and host_arch=="x64"', { 941cb0ef41Sopenharmony_ci 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin', 951cb0ef41Sopenharmony_ci }], 961cb0ef41Sopenharmony_ci ['OS=="linux" and host_arch=="ia32"', { 971cb0ef41Sopenharmony_ci 'binutils_dir%': 'third_party/binutils/Linux_ia32/Release/bin', 981cb0ef41Sopenharmony_ci }], 991cb0ef41Sopenharmony_ci ], 1001cb0ef41Sopenharmony_ci 1011cb0ef41Sopenharmony_ci # Indicates if gcmole tools are downloaded by a hook. 1021cb0ef41Sopenharmony_ci 'gcmole%': 0, 1031cb0ef41Sopenharmony_ci }, 1041cb0ef41Sopenharmony_ci 1051cb0ef41Sopenharmony_ci # [GYP] this needs to be outside of the top level 'variables' 1061cb0ef41Sopenharmony_ci 'conditions': [ 1071cb0ef41Sopenharmony_ci ['host_arch=="ia32" or host_arch=="x64" or \ 1081cb0ef41Sopenharmony_ci host_arch=="ppc" or host_arch=="ppc64" or \ 1091cb0ef41Sopenharmony_ci host_arch=="s390x" or \ 1101cb0ef41Sopenharmony_ci clang==1', { 1111cb0ef41Sopenharmony_ci 'variables': { 1121cb0ef41Sopenharmony_ci 'host_cxx_is_biarch%': 1, 1131cb0ef41Sopenharmony_ci }, 1141cb0ef41Sopenharmony_ci }, { 1151cb0ef41Sopenharmony_ci 'variables': { 1161cb0ef41Sopenharmony_ci 'host_cxx_is_biarch%': 0, 1171cb0ef41Sopenharmony_ci }, 1181cb0ef41Sopenharmony_ci }], 1191cb0ef41Sopenharmony_ci ['target_arch=="ia32" or target_arch=="x64" or \ 1201cb0ef41Sopenharmony_ci target_arch=="ppc" or target_arch=="ppc64" or \ 1211cb0ef41Sopenharmony_ci target_arch=="s390x" or clang==1', { 1221cb0ef41Sopenharmony_ci 'variables': { 1231cb0ef41Sopenharmony_ci 'target_cxx_is_biarch%': 1, 1241cb0ef41Sopenharmony_ci }, 1251cb0ef41Sopenharmony_ci }, { 1261cb0ef41Sopenharmony_ci 'variables': { 1271cb0ef41Sopenharmony_ci 'target_cxx_is_biarch%': 0, 1281cb0ef41Sopenharmony_ci }, 1291cb0ef41Sopenharmony_ci }], 1301cb0ef41Sopenharmony_ci ], 1311cb0ef41Sopenharmony_ci 'target_defaults': { 1321cb0ef41Sopenharmony_ci 'include_dirs': [ 1331cb0ef41Sopenharmony_ci '<(V8_ROOT)', 1341cb0ef41Sopenharmony_ci '<(V8_ROOT)/include', 1351cb0ef41Sopenharmony_ci ], 1361cb0ef41Sopenharmony_ci 'conditions': [ 1371cb0ef41Sopenharmony_ci ['clang', { 1381cb0ef41Sopenharmony_ci 'cflags': [ '-Werror', '-Wno-unknown-pragmas' ], 1391cb0ef41Sopenharmony_ci },{ 1401cb0ef41Sopenharmony_ci 'cflags!': [ '-Wall', '-Wextra' ], 1411cb0ef41Sopenharmony_ci 'cflags': [ '-Wno-return-type' ], 1421cb0ef41Sopenharmony_ci }], 1431cb0ef41Sopenharmony_ci ['v8_target_arch=="arm"', { 1441cb0ef41Sopenharmony_ci 'defines': [ 1451cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_ARM', 1461cb0ef41Sopenharmony_ci ], 1471cb0ef41Sopenharmony_ci 'conditions': [ 1481cb0ef41Sopenharmony_ci [ 'arm_version==7 or arm_version=="default"', { 1491cb0ef41Sopenharmony_ci 'defines': [ 1501cb0ef41Sopenharmony_ci 'CAN_USE_ARMV7_INSTRUCTIONS', 1511cb0ef41Sopenharmony_ci ], 1521cb0ef41Sopenharmony_ci }], 1531cb0ef41Sopenharmony_ci [ 'arm_fpu=="vfpv3-d16" or arm_fpu=="default"', { 1541cb0ef41Sopenharmony_ci 'defines': [ 1551cb0ef41Sopenharmony_ci 'CAN_USE_VFP3_INSTRUCTIONS', 1561cb0ef41Sopenharmony_ci ], 1571cb0ef41Sopenharmony_ci }], 1581cb0ef41Sopenharmony_ci [ 'arm_fpu=="vfpv3"', { 1591cb0ef41Sopenharmony_ci 'defines': [ 1601cb0ef41Sopenharmony_ci 'CAN_USE_VFP3_INSTRUCTIONS', 1611cb0ef41Sopenharmony_ci 'CAN_USE_VFP32DREGS', 1621cb0ef41Sopenharmony_ci ], 1631cb0ef41Sopenharmony_ci }], 1641cb0ef41Sopenharmony_ci [ 'arm_fpu=="neon"', { 1651cb0ef41Sopenharmony_ci 'defines': [ 1661cb0ef41Sopenharmony_ci 'CAN_USE_VFP3_INSTRUCTIONS', 1671cb0ef41Sopenharmony_ci 'CAN_USE_VFP32DREGS', 1681cb0ef41Sopenharmony_ci 'CAN_USE_NEON', 1691cb0ef41Sopenharmony_ci ], 1701cb0ef41Sopenharmony_ci }], 1711cb0ef41Sopenharmony_ci [ 'arm_test_noprobe=="on"', { 1721cb0ef41Sopenharmony_ci 'defines': [ 1731cb0ef41Sopenharmony_ci 'ARM_TEST_NO_FEATURE_PROBE', 1741cb0ef41Sopenharmony_ci ], 1751cb0ef41Sopenharmony_ci }], 1761cb0ef41Sopenharmony_ci ], 1771cb0ef41Sopenharmony_ci 'target_conditions': [ 1781cb0ef41Sopenharmony_ci ['_toolset=="host"', { 1791cb0ef41Sopenharmony_ci 'conditions': [ 1801cb0ef41Sopenharmony_ci ['v8_target_arch==host_arch', { 1811cb0ef41Sopenharmony_ci # Host built with an Arm CXX compiler. 1821cb0ef41Sopenharmony_ci 'conditions': [ 1831cb0ef41Sopenharmony_ci [ 'arm_version==7', { 1841cb0ef41Sopenharmony_ci 'cflags': ['-march=armv7-a',], 1851cb0ef41Sopenharmony_ci }], 1861cb0ef41Sopenharmony_ci [ 'arm_version==7 or arm_version=="default"', { 1871cb0ef41Sopenharmony_ci 'conditions': [ 1881cb0ef41Sopenharmony_ci [ 'arm_fpu!="default"', { 1891cb0ef41Sopenharmony_ci 'cflags': ['-mfpu=<(arm_fpu)',], 1901cb0ef41Sopenharmony_ci }], 1911cb0ef41Sopenharmony_ci ], 1921cb0ef41Sopenharmony_ci }], 1931cb0ef41Sopenharmony_ci [ 'arm_float_abi!="default"', { 1941cb0ef41Sopenharmony_ci 'cflags': ['-mfloat-abi=<(arm_float_abi)',], 1951cb0ef41Sopenharmony_ci }], 1961cb0ef41Sopenharmony_ci [ 'arm_thumb==1', { 1971cb0ef41Sopenharmony_ci 'cflags': ['-mthumb',], 1981cb0ef41Sopenharmony_ci }], 1991cb0ef41Sopenharmony_ci [ 'arm_thumb==0', { 2001cb0ef41Sopenharmony_ci 'cflags': ['-marm',], 2011cb0ef41Sopenharmony_ci }], 2021cb0ef41Sopenharmony_ci ], 2031cb0ef41Sopenharmony_ci }, { 2041cb0ef41Sopenharmony_ci # 'v8_target_arch!=host_arch' 2051cb0ef41Sopenharmony_ci # Host not built with an Arm CXX compiler (simulator build). 2061cb0ef41Sopenharmony_ci 'conditions': [ 2071cb0ef41Sopenharmony_ci [ 'arm_float_abi=="hard"', { 2081cb0ef41Sopenharmony_ci 'defines': [ 2091cb0ef41Sopenharmony_ci 'USE_EABI_HARDFLOAT=1', 2101cb0ef41Sopenharmony_ci ], 2111cb0ef41Sopenharmony_ci }], 2121cb0ef41Sopenharmony_ci [ 'arm_float_abi=="softfp" or arm_float_abi=="default"', { 2131cb0ef41Sopenharmony_ci 'defines': [ 2141cb0ef41Sopenharmony_ci 'USE_EABI_HARDFLOAT=0', 2151cb0ef41Sopenharmony_ci ], 2161cb0ef41Sopenharmony_ci }], 2171cb0ef41Sopenharmony_ci ], 2181cb0ef41Sopenharmony_ci }], 2191cb0ef41Sopenharmony_ci ], 2201cb0ef41Sopenharmony_ci }], # _toolset=="host" 2211cb0ef41Sopenharmony_ci ['_toolset=="target"', { 2221cb0ef41Sopenharmony_ci 'conditions': [ 2231cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch', { 2241cb0ef41Sopenharmony_ci # Target built with an Arm CXX compiler. 2251cb0ef41Sopenharmony_ci 'conditions': [ 2261cb0ef41Sopenharmony_ci [ 'arm_version==7', { 2271cb0ef41Sopenharmony_ci 'cflags': ['-march=armv7-a',], 2281cb0ef41Sopenharmony_ci }], 2291cb0ef41Sopenharmony_ci [ 'arm_version==7 or arm_version=="default"', { 2301cb0ef41Sopenharmony_ci 'conditions': [ 2311cb0ef41Sopenharmony_ci [ 'arm_fpu!="default"', { 2321cb0ef41Sopenharmony_ci 'cflags': ['-mfpu=<(arm_fpu)',], 2331cb0ef41Sopenharmony_ci }], 2341cb0ef41Sopenharmony_ci ], 2351cb0ef41Sopenharmony_ci }], 2361cb0ef41Sopenharmony_ci [ 'arm_float_abi!="default"', { 2371cb0ef41Sopenharmony_ci 'cflags': ['-mfloat-abi=<(arm_float_abi)',], 2381cb0ef41Sopenharmony_ci }], 2391cb0ef41Sopenharmony_ci [ 'arm_thumb==1', { 2401cb0ef41Sopenharmony_ci 'cflags': ['-mthumb',], 2411cb0ef41Sopenharmony_ci }], 2421cb0ef41Sopenharmony_ci [ 'arm_thumb==0', { 2431cb0ef41Sopenharmony_ci 'cflags': ['-marm',], 2441cb0ef41Sopenharmony_ci }], 2451cb0ef41Sopenharmony_ci ], 2461cb0ef41Sopenharmony_ci }, { 2471cb0ef41Sopenharmony_ci # 'v8_target_arch!=target_arch' 2481cb0ef41Sopenharmony_ci # Target not built with an Arm CXX compiler (simulator build). 2491cb0ef41Sopenharmony_ci 'conditions': [ 2501cb0ef41Sopenharmony_ci [ 'arm_float_abi=="hard"', { 2511cb0ef41Sopenharmony_ci 'defines': [ 2521cb0ef41Sopenharmony_ci 'USE_EABI_HARDFLOAT=1', 2531cb0ef41Sopenharmony_ci ], 2541cb0ef41Sopenharmony_ci }], 2551cb0ef41Sopenharmony_ci [ 'arm_float_abi=="softfp" or arm_float_abi=="default"', { 2561cb0ef41Sopenharmony_ci 'defines': [ 2571cb0ef41Sopenharmony_ci 'USE_EABI_HARDFLOAT=0', 2581cb0ef41Sopenharmony_ci ], 2591cb0ef41Sopenharmony_ci }], 2601cb0ef41Sopenharmony_ci ], 2611cb0ef41Sopenharmony_ci }], 2621cb0ef41Sopenharmony_ci ], 2631cb0ef41Sopenharmony_ci }], # _toolset=="target" 2641cb0ef41Sopenharmony_ci ], 2651cb0ef41Sopenharmony_ci }], # v8_target_arch=="arm" 2661cb0ef41Sopenharmony_ci ['v8_target_arch=="arm64"', { 2671cb0ef41Sopenharmony_ci 'defines': [ 2681cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_ARM64', 2691cb0ef41Sopenharmony_ci ], 2701cb0ef41Sopenharmony_ci 'conditions': [ 2711cb0ef41Sopenharmony_ci ['v8_control_flow_integrity==1', { 2721cb0ef41Sopenharmony_ci 'cflags': [ '-mbranch-protection=pac-ret+b-key+bti' ], 2731cb0ef41Sopenharmony_ci }], 2741cb0ef41Sopenharmony_ci ], 2751cb0ef41Sopenharmony_ci 'target_conditions': [ 2761cb0ef41Sopenharmony_ci ['_toolset == "target"', { 2771cb0ef41Sopenharmony_ci 'cflags': [ '-fvisibility-inlines-hidden', '-fvisibility=hidden' ], 2781cb0ef41Sopenharmony_ci }], 2791cb0ef41Sopenharmony_ci ], 2801cb0ef41Sopenharmony_ci }], 2811cb0ef41Sopenharmony_ci ['v8_target_arch=="riscv64"', { 2821cb0ef41Sopenharmony_ci 'defines': [ 2831cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_RISCV64', 2841cb0ef41Sopenharmony_ci '__riscv_xlen=64', 2851cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS' 2861cb0ef41Sopenharmony_ci ], 2871cb0ef41Sopenharmony_ci }], 2881cb0ef41Sopenharmony_ci ['v8_target_arch=="loong64"', { 2891cb0ef41Sopenharmony_ci 'defines': [ 2901cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_LOONG64', 2911cb0ef41Sopenharmony_ci ], 2921cb0ef41Sopenharmony_ci }], 2931cb0ef41Sopenharmony_ci ['v8_target_arch=="s390x"', { 2941cb0ef41Sopenharmony_ci 'defines': [ 2951cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_S390', 2961cb0ef41Sopenharmony_ci ], 2971cb0ef41Sopenharmony_ci 'cflags': [ '-ffp-contract=off' ], 2981cb0ef41Sopenharmony_ci 'conditions': [ 2991cb0ef41Sopenharmony_ci ['v8_target_arch=="s390x"', { 3001cb0ef41Sopenharmony_ci 'defines': [ 3011cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_S390X', 3021cb0ef41Sopenharmony_ci ], 3031cb0ef41Sopenharmony_ci }], 3041cb0ef41Sopenharmony_ci ['v8_host_byteorder=="little"', { 3051cb0ef41Sopenharmony_ci 'defines': [ 3061cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_S390_LE_SIM', 3071cb0ef41Sopenharmony_ci ], 3081cb0ef41Sopenharmony_ci }, { 3091cb0ef41Sopenharmony_ci 'cflags': [ '-march=z196' ], 3101cb0ef41Sopenharmony_ci }], 3111cb0ef41Sopenharmony_ci ], 3121cb0ef41Sopenharmony_ci }], # s390x 3131cb0ef41Sopenharmony_ci ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', { 3141cb0ef41Sopenharmony_ci 'conditions': [ 3151cb0ef41Sopenharmony_ci ['v8_target_arch=="ppc"', { 3161cb0ef41Sopenharmony_ci 'defines': [ 3171cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_PPC', 3181cb0ef41Sopenharmony_ci ], 3191cb0ef41Sopenharmony_ci }], 3201cb0ef41Sopenharmony_ci ['v8_target_arch=="ppc64"', { 3211cb0ef41Sopenharmony_ci 'defines': [ 3221cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_PPC64', 3231cb0ef41Sopenharmony_ci ], 3241cb0ef41Sopenharmony_ci 'cflags': [ 3251cb0ef41Sopenharmony_ci '-ffp-contract=off', 3261cb0ef41Sopenharmony_ci ], 3271cb0ef41Sopenharmony_ci }], 3281cb0ef41Sopenharmony_ci ['v8_host_byteorder=="little"', { 3291cb0ef41Sopenharmony_ci 'defines': [ 3301cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_PPC_LE', 3311cb0ef41Sopenharmony_ci ], 3321cb0ef41Sopenharmony_ci }], 3331cb0ef41Sopenharmony_ci ['v8_host_byteorder=="big"', { 3341cb0ef41Sopenharmony_ci 'defines': [ 3351cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_PPC_BE', 3361cb0ef41Sopenharmony_ci ], 3371cb0ef41Sopenharmony_ci 'conditions': [ 3381cb0ef41Sopenharmony_ci ['OS=="aix" or OS=="os400"', { 3391cb0ef41Sopenharmony_ci # Work around AIX ceil, trunc and round oddities. 3401cb0ef41Sopenharmony_ci 'cflags': [ '-mcpu=power5+ -mfprnd' ], 3411cb0ef41Sopenharmony_ci }], 3421cb0ef41Sopenharmony_ci ['OS=="aix" or OS=="os400"', { 3431cb0ef41Sopenharmony_ci # Work around AIX assembler popcntb bug. 3441cb0ef41Sopenharmony_ci 'cflags': [ '-mno-popcntb' ], 3451cb0ef41Sopenharmony_ci }], 3461cb0ef41Sopenharmony_ci ], 3471cb0ef41Sopenharmony_ci }], 3481cb0ef41Sopenharmony_ci ], 3491cb0ef41Sopenharmony_ci }], # ppc 3501cb0ef41Sopenharmony_ci ['v8_target_arch=="ia32"', { 3511cb0ef41Sopenharmony_ci 'defines': [ 3521cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_IA32', 3531cb0ef41Sopenharmony_ci ], 3541cb0ef41Sopenharmony_ci }], # v8_target_arch=="ia32" 3551cb0ef41Sopenharmony_ci ['v8_target_arch=="mips" or v8_target_arch=="mipsel" \ 3561cb0ef41Sopenharmony_ci or v8_target_arch=="mips64" or v8_target_arch=="mips64el"', { 3571cb0ef41Sopenharmony_ci 'target_conditions': [ 3581cb0ef41Sopenharmony_ci ['_toolset=="target"', { 3591cb0ef41Sopenharmony_ci 'conditions': [ 3601cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch', { 3611cb0ef41Sopenharmony_ci # Target built with a Mips CXX compiler. 3621cb0ef41Sopenharmony_ci 'variables': { 3631cb0ef41Sopenharmony_ci 'ldso_path%': '<!(/bin/echo -n $LDSO_PATH)', 3641cb0ef41Sopenharmony_ci 'ld_r_path%': '<!(/bin/echo -n $LD_R_PATH)', 3651cb0ef41Sopenharmony_ci }, 3661cb0ef41Sopenharmony_ci 'conditions': [ 3671cb0ef41Sopenharmony_ci ['ldso_path!=""', { 3681cb0ef41Sopenharmony_ci 'ldflags': ['-Wl,--dynamic-linker=<(ldso_path)'], 3691cb0ef41Sopenharmony_ci }], 3701cb0ef41Sopenharmony_ci ['ld_r_path!=""', { 3711cb0ef41Sopenharmony_ci 'ldflags': ['-Wl,--rpath=<(ld_r_path)'], 3721cb0ef41Sopenharmony_ci }], 3731cb0ef41Sopenharmony_ci [ 'clang==1', { 3741cb0ef41Sopenharmony_ci 'cflags': ['-integrated-as'], 3751cb0ef41Sopenharmony_ci }], 3761cb0ef41Sopenharmony_ci ['OS!="mac"', { 3771cb0ef41Sopenharmony_ci 'defines': ['_MIPS_TARGET_HW',], 3781cb0ef41Sopenharmony_ci }, { 3791cb0ef41Sopenharmony_ci 'defines': ['_MIPS_TARGET_SIMULATOR',], 3801cb0ef41Sopenharmony_ci }], 3811cb0ef41Sopenharmony_ci ], 3821cb0ef41Sopenharmony_ci }, { 3831cb0ef41Sopenharmony_ci 'defines': ['_MIPS_TARGET_SIMULATOR',], 3841cb0ef41Sopenharmony_ci }], 3851cb0ef41Sopenharmony_ci ], 3861cb0ef41Sopenharmony_ci }], #'_toolset=="target" 3871cb0ef41Sopenharmony_ci ['_toolset=="host"', { 3881cb0ef41Sopenharmony_ci 'conditions': [ 3891cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch and OS!="mac"', { 3901cb0ef41Sopenharmony_ci 'defines': ['_MIPS_TARGET_HW',], 3911cb0ef41Sopenharmony_ci }, { 3921cb0ef41Sopenharmony_ci 'defines': ['_MIPS_TARGET_SIMULATOR',], 3931cb0ef41Sopenharmony_ci }], 3941cb0ef41Sopenharmony_ci ], 3951cb0ef41Sopenharmony_ci }], #'_toolset=="host" 3961cb0ef41Sopenharmony_ci ], 3971cb0ef41Sopenharmony_ci }], 3981cb0ef41Sopenharmony_ci ['v8_target_arch=="mips"', { 3991cb0ef41Sopenharmony_ci 'defines': [ 4001cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_MIPS', 4011cb0ef41Sopenharmony_ci ], 4021cb0ef41Sopenharmony_ci 'conditions': [ 4031cb0ef41Sopenharmony_ci [ 'v8_can_use_fpu_instructions=="true"', { 4041cb0ef41Sopenharmony_ci 'defines': [ 4051cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 4061cb0ef41Sopenharmony_ci ], 4071cb0ef41Sopenharmony_ci }], 4081cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 4091cb0ef41Sopenharmony_ci 'defines': [ 4101cb0ef41Sopenharmony_ci '__mips_hard_float=1', 4111cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 4121cb0ef41Sopenharmony_ci ], 4131cb0ef41Sopenharmony_ci }, { 4141cb0ef41Sopenharmony_ci 'defines': [ 4151cb0ef41Sopenharmony_ci '__mips_soft_float=1' 4161cb0ef41Sopenharmony_ci ] 4171cb0ef41Sopenharmony_ci }], 4181cb0ef41Sopenharmony_ci ], 4191cb0ef41Sopenharmony_ci 'target_conditions': [ 4201cb0ef41Sopenharmony_ci ['_toolset=="target"', { 4211cb0ef41Sopenharmony_ci 'conditions': [ 4221cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch', { 4231cb0ef41Sopenharmony_ci # Target built with a Mips CXX compiler. 4241cb0ef41Sopenharmony_ci 'cflags': [ 4251cb0ef41Sopenharmony_ci '-EB', 4261cb0ef41Sopenharmony_ci '-Wno-error=array-bounds', # Workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 4271cb0ef41Sopenharmony_ci ], 4281cb0ef41Sopenharmony_ci 'ldflags': ['-EB'], 4291cb0ef41Sopenharmony_ci 'conditions': [ 4301cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 4311cb0ef41Sopenharmony_ci 'cflags': ['-mhard-float'], 4321cb0ef41Sopenharmony_ci 'ldflags': ['-mhard-float'], 4331cb0ef41Sopenharmony_ci }, { 4341cb0ef41Sopenharmony_ci 'cflags': ['-msoft-float'], 4351cb0ef41Sopenharmony_ci 'ldflags': ['-msoft-float'], 4361cb0ef41Sopenharmony_ci }], 4371cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 4381cb0ef41Sopenharmony_ci 'defines': [ 4391cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 4401cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 4411cb0ef41Sopenharmony_ci ], 4421cb0ef41Sopenharmony_ci 'cflags!': ['-mfp32', '-mfpxx'], 4431cb0ef41Sopenharmony_ci 'conditions': [ 4441cb0ef41Sopenharmony_ci [ 'clang==0', { 4451cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32r6'], 4461cb0ef41Sopenharmony_ci }], 4471cb0ef41Sopenharmony_ci ], 4481cb0ef41Sopenharmony_ci 'cflags': ['-mips32r6'], 4491cb0ef41Sopenharmony_ci 'ldflags': ['-mips32r6'], 4501cb0ef41Sopenharmony_ci }], 4511cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 4521cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 4531cb0ef41Sopenharmony_ci }], 4541cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 4551cb0ef41Sopenharmony_ci 'conditions': [ 4561cb0ef41Sopenharmony_ci [ 'mips_fpu_mode=="fp64"', { 4571cb0ef41Sopenharmony_ci 'defines': [ 4581cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 4591cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 4601cb0ef41Sopenharmony_ci ], 4611cb0ef41Sopenharmony_ci 'cflags': ['-mfp64'], 4621cb0ef41Sopenharmony_ci }], 4631cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 4641cb0ef41Sopenharmony_ci 'defines': [ 4651cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 4661cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 4671cb0ef41Sopenharmony_ci ], 4681cb0ef41Sopenharmony_ci 'cflags': ['-mfpxx'], 4691cb0ef41Sopenharmony_ci }], 4701cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 4711cb0ef41Sopenharmony_ci 'defines': [ 4721cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 4731cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 4741cb0ef41Sopenharmony_ci ], 4751cb0ef41Sopenharmony_ci 'cflags': ['-mfp32'], 4761cb0ef41Sopenharmony_ci }], 4771cb0ef41Sopenharmony_ci [ 'clang==0', { 4781cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32r2'], 4791cb0ef41Sopenharmony_ci }], 4801cb0ef41Sopenharmony_ci ], 4811cb0ef41Sopenharmony_ci 'cflags': ['-mips32r2'], 4821cb0ef41Sopenharmony_ci 'ldflags': ['-mips32r2'], 4831cb0ef41Sopenharmony_ci }], 4841cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 4851cb0ef41Sopenharmony_ci 'defines': [ 4861cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 4871cb0ef41Sopenharmony_ci ], 4881cb0ef41Sopenharmony_ci 'cflags!': ['-mfp64', '-mfpxx'], 4891cb0ef41Sopenharmony_ci 'conditions': [ 4901cb0ef41Sopenharmony_ci [ 'clang==0', { 4911cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32'], 4921cb0ef41Sopenharmony_ci }], 4931cb0ef41Sopenharmony_ci ], 4941cb0ef41Sopenharmony_ci 'cflags': ['-mips32'], 4951cb0ef41Sopenharmony_ci 'ldflags': ['-mips32'], 4961cb0ef41Sopenharmony_ci }], 4971cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 4981cb0ef41Sopenharmony_ci 'defines': [ 4991cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 5001cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 5011cb0ef41Sopenharmony_ci ], 5021cb0ef41Sopenharmony_ci 'cflags!': ['-mfp64', '-mfp32'], 5031cb0ef41Sopenharmony_ci 'conditions': [ 5041cb0ef41Sopenharmony_ci [ 'clang==0', { 5051cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32'], 5061cb0ef41Sopenharmony_ci }], 5071cb0ef41Sopenharmony_ci ], 5081cb0ef41Sopenharmony_ci 'cflags': ['-mips32', '-mfpxx'], 5091cb0ef41Sopenharmony_ci 'ldflags': ['-mips32'], 5101cb0ef41Sopenharmony_ci }], 5111cb0ef41Sopenharmony_ci ], 5121cb0ef41Sopenharmony_ci }, { 5131cb0ef41Sopenharmony_ci # 'v8_target_arch!=target_arch' 5141cb0ef41Sopenharmony_ci # Target not built with an MIPS CXX compiler (simulator build). 5151cb0ef41Sopenharmony_ci 'conditions': [ 5161cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 5171cb0ef41Sopenharmony_ci 'defines': [ 5181cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 5191cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 5201cb0ef41Sopenharmony_ci ], 5211cb0ef41Sopenharmony_ci }], 5221cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 5231cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 5241cb0ef41Sopenharmony_ci }], 5251cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 5261cb0ef41Sopenharmony_ci 'conditions': [ 5271cb0ef41Sopenharmony_ci [ 'mips_fpu_mode=="fp64"', { 5281cb0ef41Sopenharmony_ci 'defines': [ 5291cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5301cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 5311cb0ef41Sopenharmony_ci ], 5321cb0ef41Sopenharmony_ci }], 5331cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 5341cb0ef41Sopenharmony_ci 'defines': [ 5351cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5361cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 5371cb0ef41Sopenharmony_ci ], 5381cb0ef41Sopenharmony_ci }], 5391cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 5401cb0ef41Sopenharmony_ci 'defines': [ 5411cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5421cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 5431cb0ef41Sopenharmony_ci ], 5441cb0ef41Sopenharmony_ci }], 5451cb0ef41Sopenharmony_ci ], 5461cb0ef41Sopenharmony_ci }], 5471cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 5481cb0ef41Sopenharmony_ci 'defines': [ 5491cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 5501cb0ef41Sopenharmony_ci ], 5511cb0ef41Sopenharmony_ci }], 5521cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 5531cb0ef41Sopenharmony_ci 'defines': [ 5541cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 5551cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 5561cb0ef41Sopenharmony_ci ], 5571cb0ef41Sopenharmony_ci }], 5581cb0ef41Sopenharmony_ci ], 5591cb0ef41Sopenharmony_ci }], 5601cb0ef41Sopenharmony_ci ], 5611cb0ef41Sopenharmony_ci }], #_toolset=="target" 5621cb0ef41Sopenharmony_ci ['_toolset=="host"', { 5631cb0ef41Sopenharmony_ci 'conditions': [ 5641cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 5651cb0ef41Sopenharmony_ci 'defines': [ 5661cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 5671cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 5681cb0ef41Sopenharmony_ci ], 5691cb0ef41Sopenharmony_ci }], 5701cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 5711cb0ef41Sopenharmony_ci 'defines': [ 5721cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 5731cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 5741cb0ef41Sopenharmony_ci ], 5751cb0ef41Sopenharmony_ci }], 5761cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 5771cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 5781cb0ef41Sopenharmony_ci }], 5791cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 5801cb0ef41Sopenharmony_ci 'conditions': [ 5811cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp64"', { 5821cb0ef41Sopenharmony_ci 'defines': [ 5831cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5841cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 5851cb0ef41Sopenharmony_ci ], 5861cb0ef41Sopenharmony_ci }], 5871cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 5881cb0ef41Sopenharmony_ci 'defines': [ 5891cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5901cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 5911cb0ef41Sopenharmony_ci ], 5921cb0ef41Sopenharmony_ci }], 5931cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 5941cb0ef41Sopenharmony_ci 'defines': [ 5951cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 5961cb0ef41Sopenharmony_ci 'FPU_MODE_FP32' 5971cb0ef41Sopenharmony_ci ], 5981cb0ef41Sopenharmony_ci }], 5991cb0ef41Sopenharmony_ci ], 6001cb0ef41Sopenharmony_ci }], 6011cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 6021cb0ef41Sopenharmony_ci 'defines': ['FPU_MODE_FP32',], 6031cb0ef41Sopenharmony_ci }], 6041cb0ef41Sopenharmony_ci ] 6051cb0ef41Sopenharmony_ci }], #_toolset=="host" 6061cb0ef41Sopenharmony_ci ], 6071cb0ef41Sopenharmony_ci }], # v8_target_arch=="mips" 6081cb0ef41Sopenharmony_ci ['v8_target_arch=="mipsel"', { 6091cb0ef41Sopenharmony_ci 'defines': [ 6101cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_MIPS', 6111cb0ef41Sopenharmony_ci ], 6121cb0ef41Sopenharmony_ci 'conditions': [ 6131cb0ef41Sopenharmony_ci [ 'v8_can_use_fpu_instructions=="true"', { 6141cb0ef41Sopenharmony_ci 'defines': [ 6151cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 6161cb0ef41Sopenharmony_ci ], 6171cb0ef41Sopenharmony_ci }], 6181cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 6191cb0ef41Sopenharmony_ci 'defines': [ 6201cb0ef41Sopenharmony_ci '__mips_hard_float=1', 6211cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 6221cb0ef41Sopenharmony_ci ], 6231cb0ef41Sopenharmony_ci }, { 6241cb0ef41Sopenharmony_ci 'defines': [ 6251cb0ef41Sopenharmony_ci '__mips_soft_float=1' 6261cb0ef41Sopenharmony_ci ], 6271cb0ef41Sopenharmony_ci }], 6281cb0ef41Sopenharmony_ci ], 6291cb0ef41Sopenharmony_ci 'target_conditions': [ 6301cb0ef41Sopenharmony_ci ['_toolset=="target"', { 6311cb0ef41Sopenharmony_ci 'conditions': [ 6321cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch', { 6331cb0ef41Sopenharmony_ci # Target built with a Mips CXX compiler. 6341cb0ef41Sopenharmony_ci 'cflags': [ 6351cb0ef41Sopenharmony_ci '-EL', 6361cb0ef41Sopenharmony_ci '-Wno-error=array-bounds', # Workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 6371cb0ef41Sopenharmony_ci ], 6381cb0ef41Sopenharmony_ci 'ldflags': ['-EL'], 6391cb0ef41Sopenharmony_ci 'conditions': [ 6401cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 6411cb0ef41Sopenharmony_ci 'cflags': ['-mhard-float'], 6421cb0ef41Sopenharmony_ci 'ldflags': ['-mhard-float'], 6431cb0ef41Sopenharmony_ci }, { 6441cb0ef41Sopenharmony_ci 'cflags': ['-msoft-float'], 6451cb0ef41Sopenharmony_ci 'ldflags': ['-msoft-float'], 6461cb0ef41Sopenharmony_ci }], 6471cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 6481cb0ef41Sopenharmony_ci 'defines': [ 6491cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 6501cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 6511cb0ef41Sopenharmony_ci ], 6521cb0ef41Sopenharmony_ci 'cflags!': ['-mfp32', '-mfpxx'], 6531cb0ef41Sopenharmony_ci 'conditions': [ 6541cb0ef41Sopenharmony_ci [ 'clang==0', { 6551cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32r6'], 6561cb0ef41Sopenharmony_ci }], 6571cb0ef41Sopenharmony_ci ], 6581cb0ef41Sopenharmony_ci 'cflags': ['-mips32r6'], 6591cb0ef41Sopenharmony_ci 'ldflags': ['-mips32r6'], 6601cb0ef41Sopenharmony_ci }], 6611cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 6621cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 6631cb0ef41Sopenharmony_ci }], 6641cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 6651cb0ef41Sopenharmony_ci 'conditions': [ 6661cb0ef41Sopenharmony_ci [ 'mips_fpu_mode=="fp64"', { 6671cb0ef41Sopenharmony_ci 'defines': [ 6681cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 6691cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 6701cb0ef41Sopenharmony_ci ], 6711cb0ef41Sopenharmony_ci 'cflags': ['-mfp64'], 6721cb0ef41Sopenharmony_ci }], 6731cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 6741cb0ef41Sopenharmony_ci 'defines': [ 6751cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 6761cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 6771cb0ef41Sopenharmony_ci ], 6781cb0ef41Sopenharmony_ci 'cflags': ['-mfpxx'], 6791cb0ef41Sopenharmony_ci }], 6801cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 6811cb0ef41Sopenharmony_ci 'defines': [ 6821cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 6831cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 6841cb0ef41Sopenharmony_ci ], 6851cb0ef41Sopenharmony_ci 'cflags': ['-mfp32'], 6861cb0ef41Sopenharmony_ci }], 6871cb0ef41Sopenharmony_ci [ 'clang==0', { 6881cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32r2'], 6891cb0ef41Sopenharmony_ci }], 6901cb0ef41Sopenharmony_ci ], 6911cb0ef41Sopenharmony_ci 'cflags': ['-mips32r2'], 6921cb0ef41Sopenharmony_ci 'ldflags': ['-mips32r2'], 6931cb0ef41Sopenharmony_ci }], 6941cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 6951cb0ef41Sopenharmony_ci 'defines': [ 6961cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 6971cb0ef41Sopenharmony_ci ], 6981cb0ef41Sopenharmony_ci 'cflags!': ['-mfp64', '-mfpxx'], 6991cb0ef41Sopenharmony_ci 'conditions': [ 7001cb0ef41Sopenharmony_ci [ 'clang==0', { 7011cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32'], 7021cb0ef41Sopenharmony_ci }], 7031cb0ef41Sopenharmony_ci ], 7041cb0ef41Sopenharmony_ci 'cflags': ['-mips32'], 7051cb0ef41Sopenharmony_ci 'ldflags': ['-mips32'], 7061cb0ef41Sopenharmony_ci }], 7071cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 7081cb0ef41Sopenharmony_ci 'defines': [ 7091cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 7101cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 7111cb0ef41Sopenharmony_ci ], 7121cb0ef41Sopenharmony_ci 'cflags!': ['-mfp64', '-mfp32'], 7131cb0ef41Sopenharmony_ci 'conditions': [ 7141cb0ef41Sopenharmony_ci [ 'clang==0', { 7151cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips32'], 7161cb0ef41Sopenharmony_ci }], 7171cb0ef41Sopenharmony_ci ], 7181cb0ef41Sopenharmony_ci 'cflags': ['-mips32', '-mfpxx'], 7191cb0ef41Sopenharmony_ci 'ldflags': ['-mips32'], 7201cb0ef41Sopenharmony_ci }], 7211cb0ef41Sopenharmony_ci ['mips_arch_variant=="loongson"', { 7221cb0ef41Sopenharmony_ci 'defines': [ 7231cb0ef41Sopenharmony_ci '_MIPS_ARCH_LOONGSON', 7241cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 7251cb0ef41Sopenharmony_ci ], 7261cb0ef41Sopenharmony_ci 'cflags!': ['-mfp64', '-mfpxx'], 7271cb0ef41Sopenharmony_ci 'conditions': [ 7281cb0ef41Sopenharmony_ci [ 'clang==0', { 7291cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips3'], 7301cb0ef41Sopenharmony_ci }], 7311cb0ef41Sopenharmony_ci ], 7321cb0ef41Sopenharmony_ci 'cflags': ['-mips3', '-mfp32'], 7331cb0ef41Sopenharmony_ci }], 7341cb0ef41Sopenharmony_ci ], 7351cb0ef41Sopenharmony_ci }, { 7361cb0ef41Sopenharmony_ci # 'v8_target_arch!=target_arch' 7371cb0ef41Sopenharmony_ci # Target not built with an MIPS CXX compiler (simulator build). 7381cb0ef41Sopenharmony_ci 'conditions': [ 7391cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 7401cb0ef41Sopenharmony_ci 'defines': [ 7411cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 7421cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 7431cb0ef41Sopenharmony_ci ], 7441cb0ef41Sopenharmony_ci }], 7451cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 7461cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 7471cb0ef41Sopenharmony_ci }], 7481cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 7491cb0ef41Sopenharmony_ci 'conditions': [ 7501cb0ef41Sopenharmony_ci [ 'mips_fpu_mode=="fp64"', { 7511cb0ef41Sopenharmony_ci 'defines': [ 7521cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 7531cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 7541cb0ef41Sopenharmony_ci ], 7551cb0ef41Sopenharmony_ci }], 7561cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 7571cb0ef41Sopenharmony_ci 'defines': [ 7581cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 7591cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 7601cb0ef41Sopenharmony_ci ], 7611cb0ef41Sopenharmony_ci }], 7621cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 7631cb0ef41Sopenharmony_ci 'defines': [ 7641cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 7651cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 7661cb0ef41Sopenharmony_ci ], 7671cb0ef41Sopenharmony_ci }], 7681cb0ef41Sopenharmony_ci ], 7691cb0ef41Sopenharmony_ci }], 7701cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 7711cb0ef41Sopenharmony_ci 'defines': [ 7721cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 7731cb0ef41Sopenharmony_ci ], 7741cb0ef41Sopenharmony_ci }], 7751cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 7761cb0ef41Sopenharmony_ci 'defines': [ 7771cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 7781cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 7791cb0ef41Sopenharmony_ci ], 7801cb0ef41Sopenharmony_ci }], 7811cb0ef41Sopenharmony_ci ['mips_arch_variant=="loongson"', { 7821cb0ef41Sopenharmony_ci 'defines': [ 7831cb0ef41Sopenharmony_ci '_MIPS_ARCH_LOONGSON', 7841cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 7851cb0ef41Sopenharmony_ci ], 7861cb0ef41Sopenharmony_ci }], 7871cb0ef41Sopenharmony_ci ], 7881cb0ef41Sopenharmony_ci }], 7891cb0ef41Sopenharmony_ci ], 7901cb0ef41Sopenharmony_ci }], #_toolset=="target 7911cb0ef41Sopenharmony_ci ['_toolset=="host"', { 7921cb0ef41Sopenharmony_ci 'conditions': [ 7931cb0ef41Sopenharmony_ci ['mips_arch_variant=="rx"', { 7941cb0ef41Sopenharmony_ci 'defines': [ 7951cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32RX', 7961cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 7971cb0ef41Sopenharmony_ci ], 7981cb0ef41Sopenharmony_ci }], 7991cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 8001cb0ef41Sopenharmony_ci 'defines': [ 8011cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R6', 8021cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 8031cb0ef41Sopenharmony_ci ], 8041cb0ef41Sopenharmony_ci }], 8051cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 8061cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 8071cb0ef41Sopenharmony_ci }], 8081cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 8091cb0ef41Sopenharmony_ci 'conditions': [ 8101cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp64"', { 8111cb0ef41Sopenharmony_ci 'defines': [ 8121cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 8131cb0ef41Sopenharmony_ci 'FPU_MODE_FP64', 8141cb0ef41Sopenharmony_ci ], 8151cb0ef41Sopenharmony_ci }], 8161cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fpxx"', { 8171cb0ef41Sopenharmony_ci 'defines': [ 8181cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 8191cb0ef41Sopenharmony_ci 'FPU_MODE_FPXX', 8201cb0ef41Sopenharmony_ci ], 8211cb0ef41Sopenharmony_ci }], 8221cb0ef41Sopenharmony_ci ['mips_fpu_mode=="fp32"', { 8231cb0ef41Sopenharmony_ci 'defines': [ 8241cb0ef41Sopenharmony_ci '_MIPS_ARCH_MIPS32R2', 8251cb0ef41Sopenharmony_ci 'FPU_MODE_FP32' 8261cb0ef41Sopenharmony_ci ], 8271cb0ef41Sopenharmony_ci }], 8281cb0ef41Sopenharmony_ci ], 8291cb0ef41Sopenharmony_ci }], 8301cb0ef41Sopenharmony_ci ['mips_arch_variant=="r1"', { 8311cb0ef41Sopenharmony_ci 'defines': ['FPU_MODE_FP32',], 8321cb0ef41Sopenharmony_ci }], 8331cb0ef41Sopenharmony_ci ['mips_arch_variant=="loongson"', { 8341cb0ef41Sopenharmony_ci 'defines': [ 8351cb0ef41Sopenharmony_ci '_MIPS_ARCH_LOONGSON', 8361cb0ef41Sopenharmony_ci 'FPU_MODE_FP32', 8371cb0ef41Sopenharmony_ci ], 8381cb0ef41Sopenharmony_ci }], 8391cb0ef41Sopenharmony_ci ] 8401cb0ef41Sopenharmony_ci }], 8411cb0ef41Sopenharmony_ci ], 8421cb0ef41Sopenharmony_ci }], # v8_target_arch=="mipsel" 8431cb0ef41Sopenharmony_ci ['v8_target_arch=="mips64el" or v8_target_arch=="mips64"', { 8441cb0ef41Sopenharmony_ci 'defines': [ 8451cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_MIPS64', 8461cb0ef41Sopenharmony_ci ], 8471cb0ef41Sopenharmony_ci 'conditions': [ 8481cb0ef41Sopenharmony_ci [ 'v8_can_use_fpu_instructions=="true"', { 8491cb0ef41Sopenharmony_ci 'defines': [ 8501cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 8511cb0ef41Sopenharmony_ci ], 8521cb0ef41Sopenharmony_ci }], 8531cb0ef41Sopenharmony_ci [ 'v8_host_byteorder=="little"', { 8541cb0ef41Sopenharmony_ci 'defines': [ 8551cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_MIPS64_LE', 8561cb0ef41Sopenharmony_ci ], 8571cb0ef41Sopenharmony_ci }], 8581cb0ef41Sopenharmony_ci [ 'v8_host_byteorder=="big"', { 8591cb0ef41Sopenharmony_ci 'defines': [ 8601cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_MIPS64_BE', 8611cb0ef41Sopenharmony_ci ], 8621cb0ef41Sopenharmony_ci }], 8631cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 8641cb0ef41Sopenharmony_ci 'defines': [ 8651cb0ef41Sopenharmony_ci '__mips_hard_float=1', 8661cb0ef41Sopenharmony_ci 'CAN_USE_FPU_INSTRUCTIONS', 8671cb0ef41Sopenharmony_ci ], 8681cb0ef41Sopenharmony_ci }, { 8691cb0ef41Sopenharmony_ci 'defines': [ 8701cb0ef41Sopenharmony_ci '__mips_soft_float=1' 8711cb0ef41Sopenharmony_ci ], 8721cb0ef41Sopenharmony_ci }], 8731cb0ef41Sopenharmony_ci ], 8741cb0ef41Sopenharmony_ci 'target_conditions': [ 8751cb0ef41Sopenharmony_ci ['_toolset=="target"', { 8761cb0ef41Sopenharmony_ci 'conditions': [ 8771cb0ef41Sopenharmony_ci ['v8_target_arch==target_arch', { 8781cb0ef41Sopenharmony_ci 'cflags': [ 8791cb0ef41Sopenharmony_ci '-Wno-error=array-bounds', # Workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 8801cb0ef41Sopenharmony_ci ], 8811cb0ef41Sopenharmony_ci 'conditions': [ 8821cb0ef41Sopenharmony_ci ['v8_target_arch=="mips64el"', { 8831cb0ef41Sopenharmony_ci 'cflags': ['-EL'], 8841cb0ef41Sopenharmony_ci 'ldflags': ['-EL'], 8851cb0ef41Sopenharmony_ci }], 8861cb0ef41Sopenharmony_ci ['v8_target_arch=="mips64"', { 8871cb0ef41Sopenharmony_ci 'cflags': ['-EB'], 8881cb0ef41Sopenharmony_ci 'ldflags': ['-EB'], 8891cb0ef41Sopenharmony_ci }], 8901cb0ef41Sopenharmony_ci [ 'v8_use_mips_abi_hardfloat=="true"', { 8911cb0ef41Sopenharmony_ci 'cflags': ['-mhard-float'], 8921cb0ef41Sopenharmony_ci 'ldflags': ['-mhard-float'], 8931cb0ef41Sopenharmony_ci }, { 8941cb0ef41Sopenharmony_ci 'cflags': ['-msoft-float'], 8951cb0ef41Sopenharmony_ci 'ldflags': ['-msoft-float'], 8961cb0ef41Sopenharmony_ci }], 8971cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 8981cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R6',], 8991cb0ef41Sopenharmony_ci 'conditions': [ 9001cb0ef41Sopenharmony_ci [ 'clang==0', { 9011cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips64r6'], 9021cb0ef41Sopenharmony_ci }], 9031cb0ef41Sopenharmony_ci ], 9041cb0ef41Sopenharmony_ci 'cflags': ['-mips64r6', '-mabi=64'], 9051cb0ef41Sopenharmony_ci 'ldflags': ['-mips64r6', '-mabi=64'], 9061cb0ef41Sopenharmony_ci }], 9071cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 9081cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 9091cb0ef41Sopenharmony_ci }], 9101cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 9111cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R2',], 9121cb0ef41Sopenharmony_ci 'conditions': [ 9131cb0ef41Sopenharmony_ci [ 'clang==0', { 9141cb0ef41Sopenharmony_ci 'cflags': ['-Wa,-mips64r2'], 9151cb0ef41Sopenharmony_ci }], 9161cb0ef41Sopenharmony_ci ], 9171cb0ef41Sopenharmony_ci 'cflags': ['-mips64r2', '-mabi=64'], 9181cb0ef41Sopenharmony_ci 'ldflags': ['-mips64r2', '-mabi=64'], 9191cb0ef41Sopenharmony_ci }], 9201cb0ef41Sopenharmony_ci ], 9211cb0ef41Sopenharmony_ci }, { 9221cb0ef41Sopenharmony_ci # 'v8_target_arch!=target_arch' 9231cb0ef41Sopenharmony_ci # Target not built with an MIPS CXX compiler (simulator build). 9241cb0ef41Sopenharmony_ci 'conditions': [ 9251cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 9261cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R6',], 9271cb0ef41Sopenharmony_ci }], 9281cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 9291cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 9301cb0ef41Sopenharmony_ci }], 9311cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 9321cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R2',], 9331cb0ef41Sopenharmony_ci }], 9341cb0ef41Sopenharmony_ci ], 9351cb0ef41Sopenharmony_ci }], 9361cb0ef41Sopenharmony_ci ], 9371cb0ef41Sopenharmony_ci }], #'_toolset=="target" 9381cb0ef41Sopenharmony_ci ['_toolset=="host"', { 9391cb0ef41Sopenharmony_ci 'conditions': [ 9401cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6"', { 9411cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R6',], 9421cb0ef41Sopenharmony_ci }], 9431cb0ef41Sopenharmony_ci ['mips_arch_variant=="r6" and mips_use_msa==1', { 9441cb0ef41Sopenharmony_ci 'defines': [ '_MIPS_MSA' ], 9451cb0ef41Sopenharmony_ci }], 9461cb0ef41Sopenharmony_ci ['mips_arch_variant=="r2"', { 9471cb0ef41Sopenharmony_ci 'defines': ['_MIPS_ARCH_MIPS64R2',], 9481cb0ef41Sopenharmony_ci }], 9491cb0ef41Sopenharmony_ci ], 9501cb0ef41Sopenharmony_ci }], #'_toolset=="host" 9511cb0ef41Sopenharmony_ci ], 9521cb0ef41Sopenharmony_ci }], # v8_target_arch=="mips64el" 9531cb0ef41Sopenharmony_ci ['v8_target_arch=="x64"', { 9541cb0ef41Sopenharmony_ci 'defines': [ 9551cb0ef41Sopenharmony_ci 'V8_TARGET_ARCH_X64', 9561cb0ef41Sopenharmony_ci ], 9571cb0ef41Sopenharmony_ci 'xcode_settings': { 9581cb0ef41Sopenharmony_ci 'ARCHS': [ 'x86_64' ], 9591cb0ef41Sopenharmony_ci }, 9601cb0ef41Sopenharmony_ci 'msvs_settings': { 9611cb0ef41Sopenharmony_ci 'VCLinkerTool': { 9621cb0ef41Sopenharmony_ci 'StackReserveSize': '2097152', 9631cb0ef41Sopenharmony_ci }, 9641cb0ef41Sopenharmony_ci }, 9651cb0ef41Sopenharmony_ci 'msvs_configuration_platform': 'x64', 9661cb0ef41Sopenharmony_ci }], # v8_target_arch=="x64" 9671cb0ef41Sopenharmony_ci ['OS=="win"', { 9681cb0ef41Sopenharmony_ci 'defines': [ 9691cb0ef41Sopenharmony_ci 'WIN32', 9701cb0ef41Sopenharmony_ci 'NOMINMAX', # Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1456620 9711cb0ef41Sopenharmony_ci '_WIN32_WINNT=0x0602', # Windows 8 9721cb0ef41Sopenharmony_ci ], 9731cb0ef41Sopenharmony_ci # 4351: VS 2005 and later are warning us that they've fixed a bug 9741cb0ef41Sopenharmony_ci # present in VS 2003 and earlier. 9751cb0ef41Sopenharmony_ci 'msvs_disabled_warnings': [4351], 9761cb0ef41Sopenharmony_ci 'msvs_configuration_attributes': { 9771cb0ef41Sopenharmony_ci 'CharacterSet': '1', 9781cb0ef41Sopenharmony_ci }, 9791cb0ef41Sopenharmony_ci }], 9801cb0ef41Sopenharmony_ci ['OS=="win" and v8_target_arch=="ia32"', { 9811cb0ef41Sopenharmony_ci 'msvs_settings': { 9821cb0ef41Sopenharmony_ci 'VCCLCompilerTool': { 9831cb0ef41Sopenharmony_ci # Ensure no surprising artifacts from 80bit double math with x86. 9841cb0ef41Sopenharmony_ci 'AdditionalOptions': ['/arch:SSE2'], 9851cb0ef41Sopenharmony_ci }, 9861cb0ef41Sopenharmony_ci }, 9871cb0ef41Sopenharmony_ci }], 9881cb0ef41Sopenharmony_ci ['OS=="win" and v8_enable_prof==1', { 9891cb0ef41Sopenharmony_ci 'msvs_settings': { 9901cb0ef41Sopenharmony_ci 'VCLinkerTool': { 9911cb0ef41Sopenharmony_ci 'GenerateMapFile': 'true', 9921cb0ef41Sopenharmony_ci }, 9931cb0ef41Sopenharmony_ci }, 9941cb0ef41Sopenharmony_ci }], 9951cb0ef41Sopenharmony_ci ['OS=="android"', { 9961cb0ef41Sopenharmony_ci 'defines': [ 9971cb0ef41Sopenharmony_ci 'V8_HAVE_TARGET_OS', 9981cb0ef41Sopenharmony_ci 'V8_TARGET_OS_ANDROID', 9991cb0ef41Sopenharmony_ci ] 10001cb0ef41Sopenharmony_ci }], 10011cb0ef41Sopenharmony_ci ['OS=="ios"', { 10021cb0ef41Sopenharmony_ci 'defines': [ 10031cb0ef41Sopenharmony_ci 'V8_HAVE_TARGET_OS', 10041cb0ef41Sopenharmony_ci 'V8_TARGET_OS_IOS', 10051cb0ef41Sopenharmony_ci ] 10061cb0ef41Sopenharmony_ci }], 10071cb0ef41Sopenharmony_ci ['OS=="linux"', { 10081cb0ef41Sopenharmony_ci 'defines': [ 10091cb0ef41Sopenharmony_ci 'V8_HAVE_TARGET_OS', 10101cb0ef41Sopenharmony_ci 'V8_TARGET_OS_LINUX', 10111cb0ef41Sopenharmony_ci ] 10121cb0ef41Sopenharmony_ci }], 10131cb0ef41Sopenharmony_ci ['OS=="mac"', { 10141cb0ef41Sopenharmony_ci 'defines': [ 10151cb0ef41Sopenharmony_ci 'V8_HAVE_TARGET_OS', 10161cb0ef41Sopenharmony_ci 'V8_TARGET_OS_MACOS', 10171cb0ef41Sopenharmony_ci ] 10181cb0ef41Sopenharmony_ci }], 10191cb0ef41Sopenharmony_ci ['OS=="win"', { 10201cb0ef41Sopenharmony_ci 'defines': [ 10211cb0ef41Sopenharmony_ci 'V8_HAVE_TARGET_OS', 10221cb0ef41Sopenharmony_ci 'V8_TARGET_OS_WIN', 10231cb0ef41Sopenharmony_ci ] 10241cb0ef41Sopenharmony_ci }], 10251cb0ef41Sopenharmony_ci ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 10261cb0ef41Sopenharmony_ci or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 10271cb0ef41Sopenharmony_ci v8_target_arch=="ia32"', { 10281cb0ef41Sopenharmony_ci 'cflags': [ 10291cb0ef41Sopenharmony_ci '-msse2', 10301cb0ef41Sopenharmony_ci '-mfpmath=sse', 10311cb0ef41Sopenharmony_ci '-mmmx', # Allows mmintrin.h for MMX intrinsics. 10321cb0ef41Sopenharmony_ci ], 10331cb0ef41Sopenharmony_ci }], 10341cb0ef41Sopenharmony_ci ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 10351cb0ef41Sopenharmony_ci or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 10361cb0ef41Sopenharmony_ci (v8_target_arch=="arm" or v8_target_arch=="ia32" or \ 10371cb0ef41Sopenharmony_ci v8_target_arch=="mips" or v8_target_arch=="mipsel" or \ 10381cb0ef41Sopenharmony_ci v8_target_arch=="ppc")', { 10391cb0ef41Sopenharmony_ci 'target_conditions': [ 10401cb0ef41Sopenharmony_ci ['_toolset=="host"', { 10411cb0ef41Sopenharmony_ci 'conditions': [ 10421cb0ef41Sopenharmony_ci ['host_cxx_is_biarch==1', { 10431cb0ef41Sopenharmony_ci 'conditions': [ 10441cb0ef41Sopenharmony_ci ['host_arch=="s390x"', { 10451cb0ef41Sopenharmony_ci 'cflags': [ '-m31' ], 10461cb0ef41Sopenharmony_ci 'ldflags': [ '-m31' ] 10471cb0ef41Sopenharmony_ci },{ 10481cb0ef41Sopenharmony_ci 'cflags': [ '-m32' ], 10491cb0ef41Sopenharmony_ci 'ldflags': [ '-m32' ] 10501cb0ef41Sopenharmony_ci }], 10511cb0ef41Sopenharmony_ci ], 10521cb0ef41Sopenharmony_ci }], 10531cb0ef41Sopenharmony_ci ], 10541cb0ef41Sopenharmony_ci 'xcode_settings': { 10551cb0ef41Sopenharmony_ci 'ARCHS': [ 'i386' ], 10561cb0ef41Sopenharmony_ci }, 10571cb0ef41Sopenharmony_ci }], 10581cb0ef41Sopenharmony_ci ['_toolset=="target"', { 10591cb0ef41Sopenharmony_ci 'conditions': [ 10601cb0ef41Sopenharmony_ci ['target_cxx_is_biarch==1', { 10611cb0ef41Sopenharmony_ci 'conditions': [ 10621cb0ef41Sopenharmony_ci ['host_arch=="s390x"', { 10631cb0ef41Sopenharmony_ci 'cflags': [ '-m31' ], 10641cb0ef41Sopenharmony_ci 'ldflags': [ '-m31' ] 10651cb0ef41Sopenharmony_ci },{ 10661cb0ef41Sopenharmony_ci 'cflags': [ '-m32' ], 10671cb0ef41Sopenharmony_ci 'ldflags': [ '-m32' ], 10681cb0ef41Sopenharmony_ci }], 10691cb0ef41Sopenharmony_ci ], 10701cb0ef41Sopenharmony_ci }], 10711cb0ef41Sopenharmony_ci ], 10721cb0ef41Sopenharmony_ci 'xcode_settings': { 10731cb0ef41Sopenharmony_ci 'ARCHS': [ 'i386' ], 10741cb0ef41Sopenharmony_ci }, 10751cb0ef41Sopenharmony_ci }], 10761cb0ef41Sopenharmony_ci ], 10771cb0ef41Sopenharmony_ci }], 10781cb0ef41Sopenharmony_ci ['(OS=="linux" or OS=="android") and \ 10791cb0ef41Sopenharmony_ci (v8_target_arch=="x64" or v8_target_arch=="arm64" or \ 10801cb0ef41Sopenharmony_ci v8_target_arch=="ppc64" or v8_target_arch=="s390x")', { 10811cb0ef41Sopenharmony_ci 'target_conditions': [ 10821cb0ef41Sopenharmony_ci ['_toolset=="host"', { 10831cb0ef41Sopenharmony_ci 'conditions': [ 10841cb0ef41Sopenharmony_ci ['host_cxx_is_biarch==1', { 10851cb0ef41Sopenharmony_ci 'cflags': [ '-m64' ], 10861cb0ef41Sopenharmony_ci 'ldflags': [ '-m64' ] 10871cb0ef41Sopenharmony_ci }], 10881cb0ef41Sopenharmony_ci ], 10891cb0ef41Sopenharmony_ci }], 10901cb0ef41Sopenharmony_ci ['_toolset=="target"', { 10911cb0ef41Sopenharmony_ci 'conditions': [ 10921cb0ef41Sopenharmony_ci ['target_cxx_is_biarch==1', { 10931cb0ef41Sopenharmony_ci 'cflags': [ '-m64' ], 10941cb0ef41Sopenharmony_ci 'ldflags': [ '-m64' ], 10951cb0ef41Sopenharmony_ci }], 10961cb0ef41Sopenharmony_ci ] 10971cb0ef41Sopenharmony_ci }], 10981cb0ef41Sopenharmony_ci ], 10991cb0ef41Sopenharmony_ci }], 11001cb0ef41Sopenharmony_ci ['OS=="android" and v8_android_log_stdout==1', { 11011cb0ef41Sopenharmony_ci 'defines': [ 11021cb0ef41Sopenharmony_ci 'V8_ANDROID_LOG_STDOUT', 11031cb0ef41Sopenharmony_ci ], 11041cb0ef41Sopenharmony_ci }], 11051cb0ef41Sopenharmony_ci ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 11061cb0ef41Sopenharmony_ci or OS=="netbsd" or OS=="qnx" or OS=="aix" or OS=="os400"', { 11071cb0ef41Sopenharmony_ci 'conditions': [ 11081cb0ef41Sopenharmony_ci [ 'v8_no_strict_aliasing==1', { 11091cb0ef41Sopenharmony_ci 'cflags': [ '-fno-strict-aliasing' ], 11101cb0ef41Sopenharmony_ci }], 11111cb0ef41Sopenharmony_ci ], # conditions 11121cb0ef41Sopenharmony_ci }], 11131cb0ef41Sopenharmony_ci ['OS=="solaris"', { 11141cb0ef41Sopenharmony_ci 'defines': [ '__C99FEATURES__=1' ], # isinf() etc. 11151cb0ef41Sopenharmony_ci }], 11161cb0ef41Sopenharmony_ci ['OS=="freebsd" or OS=="openbsd"', { 11171cb0ef41Sopenharmony_ci 'cflags': [ '-I/usr/local/include' ], 11181cb0ef41Sopenharmony_ci }], 11191cb0ef41Sopenharmony_ci ['OS=="netbsd"', { 11201cb0ef41Sopenharmony_ci 'cflags': [ '-I/usr/pkg/include' ], 11211cb0ef41Sopenharmony_ci }], 11221cb0ef41Sopenharmony_ci ['OS=="aix" or OS=="os400"', { 11231cb0ef41Sopenharmony_ci 'defines': [ 11241cb0ef41Sopenharmony_ci # Support for malloc(0) 11251cb0ef41Sopenharmony_ci '_LINUX_SOURCE_COMPAT=1', 11261cb0ef41Sopenharmony_ci '__STDC_FORMAT_MACROS', 11271cb0ef41Sopenharmony_ci '_ALL_SOURCE=1'], 11281cb0ef41Sopenharmony_ci 'conditions': [ 11291cb0ef41Sopenharmony_ci [ 'v8_target_arch=="ppc"', { 11301cb0ef41Sopenharmony_ci 'ldflags': [ '-Wl,-bmaxdata:0x60000000/dsa' ], 11311cb0ef41Sopenharmony_ci }], 11321cb0ef41Sopenharmony_ci [ 'v8_target_arch=="ppc64"', { 11331cb0ef41Sopenharmony_ci 'cflags': [ '-maix64', '-fdollars-in-identifiers', '-fno-extern-tls-init' ], 11341cb0ef41Sopenharmony_ci 'ldflags': [ '-maix64 -Wl,-bbigtoc' ], 11351cb0ef41Sopenharmony_ci }], 11361cb0ef41Sopenharmony_ci ], 11371cb0ef41Sopenharmony_ci }], 11381cb0ef41Sopenharmony_ci ], # conditions 11391cb0ef41Sopenharmony_ci 'configurations': { 11401cb0ef41Sopenharmony_ci 'Debug': { 11411cb0ef41Sopenharmony_ci 'defines': [ 11421cb0ef41Sopenharmony_ci 'ENABLE_DISASSEMBLER', 11431cb0ef41Sopenharmony_ci 'V8_ENABLE_CHECKS', 11441cb0ef41Sopenharmony_ci 'OBJECT_PRINT', 11451cb0ef41Sopenharmony_ci 'DEBUG', 11461cb0ef41Sopenharmony_ci 'V8_TRACE_MAPS', 11471cb0ef41Sopenharmony_ci 'V8_ENABLE_ALLOCATION_TIMEOUT', 11481cb0ef41Sopenharmony_ci 'V8_ENABLE_FORCE_SLOW_PATH', 11491cb0ef41Sopenharmony_ci ], 11501cb0ef41Sopenharmony_ci 'conditions': [ 11511cb0ef41Sopenharmony_ci ['OS=="linux" and v8_enable_backtrace==1', { 11521cb0ef41Sopenharmony_ci # Support for backtrace_symbols. 11531cb0ef41Sopenharmony_ci 'ldflags': [ '-rdynamic' ], 11541cb0ef41Sopenharmony_ci }], 11551cb0ef41Sopenharmony_ci ['OS=="aix" or OS=="os400"', { 11561cb0ef41Sopenharmony_ci 'ldflags': [ '-Wl,-bbigtoc' ], 11571cb0ef41Sopenharmony_ci 'conditions': [ 11581cb0ef41Sopenharmony_ci ['v8_target_arch=="ppc64"', { 11591cb0ef41Sopenharmony_ci 'cflags': [ '-maix64 -mcmodel=large' ], 11601cb0ef41Sopenharmony_ci }], 11611cb0ef41Sopenharmony_ci ], 11621cb0ef41Sopenharmony_ci }], 11631cb0ef41Sopenharmony_ci ['OS=="android"', { 11641cb0ef41Sopenharmony_ci 'variables': { 11651cb0ef41Sopenharmony_ci 'android_full_debug%': 1, 11661cb0ef41Sopenharmony_ci }, 11671cb0ef41Sopenharmony_ci 'conditions': [ 11681cb0ef41Sopenharmony_ci ['android_full_debug==0', { 11691cb0ef41Sopenharmony_ci # Disable full debug if we want a faster v8 in a debug build. 11701cb0ef41Sopenharmony_ci # TODO(2304): pass DISABLE_DEBUG_ASSERT instead of hiding DEBUG. 11711cb0ef41Sopenharmony_ci 'defines!': [ 11721cb0ef41Sopenharmony_ci 'DEBUG', 11731cb0ef41Sopenharmony_ci 'ENABLE_SLOW_DCHECKS', 11741cb0ef41Sopenharmony_ci ], 11751cb0ef41Sopenharmony_ci }], 11761cb0ef41Sopenharmony_ci ], 11771cb0ef41Sopenharmony_ci }], 11781cb0ef41Sopenharmony_ci ['v8_optimized_debug==0', { 11791cb0ef41Sopenharmony_ci 'msvs_settings': { 11801cb0ef41Sopenharmony_ci 'VCCLCompilerTool': { 11811cb0ef41Sopenharmony_ci 'Optimization': '0', 11821cb0ef41Sopenharmony_ci 'conditions': [ 11831cb0ef41Sopenharmony_ci ['component=="shared_library" or force_dynamic_crt==1', { 11841cb0ef41Sopenharmony_ci 'RuntimeLibrary': '3', # /MDd 11851cb0ef41Sopenharmony_ci }, { 11861cb0ef41Sopenharmony_ci 'RuntimeLibrary': '1', # /MTd 11871cb0ef41Sopenharmony_ci }], 11881cb0ef41Sopenharmony_ci ], 11891cb0ef41Sopenharmony_ci }, 11901cb0ef41Sopenharmony_ci 'VCLinkerTool': { 11911cb0ef41Sopenharmony_ci 'LinkIncremental': '2', 11921cb0ef41Sopenharmony_ci }, 11931cb0ef41Sopenharmony_ci }, 11941cb0ef41Sopenharmony_ci 'variables': { 11951cb0ef41Sopenharmony_ci 'v8_enable_slow_dchecks%': 1, 11961cb0ef41Sopenharmony_ci }, 11971cb0ef41Sopenharmony_ci 'conditions': [ 11981cb0ef41Sopenharmony_ci ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ 11991cb0ef41Sopenharmony_ci OS=="qnx" or OS=="aix" or OS=="os400"', { 12001cb0ef41Sopenharmony_ci 'cflags!': [ 12011cb0ef41Sopenharmony_ci '-O3', 12021cb0ef41Sopenharmony_ci '-O2', 12031cb0ef41Sopenharmony_ci '-O1', 12041cb0ef41Sopenharmony_ci '-Os', 12051cb0ef41Sopenharmony_ci ], 12061cb0ef41Sopenharmony_ci 'cflags': [ 12071cb0ef41Sopenharmony_ci '-fdata-sections', 12081cb0ef41Sopenharmony_ci '-ffunction-sections', 12091cb0ef41Sopenharmony_ci ], 12101cb0ef41Sopenharmony_ci }], 12111cb0ef41Sopenharmony_ci ['OS=="mac"', { 12121cb0ef41Sopenharmony_ci 'xcode_settings': { 12131cb0ef41Sopenharmony_ci 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 12141cb0ef41Sopenharmony_ci }, 12151cb0ef41Sopenharmony_ci }], 12161cb0ef41Sopenharmony_ci ['v8_enable_slow_dchecks==1', { 12171cb0ef41Sopenharmony_ci 'defines': [ 12181cb0ef41Sopenharmony_ci 'ENABLE_SLOW_DCHECKS', 12191cb0ef41Sopenharmony_ci ], 12201cb0ef41Sopenharmony_ci }], 12211cb0ef41Sopenharmony_ci ], 12221cb0ef41Sopenharmony_ci }, { 12231cb0ef41Sopenharmony_ci 'msvs_settings': { 12241cb0ef41Sopenharmony_ci 'VCCLCompilerTool': { 12251cb0ef41Sopenharmony_ci 'Optimization': '2', 12261cb0ef41Sopenharmony_ci 'InlineFunctionExpansion': '2', 12271cb0ef41Sopenharmony_ci 'EnableIntrinsicFunctions': 'true', 12281cb0ef41Sopenharmony_ci 'FavorSizeOrSpeed': '0', 12291cb0ef41Sopenharmony_ci 'StringPooling': 'true', 12301cb0ef41Sopenharmony_ci 'BasicRuntimeChecks': '0', 12311cb0ef41Sopenharmony_ci 'conditions': [ 12321cb0ef41Sopenharmony_ci ['component=="shared_library" or force_dynamic_crt==1', { 12331cb0ef41Sopenharmony_ci 'RuntimeLibrary': '3', #/MDd 12341cb0ef41Sopenharmony_ci }, { 12351cb0ef41Sopenharmony_ci 'RuntimeLibrary': '1', #/MTd 12361cb0ef41Sopenharmony_ci }], 12371cb0ef41Sopenharmony_ci ], 12381cb0ef41Sopenharmony_ci }, 12391cb0ef41Sopenharmony_ci 'VCLinkerTool': { 12401cb0ef41Sopenharmony_ci 'LinkIncremental': '1', 12411cb0ef41Sopenharmony_ci 'OptimizeReferences': '2', 12421cb0ef41Sopenharmony_ci 'EnableCOMDATFolding': '2', 12431cb0ef41Sopenharmony_ci }, 12441cb0ef41Sopenharmony_ci }, 12451cb0ef41Sopenharmony_ci 'variables': { 12461cb0ef41Sopenharmony_ci 'v8_enable_slow_dchecks%': 0, 12471cb0ef41Sopenharmony_ci }, 12481cb0ef41Sopenharmony_ci 'conditions': [ 12491cb0ef41Sopenharmony_ci ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ 12501cb0ef41Sopenharmony_ci OS=="qnx" or OS=="aix" or OS=="os400"', { 12511cb0ef41Sopenharmony_ci 'cflags!': [ 12521cb0ef41Sopenharmony_ci '-O0', 12531cb0ef41Sopenharmony_ci '-O1', 12541cb0ef41Sopenharmony_ci '-Os', 12551cb0ef41Sopenharmony_ci ], 12561cb0ef41Sopenharmony_ci 'cflags': [ 12571cb0ef41Sopenharmony_ci '-fdata-sections', 12581cb0ef41Sopenharmony_ci '-ffunction-sections', 12591cb0ef41Sopenharmony_ci ], 12601cb0ef41Sopenharmony_ci 'conditions': [ 12611cb0ef41Sopenharmony_ci # Don't use -O3 with sanitizers. 12621cb0ef41Sopenharmony_ci ['asan==0 and msan==0 and lsan==0 \ 12631cb0ef41Sopenharmony_ci and tsan==0 and ubsan==0 and ubsan_vptr==0', { 12641cb0ef41Sopenharmony_ci 'cflags': ['-O3'], 12651cb0ef41Sopenharmony_ci 'cflags!': ['-O2'], 12661cb0ef41Sopenharmony_ci }, { 12671cb0ef41Sopenharmony_ci 'cflags': ['-O2'], 12681cb0ef41Sopenharmony_ci 'cflags!': ['-O3'], 12691cb0ef41Sopenharmony_ci }], 12701cb0ef41Sopenharmony_ci ], 12711cb0ef41Sopenharmony_ci }], 12721cb0ef41Sopenharmony_ci ['OS=="mac"', { 12731cb0ef41Sopenharmony_ci 'xcode_settings': { 12741cb0ef41Sopenharmony_ci 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 12751cb0ef41Sopenharmony_ci 'GCC_STRICT_ALIASING': 'YES', 12761cb0ef41Sopenharmony_ci }, 12771cb0ef41Sopenharmony_ci }], 12781cb0ef41Sopenharmony_ci ['v8_enable_slow_dchecks==1', { 12791cb0ef41Sopenharmony_ci 'defines': [ 12801cb0ef41Sopenharmony_ci 'ENABLE_SLOW_DCHECKS', 12811cb0ef41Sopenharmony_ci ], 12821cb0ef41Sopenharmony_ci }], 12831cb0ef41Sopenharmony_ci ], 12841cb0ef41Sopenharmony_ci }], 12851cb0ef41Sopenharmony_ci # Temporary refs: https://github.com/nodejs/node/pull/23801 12861cb0ef41Sopenharmony_ci ['v8_enable_handle_zapping==1', { 12871cb0ef41Sopenharmony_ci 'defines': ['ENABLE_HANDLE_ZAPPING',], 12881cb0ef41Sopenharmony_ci }], 12891cb0ef41Sopenharmony_ci ], 12901cb0ef41Sopenharmony_ci 12911cb0ef41Sopenharmony_ci }, # DebugBaseCommon 12921cb0ef41Sopenharmony_ci 'Release': { 12931cb0ef41Sopenharmony_ci 'variables': { 12941cb0ef41Sopenharmony_ci 'v8_enable_slow_dchecks%': 0, 12951cb0ef41Sopenharmony_ci }, 12961cb0ef41Sopenharmony_ci # Temporary refs: https://github.com/nodejs/node/pull/23801 12971cb0ef41Sopenharmony_ci 'defines!': ['ENABLE_HANDLE_ZAPPING',], 12981cb0ef41Sopenharmony_ci 'conditions': [ 12991cb0ef41Sopenharmony_ci ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \ 13001cb0ef41Sopenharmony_ci or OS=="aix" or OS=="os400"', { 13011cb0ef41Sopenharmony_ci 'cflags!': [ 13021cb0ef41Sopenharmony_ci '-Os', 13031cb0ef41Sopenharmony_ci ], 13041cb0ef41Sopenharmony_ci 'cflags': [ 13051cb0ef41Sopenharmony_ci '-fdata-sections', 13061cb0ef41Sopenharmony_ci '-ffunction-sections', 13071cb0ef41Sopenharmony_ci ], 13081cb0ef41Sopenharmony_ci 'conditions': [ 13091cb0ef41Sopenharmony_ci # Don't use -O3 with sanitizers. 13101cb0ef41Sopenharmony_ci ['asan==0 and msan==0 and lsan==0 \ 13111cb0ef41Sopenharmony_ci and tsan==0 and ubsan==0 and ubsan_vptr==0', { 13121cb0ef41Sopenharmony_ci 'cflags': ['-O3'], 13131cb0ef41Sopenharmony_ci 'cflags!': ['-O2'], 13141cb0ef41Sopenharmony_ci }, { 13151cb0ef41Sopenharmony_ci 'cflags': ['-O2'], 13161cb0ef41Sopenharmony_ci 'cflags!': ['-O3'], 13171cb0ef41Sopenharmony_ci }], 13181cb0ef41Sopenharmony_ci ], 13191cb0ef41Sopenharmony_ci }], 13201cb0ef41Sopenharmony_ci ['OS=="android"', { 13211cb0ef41Sopenharmony_ci 'cflags!': [ 13221cb0ef41Sopenharmony_ci '-O3', 13231cb0ef41Sopenharmony_ci '-Os', 13241cb0ef41Sopenharmony_ci ], 13251cb0ef41Sopenharmony_ci 'cflags': [ 13261cb0ef41Sopenharmony_ci '-fdata-sections', 13271cb0ef41Sopenharmony_ci '-ffunction-sections', 13281cb0ef41Sopenharmony_ci '-O2', 13291cb0ef41Sopenharmony_ci ], 13301cb0ef41Sopenharmony_ci }], 13311cb0ef41Sopenharmony_ci ['OS=="mac"', { 13321cb0ef41Sopenharmony_ci 'xcode_settings': { 13331cb0ef41Sopenharmony_ci 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 13341cb0ef41Sopenharmony_ci 13351cb0ef41Sopenharmony_ci # -fstrict-aliasing. Mainline gcc 13361cb0ef41Sopenharmony_ci # enables this at -O2 and above, 13371cb0ef41Sopenharmony_ci # but Apple gcc does not unless it 13381cb0ef41Sopenharmony_ci # is specified explicitly. 13391cb0ef41Sopenharmony_ci 'GCC_STRICT_ALIASING': 'YES', 13401cb0ef41Sopenharmony_ci }, 13411cb0ef41Sopenharmony_ci }], # OS=="mac" 13421cb0ef41Sopenharmony_ci ['OS=="win"', { 13431cb0ef41Sopenharmony_ci 'msvs_settings': { 13441cb0ef41Sopenharmony_ci 'VCCLCompilerTool': { 13451cb0ef41Sopenharmony_ci 'Optimization': '2', 13461cb0ef41Sopenharmony_ci 'InlineFunctionExpansion': '2', 13471cb0ef41Sopenharmony_ci 'EnableIntrinsicFunctions': 'true', 13481cb0ef41Sopenharmony_ci 'FavorSizeOrSpeed': '0', 13491cb0ef41Sopenharmony_ci 'StringPooling': 'true', 13501cb0ef41Sopenharmony_ci 'conditions': [ 13511cb0ef41Sopenharmony_ci ['component=="shared_library" or force_dynamic_crt==1', { 13521cb0ef41Sopenharmony_ci 'RuntimeLibrary': '2', #/MD 13531cb0ef41Sopenharmony_ci }, { 13541cb0ef41Sopenharmony_ci 'RuntimeLibrary': '0', #/MT 13551cb0ef41Sopenharmony_ci }], 13561cb0ef41Sopenharmony_ci ], 13571cb0ef41Sopenharmony_ci }, 13581cb0ef41Sopenharmony_ci 'VCLinkerTool': { 13591cb0ef41Sopenharmony_ci 'LinkIncremental': '1', 13601cb0ef41Sopenharmony_ci 'OptimizeReferences': '2', 13611cb0ef41Sopenharmony_ci 'EnableCOMDATFolding': '2', 13621cb0ef41Sopenharmony_ci }, 13631cb0ef41Sopenharmony_ci }, 13641cb0ef41Sopenharmony_ci }], # OS=="win" 13651cb0ef41Sopenharmony_ci ['v8_enable_slow_dchecks==1', { 13661cb0ef41Sopenharmony_ci 'defines': [ 13671cb0ef41Sopenharmony_ci 'ENABLE_SLOW_DCHECKS', 13681cb0ef41Sopenharmony_ci ], 13691cb0ef41Sopenharmony_ci }], 13701cb0ef41Sopenharmony_ci ], # conditions 13711cb0ef41Sopenharmony_ci }, # Release 13721cb0ef41Sopenharmony_ci }, # configurations 13731cb0ef41Sopenharmony_ci 'msvs_disabled_warnings': [ 13741cb0ef41Sopenharmony_ci 4129, # unrecognized character escape sequence (torque-generated) 13751cb0ef41Sopenharmony_ci 4245, # Conversion with signed/unsigned mismatch. 13761cb0ef41Sopenharmony_ci 4267, # Conversion with possible loss of data. 13771cb0ef41Sopenharmony_ci 4324, # Padding structure due to alignment. 13781cb0ef41Sopenharmony_ci # 4351, # [refack] Old issue with array init. 13791cb0ef41Sopenharmony_ci 4355, # 'this' used in base member initializer list 13801cb0ef41Sopenharmony_ci 4506, # Benign "no definition for inline function" 13811cb0ef41Sopenharmony_ci 4661, # no suitable definition provided for explicit template instantiation request 13821cb0ef41Sopenharmony_ci 4701, # Potentially uninitialized local variable. 13831cb0ef41Sopenharmony_ci 4702, # Unreachable code. 13841cb0ef41Sopenharmony_ci 4703, # Potentially uninitialized local pointer variable. 13851cb0ef41Sopenharmony_ci 4709, # Comma operator within array index expr (bugged). 13861cb0ef41Sopenharmony_ci 4714, # Function marked forceinline not inlined. 13871cb0ef41Sopenharmony_ci 4715, # Not all control paths return a value. (see https://crbug.com/v8/7658) 13881cb0ef41Sopenharmony_ci 4718, # Recursive call has no side-effect. 13891cb0ef41Sopenharmony_ci 4723, # https://crbug.com/v8/7771 13901cb0ef41Sopenharmony_ci 4724, # https://crbug.com/v8/7771 13911cb0ef41Sopenharmony_ci 4800, # Forcing value to bool. 13921cb0ef41Sopenharmony_ci ], 13931cb0ef41Sopenharmony_ci # Relevant only for x86. 13941cb0ef41Sopenharmony_ci # Refs: https://github.com/nodejs/node/pull/25852 13951cb0ef41Sopenharmony_ci # Refs: https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers 13961cb0ef41Sopenharmony_ci 'msvs_settings': { 13971cb0ef41Sopenharmony_ci 'VCLinkerTool': { 13981cb0ef41Sopenharmony_ci 'ImageHasSafeExceptionHandlers': 'false', 13991cb0ef41Sopenharmony_ci }, 14001cb0ef41Sopenharmony_ci }, 14011cb0ef41Sopenharmony_ci }, # target_defaults 14021cb0ef41Sopenharmony_ci} 1403