|
|
|
"""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_CLANG_CL_FLAGS",
|
|
|
|
"ABSL_CLANG_CL_TEST_FLAGS",
|
|
|
|
"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:msvc_compiler": ABSL_MSVC_FLAGS,
|
|
|
|
"//absl:clang-cl_compiler": ABSL_CLANG_CL_FLAGS,
|
Export of internal Abseil changes
--
0e3e8be75b3ab243991c9b28a27623d86e4511e6 by Abseil Team <absl-team@google.com>:
Add constructor overloads with signature (Mutex*, const Condition&) to MutexLock, ReaderMutexLock, WriterMutexLock, ReleasableMutexLock, MaybeMutexLock.
These overloads call Mutex::LockWhen, Mutex::ReaderLockWhen, Mutex::WriterLockWhen.
Using the guard classes with these new constructors replaces both manual LockWhen/Unlock sequences and the less-efficient, but popular current pattern of "absl::MutexLock lock(&mu); mu.Await(cond);".
PiperOrigin-RevId: 339480213
--
ff999bc08360f5bd95557147c97b0e7b200fe3a8 by Jorg Brown <jorg@google.com>:
ConvertibleToStringView wastes a lot of cycles initializing members just to reset them immediately after. Only initialize the string storage when needed. This makes StrSplit() 0-30% faster depending on the use case.
PiperOrigin-RevId: 339479046
--
0a773bfb8bc141433a41388731357001fdb34881 by Derek Mauro <dmauro@google.com>:
Remove the compiler upgrade fiasco inducing -Weverything -Werror.
Switch to a curated set of warnings that may be expanded in the future.
PiperOrigin-RevId: 339472677
--
eab54e3e11b126283d33f64c914b200038d215a4 by Abseil Team <absl-team@google.com>:
Change execute permission to match presence of the shebang
remove execute permission for cmake_common.sh
add execute permission for conanfile.py
PiperOrigin-RevId: 339453550
--
7f9726fb605ed20f17f3e221dbce0df03d6904c6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 339385761
--
f3210dbee3e8a719cf31706963721722203f90e0 by Derek Mauro <dmauro@google.com>:
Switch clang compiler detection to use to the Bazel supported mechanism
When Abseil launched, we relied on the compiler string "llvm",
which we manually set when we used the automatic crosstool generation
by using the environment variable BAZEL_COMPILER. Today, Bazel detects
clang and automatically sets the compiler string to "clang".
Fixes #732
PiperOrigin-RevId: 339360688
--
413211f59e5e671bf5774efa63ab4df185c74248 by Abseil Team <absl-team@google.com>:
Minor comment clarifications and cosmetic tweaks.
PiperOrigin-RevId: 339344301
GitOrigin-RevId: 0e3e8be75b3ab243991c9b28a27623d86e4511e6
Change-Id: Ia5b7224cd3d274c79ec7f5514fef63014f458f0f
4 years ago
|
|
|
"//absl:clang_compiler": ABSL_LLVM_FLAGS,
|
|
|
|
"//conditions:default": ABSL_GCC_FLAGS,
|
|
|
|
})
|
|
|
|
|
|
|
|
ABSL_TEST_COPTS = ABSL_DEFAULT_COPTS + select({
|
|
|
|
"//absl:msvc_compiler": ABSL_MSVC_TEST_FLAGS,
|
|
|
|
"//absl:clang-cl_compiler": ABSL_CLANG_CL_TEST_FLAGS,
|
Export of internal Abseil changes
--
0e3e8be75b3ab243991c9b28a27623d86e4511e6 by Abseil Team <absl-team@google.com>:
Add constructor overloads with signature (Mutex*, const Condition&) to MutexLock, ReaderMutexLock, WriterMutexLock, ReleasableMutexLock, MaybeMutexLock.
These overloads call Mutex::LockWhen, Mutex::ReaderLockWhen, Mutex::WriterLockWhen.
Using the guard classes with these new constructors replaces both manual LockWhen/Unlock sequences and the less-efficient, but popular current pattern of "absl::MutexLock lock(&mu); mu.Await(cond);".
PiperOrigin-RevId: 339480213
--
ff999bc08360f5bd95557147c97b0e7b200fe3a8 by Jorg Brown <jorg@google.com>:
ConvertibleToStringView wastes a lot of cycles initializing members just to reset them immediately after. Only initialize the string storage when needed. This makes StrSplit() 0-30% faster depending on the use case.
PiperOrigin-RevId: 339479046
--
0a773bfb8bc141433a41388731357001fdb34881 by Derek Mauro <dmauro@google.com>:
Remove the compiler upgrade fiasco inducing -Weverything -Werror.
Switch to a curated set of warnings that may be expanded in the future.
PiperOrigin-RevId: 339472677
--
eab54e3e11b126283d33f64c914b200038d215a4 by Abseil Team <absl-team@google.com>:
Change execute permission to match presence of the shebang
remove execute permission for cmake_common.sh
add execute permission for conanfile.py
PiperOrigin-RevId: 339453550
--
7f9726fb605ed20f17f3e221dbce0df03d6904c6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 339385761
--
f3210dbee3e8a719cf31706963721722203f90e0 by Derek Mauro <dmauro@google.com>:
Switch clang compiler detection to use to the Bazel supported mechanism
When Abseil launched, we relied on the compiler string "llvm",
which we manually set when we used the automatic crosstool generation
by using the environment variable BAZEL_COMPILER. Today, Bazel detects
clang and automatically sets the compiler string to "clang".
Fixes #732
PiperOrigin-RevId: 339360688
--
413211f59e5e671bf5774efa63ab4df185c74248 by Abseil Team <absl-team@google.com>:
Minor comment clarifications and cosmetic tweaks.
PiperOrigin-RevId: 339344301
GitOrigin-RevId: 0e3e8be75b3ab243991c9b28a27623d86e4511e6
Change-Id: Ia5b7224cd3d274c79ec7f5514fef63014f458f0f
4 years ago
|
|
|
"//absl:clang_compiler": ABSL_LLVM_TEST_FLAGS,
|
|
|
|
"//conditions:default": ABSL_GCC_TEST_FLAGS,
|
|
|
|
})
|
|
|
|
|
|
|
|
ABSL_DEFAULT_LINKOPTS = select({
|
|
|
|
"//absl:msvc_compiler": 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_k8": 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",
|
|
|
|
"k8",
|
|
|
|
"darwin_x86_64",
|
|
|
|
"darwin",
|
|
|
|
"x64_windows_msvc",
|
|
|
|
"x64_windows",
|
|
|
|
]
|
|
|
|
for cpu in cpu_configs:
|
|
|
|
native.config_setting(
|
|
|
|
name = "cpu_%s" % cpu,
|
|
|
|
values = {"cpu": cpu},
|
|
|
|
)
|