diff options
Diffstat (limited to 'absl/flags/BUILD.bazel')
-rw-r--r-- | absl/flags/BUILD.bazel | 125 |
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", |