{ 'variables': { 'asan%': 0, 'werror': '', # Turn off -Werror in V8 build. 'visibility%': 'hidden', # V8's visibility setting 'target_arch%': 'ia32', # set v8's target architecture 'host_arch%': 'ia32', # set v8's host architecture 'want_separate_host_toolset%': 0, # V8 should not build target and host 'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds 'component%': 'static_library', # NB. these names match with what V8 expects 'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way 'python%': 'python', 'node_shared%': 'false', 'force_dynamic_crt%': 0, 'node_use_v8_platform%': 'true', 'node_use_bundled_v8%': 'true', 'node_module_version%': '', 'node_with_ltcg%': '', 'node_use_pch%': 'false', 'node_tag%': '', 'uv_library%': 'static_library', 'openssl_fips%': '', # Default to -O0 for debug builds. 'v8_optimized_debug%': 0, # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. 'v8_embedder_string': '-node.9', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, # Don't bake anything extra into the snapshot. 'v8_use_external_startup_data%': 0, # Disable V8 untrusted code mitigations. # See https://github.com/v8/v8/wiki/Untrusted-code-mitigations 'v8_untrusted_code_mitigations': 'false', # Some STL containers (e.g. std::vector) do not preserve ABI compatibility # between debug and non-debug mode. 'disable_glibcxx_debug': 1, # Don't use ICU data file (icudtl.dat) from V8, we use our own. 'icu_use_data_file_flag%': 0, 'conditions': [ ['GENERATOR=="ninja"', { 'obj_dir': '<(PRODUCT_DIR)/obj', 'conditions': [ [ 'build_v8_with_gn=="true"', { 'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/v8_monolith.gen/gn/obj/libv8_monolith.a', }, { 'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/libv8_base.a', }], ] }, { 'obj_dir%': '<(PRODUCT_DIR)/obj.target', 'v8_base': '<(PRODUCT_DIR)/obj.target/deps/v8/gypfiles/libv8_base.a', }], ['OS == "win"', { 'os_posix': 0, 'v8_postmortem_support%': 'false', 'obj_dir': '<(PRODUCT_DIR)/obj', 'v8_base': '<(PRODUCT_DIR)/lib/v8_libbase.lib', }, { 'os_posix': 1, 'v8_postmortem_support%': 'true', }], ['OS == "mac"', { 'obj_dir%': '<(PRODUCT_DIR)/obj.target', 'v8_base': '<(PRODUCT_DIR)/libv8_base.a', }], ['build_v8_with_gn == "true"', { 'conditions': [ ['GENERATOR == "ninja"', { 'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/v8_monolith.gen/gn/obj/libv8_monolith.a', }, { 'v8_base': '<(PRODUCT_DIR)/obj.target/v8_monolith/geni/gn/obj/libv8_monolith.a', }], ], }], ['openssl_fips != ""', { 'openssl_product': '<(STATIC_LIB_PREFIX)crypto<(STATIC_LIB_SUFFIX)', }, { 'openssl_product': '<(STATIC_LIB_PREFIX)openssl<(STATIC_LIB_SUFFIX)', }], ['OS=="mac"', { 'clang%': 1, }, { 'clang%': 0, }], ], }, 'target_defaults': { 'default_configuration': 'Release', 'configurations': { 'Debug': { 'variables': { 'v8_enable_handle_zapping': 1, }, 'defines': [ 'DEBUG', '_DEBUG', 'V8_ENABLE_CHECKS' ], 'cflags': [ '-g', '-O0' ], 'conditions': [ ['target_arch=="x64"', { 'msvs_configuration_platform': 'x64', }], ['OS=="aix"', { 'variables': {'real_os_name': '