# Copyright 2021 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. load("@bazel_skylib//lib:selects.bzl", "selects") load( ":v8-target-cpu.bzl", "v8_configure_target_cpu", "v8_target_cpu", ) package( default_visibility = [ "//visibility:public", ], ) config_setting( name = "is_fastbuild", values = { "compilation_mode": "fastbuild", }, ) config_setting( name = "is_opt", values = { "compilation_mode": "opt", }, ) config_setting( name = "is_debug", values = { "compilation_mode": "dbg", }, ) selects.config_setting_group( name = "is_opt_android", match_all = [ ":is_opt", ":is_android", ], ) config_setting( name = "platform_cpu_x64", constraint_values = ["@platforms//cpu:x86_64"], ) config_setting( name = "platform_cpu_ia32", constraint_values = ["@platforms//cpu:x86_32"], ) config_setting( name = "platform_cpu_arm64", constraint_values = ["@platforms//cpu:aarch64"], ) config_setting( name = "platform_cpu_arm", constraint_values = ["@platforms//cpu:arm"], ) config_setting( name = "platform_cpu_s390x", constraint_values = ["@platforms//cpu:s390x"], ) config_setting( name = "platform_cpu_riscv64", constraint_values = ["@platforms//cpu:riscv64"], ) config_setting( name = "platform_cpu_ppc64le", constraint_values = ["@platforms//cpu:ppc"], ) v8_target_cpu( name = "v8_target_cpu", build_setting_default = "none", ) config_setting( name = "v8_host_target_is_none", flag_values = { ":v8_target_cpu": "none", }, ) v8_configure_target_cpu( name = "x64", matching_configs = [":platform_cpu_x64"], ) v8_configure_target_cpu( name = "ia32", matching_configs = [":platform_cpu_ia32"], ) v8_configure_target_cpu( name = "arm64", matching_configs = [":platform_cpu_arm64"], ) v8_configure_target_cpu( name = "arm", matching_configs = [":platform_cpu_arm"], ) v8_configure_target_cpu( name = "s390x", matching_configs = [":platform_cpu_s390x"], ) v8_configure_target_cpu( name = "riscv64", matching_configs = [":platform_cpu_riscv64"], ) v8_configure_target_cpu( name = "ppc64le", matching_configs = [":platform_cpu_ppc64le"], ) selects.config_setting_group( name = "v8_target_is_32_bits", match_any = [ ":v8_target_ia32", ":v8_target_arm", ], ) # Running arm64 simulator on x64 host. selects.config_setting_group( name = "v8_arm64_simulator", match_all = [ ":v8_target_arm64", ":is_x64", ], ) config_setting( name = "is_linux", constraint_values = ["@platforms//os:linux"], ) config_setting( name = "is_android", constraint_values = ["@platforms//os:android"], ) config_setting( name = "is_macos", constraint_values = ["@platforms//os:macos"], ) config_setting( name = "is_windows", constraint_values = ["@platforms//os:windows"], ) selects.config_setting_group( name = "is_64bit", match_any = [ ":v8_target_arm64", ":is_x64", ":is_arm64", ":is_s390x", ":is_riscv64", ":is_ppc64le", ], ) selects.config_setting_group( name = "is_windows_64bit", match_all = [ ":is_64bit", ":is_windows", ], ) selects.config_setting_group( name = "is_posix", match_any = [ ":is_linux", ":is_android", ":is_macos", ], ) selects.config_setting_group( name = "is_not_android", match_any = [ ":is_windows", ":is_linux", ":is_macos", ] ) selects.config_setting_group( name = "is_non_android_posix", match_any = [ ":is_linux", ":is_macos", ], ) selects.config_setting_group( name = "is_posix_x64", match_all = [ ":is_posix", ":is_x64", ], ) selects.config_setting_group( name = "is_non_android_posix_x64", match_all = [ ":is_non_android_posix", ":is_x64", ], ) selects.config_setting_group( name = "is_inline_asm_x64", match_all = [ ":is_posix", ":is_x64", ], ) selects.config_setting_group( name = "is_inline_asm_ia32", match_all = [ ":is_posix", ":is_ia32", ], ) selects.config_setting_group( name = "is_inline_asm_arm64", match_all = [ ":is_posix", ":is_arm64", ], ) selects.config_setting_group( name = "is_inline_asm_arm", match_all = [ ":is_posix", ":is_arm", ], ) selects.config_setting_group( name = "is_inline_asm_s390x", match_all = [ ":is_posix", ":is_s390x", ], ) selects.config_setting_group( name = "is_inline_asm_riscv64", match_all = [ ":is_posix", ":is_riscv64", ], ) selects.config_setting_group( name = "is_inline_asm_ppc64le", match_all = [ ":is_posix", ":is_ppc64le", ], ) selects.config_setting_group( name = "is_msvc_asm_x64", match_all = [ ":is_windows", ":is_x64", ], ) selects.config_setting_group( name = "is_msvc_asm_ia32", match_all = [ ":is_windows", ":is_ia32", ], ) selects.config_setting_group( name = "is_msvc_asm_arm64", match_all = [ ":is_windows", ":is_arm64", ], ) selects.config_setting_group( name = "is_macos_arm64", match_all = [ ":is_macos", ":is_arm64", ], ) config_setting( name = "is_compiler_default", flag_values = { "@bazel_tools//tools/cpp:compiler": "compiler", }, ) selects.config_setting_group( name = "is_compiler_default_on_linux", match_all = [ ":is_compiler_default", ":is_linux", ], ) selects.config_setting_group( name = "is_compiler_default_on_macos", match_all = [ ":is_compiler_default", ":is_macos", ], ) config_setting( name = "is_compiler_clang", flag_values = { "@bazel_tools//tools/cpp:compiler": "clang", }, ) selects.config_setting_group( name = "is_clang", match_any = [ ":is_compiler_default_on_macos", ":is_compiler_clang", ], ) selects.config_setting_group( name = "is_clang_s390x", match_all = [ ":is_clang", ":is_s390x", ], ) config_setting( name = "is_compiler_gcc", flag_values = { "@bazel_tools//tools/cpp:compiler": "gcc", }, ) selects.config_setting_group( name = "is_gcc", match_any = [ ":is_compiler_default_on_linux", ":is_compiler_gcc", ], ) selects.config_setting_group( name = "is_gcc_fastbuild", match_all = [ ":is_gcc", ":is_fastbuild", ], )