Improve gn rules to allow linking
Change-Id: Ifb3566f5d89926b56828a1ce093d913df6e99239
diff --git a/BUILD.gn b/BUILD.gn
index a074def..47e682e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -12,4 +12,10 @@
include_dirs = [
"//third_party/abseil-cpp",
]
+
+ cflags = [
+ # Google style does not use unsigned integers, though STL containers
+ # have unsigned types.
+ "-Wno-sign-compare",
+ ]
}
diff --git a/absl/base/BUILD.gn b/absl/base/BUILD.gn
index 4440f8e..d092553 100644
--- a/absl/base/BUILD.gn
+++ b/absl/base/BUILD.gn
@@ -14,3 +14,31 @@
]
}
+
+static_library("base") {
+ public_configs = ["//third_party/abseil-cpp:abseil_config"]
+
+ sources = [
+ "call_once.h",
+ "casts.h",
+ "internal/atomic_hook.h",
+ "internal/cycleclock.cc",
+ "internal/cycleclock.h",
+ "internal/low_level_scheduling.h",
+ "internal/per_thread_tls.h",
+ "internal/raw_logging.cc",
+ "internal/raw_logging.h",
+ "internal/spinlock.cc",
+ "internal/spinlock.h",
+ "internal/sysinfo.cc",
+ "internal/sysinfo.h",
+ "internal/thread_identity.cc",
+ "internal/thread_identity.h",
+ "internal/tsan_mutex_interface.h",
+ "internal/unscaledcycleclock.cc",
+ "internal/unscaledcycleclock.h",
+ "log_severity.h",
+ ]
+
+ deps = [":core_headers"]
+}
diff --git a/absl/strings/BUILD.gn b/absl/strings/BUILD.gn
index 8f9b8dd..c889b5e 100644
--- a/absl/strings/BUILD.gn
+++ b/absl/strings/BUILD.gn
@@ -6,13 +6,55 @@
public_configs = ["//third_party/abseil-cpp:abseil_config"]
sources = [
- "escaping.h",
+ "ascii.cc",
+ "ascii.h",
+ "charconv.cc",
+ "charconv.h",
"escaping.cc",
- "str_cat.h",
+ "escaping.h",
+ "internal/charconv_bigint.cc",
+ "internal/charconv_bigint.h",
+ "internal/charconv_parse.cc",
+ "internal/charconv_parse.h",
+ "internal/memutil.cc",
+ "internal/memutil.h",
+ "internal/stl_type_traits.h",
+ "internal/str_join_internal.h",
+ "internal/str_split_internal.h",
+ "match.cc",
+ "match.h",
+ "numbers.cc",
+ "numbers.h",
"str_cat.cc",
+ "str_cat.h",
+ "string_view.cc",
+ "string_view.h",
+ "strip.h",
+ "str_join.h",
+ "str_replace.cc",
+ "str_replace.h",
+ "str_split.cc",
+ "str_split.h",
+ "substitute.cc",
+ "substitute.h",
]
deps = [
- "//third_party/abseil-cpp/absl/base:core_headers",
+ ":internal",
+ "//third_party/abseil-cpp/absl/base:base",
+ ]
+}
+
+static_library("internal") {
+ public_configs = ["//third_party/abseil-cpp:abseil_config"]
+
+ sources = [
+ "internal/bits.h",
+ "internal/char_map.h",
+ "internal/ostringstream.cc",
+ "internal/ostringstream.h",
+ "internal/resize_uninitialized.h",
+ "internal/utf8.cc",
+ "internal/utf8.h",
]
}