summaryrefslogtreecommitdiff
path: root/absl/flags/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'absl/flags/BUILD.bazel')
-rw-r--r--absl/flags/BUILD.bazel125
1 files changed, 103 insertions, 22 deletions
diff --git a/absl/flags/BUILD.bazel b/absl/flags/BUILD.bazel
index 2fe61eaa..cdb4e7e8 100644
--- a/absl/flags/BUILD.bazel
+++ b/absl/flags/BUILD.bazel
@@ -1,5 +1,5 @@
#
-# Copyright 2019 The Abseil Authors.
+# Copyright 2019 The Abseil Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,6 +14,7 @@
# limitations under the License.
#
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
load(
"//absl:copts/configure_copts.bzl",
"ABSL_DEFAULT_COPTS",
@@ -26,12 +27,35 @@ package(default_visibility = ["//visibility:public"])
licenses(["notice"]) # Apache 2.0
cc_library(
- name = "internal",
+ name = "flag_internal",
+ srcs = [
+ "internal/flag.cc",
+ ],
+ hdrs = [
+ "internal/flag.h",
+ ],
+ copts = ABSL_DEFAULT_COPTS,
+ linkopts = ABSL_DEFAULT_LINKOPTS,
+ visibility = ["//absl/base:__subpackages__"],
+ deps = [
+ ":config",
+ ":handle",
+ ":registry",
+ "//absl/base",
+ "//absl/base:config",
+ "//absl/base:core_headers",
+ "//absl/memory",
+ "//absl/strings",
+ "//absl/synchronization",
+ ],
+)
+
+cc_library(
+ name = "program_name",
srcs = [
"internal/program_name.cc",
],
hdrs = [
- "internal/path_util.h",
"internal/program_name.h",
],
copts = ABSL_DEFAULT_COPTS,
@@ -40,12 +64,31 @@ cc_library(
"//absl/flags:__pkg__",
],
deps = [
+ ":path_util",
+ "//absl/base:config",
+ "//absl/base:core_headers",
"//absl/strings",
"//absl/synchronization",
],
)
cc_library(
+ name = "path_util",
+ hdrs = [
+ "internal/path_util.h",
+ ],
+ copts = ABSL_DEFAULT_COPTS,
+ linkopts = ABSL_DEFAULT_LINKOPTS,
+ visibility = [
+ "//absl/flags:__pkg__",
+ ],
+ deps = [
+ "//absl/base:config",
+ "//absl/strings",
+ ],
+)
+
+cc_library(
name = "config",
srcs = [
"usage_config.cc",
@@ -57,7 +100,9 @@ cc_library(
copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
- ":internal",
+ ":path_util",
+ ":program_name",
+ "//absl/base:config",
"//absl/base:core_headers",
"//absl/strings",
"//absl/synchronization",
@@ -75,7 +120,9 @@ cc_library(
copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
+ "//absl/base:config",
"//absl/base:core_headers",
+ "//absl/base:log_severity",
"//absl/strings",
"//absl/strings:str_format",
],
@@ -83,9 +130,6 @@ cc_library(
cc_library(
name = "handle",
- srcs = [
- "internal/commandlineflag.cc",
- ],
hdrs = [
"internal/commandlineflag.h",
],
@@ -97,10 +141,9 @@ cc_library(
deps = [
":config",
":marshalling",
- "//absl/base",
+ "//absl/base:config",
"//absl/base:core_headers",
"//absl/strings",
- "//absl/synchronization",
"//absl/types:optional",
],
)
@@ -123,9 +166,9 @@ cc_library(
deps = [
":config",
":handle",
- "//absl/base",
+ "//absl/base:config",
"//absl/base:core_headers",
- "//absl/base:dynamic_annotations",
+ "//absl/base:raw_logging_internal",
"//absl/strings",
"//absl/synchronization",
],
@@ -139,16 +182,17 @@ cc_library(
hdrs = [
"declare.h",
"flag.h",
- "internal/flag.h",
],
copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
":config",
+ ":flag_internal",
":handle",
":marshalling",
":registry",
"//absl/base",
+ "//absl/base:config",
"//absl/base:core_headers",
"//absl/strings",
],
@@ -170,10 +214,14 @@ cc_library(
deps = [
":config",
":flag",
+ ":flag_internal",
":handle",
- ":internal",
+ ":path_util",
+ ":program_name",
+ ":registry",
+ "//absl/base:config",
+ "//absl/base:core_headers",
"//absl/strings",
- "//absl/synchronization",
],
)
@@ -189,6 +237,8 @@ cc_library(
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
":usage_internal",
+ "//absl/base:config",
+ "//absl/base:core_headers",
"//absl/strings",
"//absl/synchronization",
],
@@ -206,18 +256,21 @@ cc_library(
deps = [
":config",
":flag",
+ ":flag_internal",
":handle",
- ":internal",
+ ":program_name",
":registry",
":usage",
":usage_internal",
+ "//absl/base:config",
+ "//absl/base:core_headers",
"//absl/strings",
"//absl/synchronization",
],
)
############################################################################
-# Unit tests in alpahabetical order.
+# Unit tests in alphabetical order.
cc_test(
name = "commandlineflag_test",
@@ -228,6 +281,7 @@ cc_test(
copts = ABSL_TEST_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
+ ":config",
":flag",
":handle",
":registry",
@@ -261,12 +315,34 @@ cc_test(
copts = ABSL_TEST_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
+ ":config",
":flag",
+ ":flag_internal",
+ ":handle",
+ ":registry",
+ "//absl/base:core_headers",
"//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
+cc_binary(
+ name = "flag_benchmark",
+ testonly = 1,
+ srcs = [
+ "flag_benchmark.cc",
+ ],
+ copts = ABSL_TEST_COPTS,
+ tags = ["benchmark"],
+ visibility = ["//visibility:private"],
+ deps = [
+ ":flag",
+ "//absl/time",
+ "//absl/types:optional",
+ "@com_github_google_benchmark//:benchmark_main",
+ ],
+)
+
cc_test(
name = "marshalling_test",
size = "small",
@@ -290,7 +366,7 @@ cc_test(
copts = ABSL_TEST_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
- ":internal",
+ ":path_util",
"@com_google_googletest//:gtest_main",
],
)
@@ -306,7 +382,8 @@ cc_test(
deps = [
":flag",
":parse",
- "//absl/base",
+ ":registry",
+ "//absl/base:raw_logging_internal",
"//absl/base:scoped_set_env",
"//absl/strings",
"//absl/types:span",
@@ -323,7 +400,7 @@ cc_test(
copts = ABSL_TEST_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
- ":internal",
+ ":program_name",
"//absl/strings",
"@com_google_googletest//:gtest_main",
],
@@ -339,9 +416,10 @@ cc_test(
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
":flag",
+ ":handle",
+ ":marshalling",
":registry",
"//absl/memory",
- "//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
@@ -356,7 +434,8 @@ cc_test(
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
":config",
- ":internal",
+ ":path_util",
+ ":program_name",
"//absl/strings",
"@com_google_googletest//:gtest_main",
],
@@ -373,8 +452,10 @@ cc_test(
deps = [
":config",
":flag",
- ":internal",
":parse",
+ ":path_util",
+ ":program_name",
+ ":registry",
":usage",
":usage_internal",
"//absl/memory",