tvl-depot/absl/copts/configure_copts.bzl
Abseil Team 1948f6f967 Export of internal Abseil changes
--
bc74316103bbda92541896f588f71c9d45bea768 by Gennadiy Civil <misterg@google.com>:

Manually fixing the BUILD.bazel files

--
d41bf9ea916a0dc8c69e6ba77f58f9d55649880e by Shaindel Schwartz <shaindel@google.com>:

Minor cleanup to miscellaneous BUILD files.

PiperOrigin-RevId: 266420157

--
08a8dc2cbd48d27e1115809f9ca8d178551cd66e by Gennadiy Civil <misterg@google.com>:

Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC

--
8617d58fde1ece40e4aa79eaa5e250b42d19835f by Shaindel Schwartz <shaindel@google.com>:

Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC

--
3a0fc7d48bdc70c4f7dffc219578693dea84eb2d by Derek Mauro <dmauro@google.com>:

Implement absl::string_view::at()

PiperOrigin-RevId: 266024644

--
ba53a9da8ede8fe7b8971eaab6b3a1fa34763ff6 by Andy Soffer <asoffer@google.com>:

Remove forcing of optimization levels in MSVC.

PiperOrigin-RevId: 265927588

--
df86f2046b54bba7da2e345040806d43470de5c0 by Shaindel Schwartz <shaindel@google.com>:

Internal change

PiperOrigin-RevId: 265811077

--
e2e3a6e8194363e7c6377672560c806d638a7c74 by Derek Mauro <dmauro@google.com>:

Remove ABI unsafe mixed exceptions mode compilation.
Testing will now be done on CI with the exceptions flag set globally.

PiperOrigin-RevId: 265796079
GitOrigin-RevId: bc74316103bbda92541896f588f71c9d45bea768
Change-Id: Ibccd00f4829520454aa55c4f55c7cb2dc9c6b65a
2019-08-30 15:38:01 -04:00

76 lines
2.3 KiB
Python

"""absl specific copts.
This file simply selects the correct options from the generated files. To
change Abseil copts, edit absl/copts/copts.py
"""
load(
"//absl:copts/GENERATED_copts.bzl",
"ABSL_GCC_FLAGS",
"ABSL_GCC_TEST_FLAGS",
"ABSL_LLVM_FLAGS",
"ABSL_LLVM_TEST_FLAGS",
"ABSL_MSVC_FLAGS",
"ABSL_MSVC_LINKOPTS",
"ABSL_MSVC_TEST_FLAGS",
"ABSL_RANDOM_HWAES_ARM32_FLAGS",
"ABSL_RANDOM_HWAES_ARM64_FLAGS",
"ABSL_RANDOM_HWAES_MSVC_X64_FLAGS",
"ABSL_RANDOM_HWAES_X64_FLAGS",
)
ABSL_DEFAULT_COPTS = select({
"//absl:windows": ABSL_MSVC_FLAGS,
"//absl:llvm_compiler": ABSL_LLVM_FLAGS,
"//conditions:default": ABSL_GCC_FLAGS,
})
# in absence of modules (--compiler=gcc or -c opt), cc_tests leak their copts
# to their (included header) dependencies and fail to build outside absl
ABSL_TEST_COPTS = ABSL_DEFAULT_COPTS + select({
"//absl:windows": ABSL_MSVC_TEST_FLAGS,
"//absl:llvm_compiler": ABSL_LLVM_TEST_FLAGS,
"//conditions:default": ABSL_GCC_TEST_FLAGS,
})
ABSL_DEFAULT_LINKOPTS = select({
"//absl:windows": ABSL_MSVC_LINKOPTS,
"//conditions:default": [],
})
# ABSL_RANDOM_RANDEN_COPTS blaze copts flags which are required by each
# environment to build an accelerated RandenHwAes library.
ABSL_RANDOM_RANDEN_COPTS = select({
# APPLE
":cpu_darwin_x86_64": ABSL_RANDOM_HWAES_X64_FLAGS,
":cpu_darwin": ABSL_RANDOM_HWAES_X64_FLAGS,
":cpu_x64_windows_msvc": ABSL_RANDOM_HWAES_MSVC_X64_FLAGS,
":cpu_x64_windows": ABSL_RANDOM_HWAES_MSVC_X64_FLAGS,
":cpu_haswell": ABSL_RANDOM_HWAES_X64_FLAGS,
":cpu_ppc": ["-mcrypto"],
# Supported by default or unsupported.
"//conditions:default": [],
})
# absl_random_randen_copts_init:
# Initialize the config targets based on cpu, os, etc. used to select
# the required values for ABSL_RANDOM_RANDEN_COPTS
def absl_random_randen_copts_init():
"""Initialize the config_settings used by ABSL_RANDOM_RANDEN_COPTS."""
# CPU configs.
# These configs have consistent flags to enable HWAES intsructions.
cpu_configs = [
"ppc",
"haswell",
"darwin_x86_64",
"darwin",
"x64_windows_msvc",
"x64_windows",
]
for cpu in cpu_configs:
native.config_setting(
name = "cpu_%s" % cpu,
values = {"cpu": cpu},
)