diff --git a/absl/BUILD.bazel b/absl/BUILD.bazel --- a/absl/BUILD.bazel +++ b/absl/BUILD.bazel @@ -15,11 +15,26 @@ # load("@bazel_skylib//lib:selects.bzl", "selects") +load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") package(default_visibility = ["//visibility:public"]) licenses(["notice"]) +bool_flag( + name = "use_dlls", + build_setting_default = False, + visibility = ["//visibility:public"], +) + +config_setting( + name = "config_use_dlls", + flag_values = { + ":use_dlls": "True", + }, + visibility = [":__subpackages__"], +) + config_setting( name = "clang_compiler", flag_values = { diff --git a/absl/copts/configure_copts.bzl b/absl/copts/configure_copts.bzl --- a/absl/copts/configure_copts.bzl +++ b/absl/copts/configure_copts.bzl @@ -23,6 +23,9 @@ ABSL_DEFAULT_COPTS = select({ "@rules_cc//cc/compiler:clang": ABSL_LLVM_FLAGS, "@rules_cc//cc/compiler:gcc": ABSL_GCC_FLAGS, "//conditions:default": [], +}) + select({ + "//absl:config_use_dlls": ["/DABSL_BUILD_DLL"], + "//conditions:default": [], }) ABSL_TEST_COPTS = select({