1*9356374aSAndroid Build Coastguard Worker"""absl specific copts. 2*9356374aSAndroid Build Coastguard Worker 3*9356374aSAndroid Build Coastguard WorkerThis file simply selects the correct options from the generated files. To 4*9356374aSAndroid Build Coastguard Workerchange Abseil copts, edit absl/copts/copts.py 5*9356374aSAndroid Build Coastguard Worker""" 6*9356374aSAndroid Build Coastguard Worker 7*9356374aSAndroid Build Coastguard Workerload( 8*9356374aSAndroid Build Coastguard Worker "//absl:copts/GENERATED_copts.bzl", 9*9356374aSAndroid Build Coastguard Worker "ABSL_CLANG_CL_FLAGS", 10*9356374aSAndroid Build Coastguard Worker "ABSL_CLANG_CL_TEST_FLAGS", 11*9356374aSAndroid Build Coastguard Worker "ABSL_GCC_FLAGS", 12*9356374aSAndroid Build Coastguard Worker "ABSL_GCC_TEST_FLAGS", 13*9356374aSAndroid Build Coastguard Worker "ABSL_LLVM_FLAGS", 14*9356374aSAndroid Build Coastguard Worker "ABSL_LLVM_TEST_FLAGS", 15*9356374aSAndroid Build Coastguard Worker "ABSL_MSVC_FLAGS", 16*9356374aSAndroid Build Coastguard Worker "ABSL_MSVC_LINKOPTS", 17*9356374aSAndroid Build Coastguard Worker "ABSL_MSVC_TEST_FLAGS", 18*9356374aSAndroid Build Coastguard Worker "ABSL_RANDOM_HWAES_ARM32_FLAGS", 19*9356374aSAndroid Build Coastguard Worker "ABSL_RANDOM_HWAES_ARM64_FLAGS", 20*9356374aSAndroid Build Coastguard Worker "ABSL_RANDOM_HWAES_MSVC_X64_FLAGS", 21*9356374aSAndroid Build Coastguard Worker "ABSL_RANDOM_HWAES_X64_FLAGS", 22*9356374aSAndroid Build Coastguard Worker) 23*9356374aSAndroid Build Coastguard Worker 24*9356374aSAndroid Build Coastguard WorkerABSL_DEFAULT_COPTS = select({ 25*9356374aSAndroid Build Coastguard Worker "//absl:msvc_compiler": ABSL_MSVC_FLAGS, 26*9356374aSAndroid Build Coastguard Worker "//absl:clang-cl_compiler": ABSL_CLANG_CL_FLAGS, 27*9356374aSAndroid Build Coastguard Worker "//absl:clang_compiler": ABSL_LLVM_FLAGS, 28*9356374aSAndroid Build Coastguard Worker "//absl:gcc_compiler": ABSL_GCC_FLAGS, 29*9356374aSAndroid Build Coastguard Worker "//conditions:default": ABSL_GCC_FLAGS, 30*9356374aSAndroid Build Coastguard Worker}) 31*9356374aSAndroid Build Coastguard Worker 32*9356374aSAndroid Build Coastguard WorkerABSL_TEST_COPTS = select({ 33*9356374aSAndroid Build Coastguard Worker "//absl:msvc_compiler": ABSL_MSVC_TEST_FLAGS, 34*9356374aSAndroid Build Coastguard Worker "//absl:clang-cl_compiler": ABSL_CLANG_CL_TEST_FLAGS, 35*9356374aSAndroid Build Coastguard Worker "//absl:clang_compiler": ABSL_LLVM_TEST_FLAGS, 36*9356374aSAndroid Build Coastguard Worker "//absl:gcc_compiler": ABSL_GCC_TEST_FLAGS, 37*9356374aSAndroid Build Coastguard Worker "//conditions:default": ABSL_GCC_TEST_FLAGS, 38*9356374aSAndroid Build Coastguard Worker}) 39*9356374aSAndroid Build Coastguard Worker 40*9356374aSAndroid Build Coastguard WorkerABSL_DEFAULT_LINKOPTS = select({ 41*9356374aSAndroid Build Coastguard Worker "//absl:msvc_compiler": ABSL_MSVC_LINKOPTS, 42*9356374aSAndroid Build Coastguard Worker "//conditions:default": [], 43*9356374aSAndroid Build Coastguard Worker}) 44*9356374aSAndroid Build Coastguard Worker 45*9356374aSAndroid Build Coastguard Worker# ABSL_RANDOM_RANDEN_COPTS blaze copts flags which are required by each 46*9356374aSAndroid Build Coastguard Worker# environment to build an accelerated RandenHwAes library. 47*9356374aSAndroid Build Coastguard WorkerABSL_RANDOM_RANDEN_COPTS = select({ 48*9356374aSAndroid Build Coastguard Worker # APPLE 49*9356374aSAndroid Build Coastguard Worker ":cpu_darwin_x86_64": ABSL_RANDOM_HWAES_X64_FLAGS, 50*9356374aSAndroid Build Coastguard Worker ":cpu_darwin": ABSL_RANDOM_HWAES_X64_FLAGS, 51*9356374aSAndroid Build Coastguard Worker ":cpu_x64_windows_msvc": ABSL_RANDOM_HWAES_MSVC_X64_FLAGS, 52*9356374aSAndroid Build Coastguard Worker ":cpu_x64_windows": ABSL_RANDOM_HWAES_MSVC_X64_FLAGS, 53*9356374aSAndroid Build Coastguard Worker ":cpu_k8": ABSL_RANDOM_HWAES_X64_FLAGS, 54*9356374aSAndroid Build Coastguard Worker ":cpu_ppc": ["-mcrypto"], 55*9356374aSAndroid Build Coastguard Worker ":cpu_aarch64": ABSL_RANDOM_HWAES_ARM64_FLAGS, 56*9356374aSAndroid Build Coastguard Worker 57*9356374aSAndroid Build Coastguard Worker # Supported by default or unsupported. 58*9356374aSAndroid Build Coastguard Worker "//conditions:default": [], 59*9356374aSAndroid Build Coastguard Worker}) 60*9356374aSAndroid Build Coastguard Worker 61*9356374aSAndroid Build Coastguard Worker# absl_random_randen_copts_init: 62*9356374aSAndroid Build Coastguard Worker# Initialize the config targets based on cpu, os, etc. used to select 63*9356374aSAndroid Build Coastguard Worker# the required values for ABSL_RANDOM_RANDEN_COPTS 64*9356374aSAndroid Build Coastguard Workerdef absl_random_randen_copts_init(): 65*9356374aSAndroid Build Coastguard Worker """Initialize the config_settings used by ABSL_RANDOM_RANDEN_COPTS.""" 66*9356374aSAndroid Build Coastguard Worker 67*9356374aSAndroid Build Coastguard Worker # CPU configs. 68*9356374aSAndroid Build Coastguard Worker # These configs have consistent flags to enable HWAES intsructions. 69*9356374aSAndroid Build Coastguard Worker cpu_configs = [ 70*9356374aSAndroid Build Coastguard Worker "ppc", 71*9356374aSAndroid Build Coastguard Worker "k8", 72*9356374aSAndroid Build Coastguard Worker "darwin_x86_64", 73*9356374aSAndroid Build Coastguard Worker "darwin", 74*9356374aSAndroid Build Coastguard Worker "x64_windows_msvc", 75*9356374aSAndroid Build Coastguard Worker "x64_windows", 76*9356374aSAndroid Build Coastguard Worker "aarch64", 77*9356374aSAndroid Build Coastguard Worker ] 78*9356374aSAndroid Build Coastguard Worker for cpu in cpu_configs: 79*9356374aSAndroid Build Coastguard Worker native.config_setting( 80*9356374aSAndroid Build Coastguard Worker name = "cpu_%s" % cpu, 81*9356374aSAndroid Build Coastguard Worker values = {"cpu": cpu}, 82*9356374aSAndroid Build Coastguard Worker ) 83