[llvm] 8f675d1 - [gn] port f78f93bc9fd4 (libc++ tzdb)

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 6 17:03:03 PDT 2023


Author: Nico Weber
Date: 2023-09-06T20:02:48-04:00
New Revision: 8f675d1a26b1e0acf9b007f6ca8af18964a70594

URL: https://github.com/llvm/llvm-project/commit/8f675d1a26b1e0acf9b007f6ca8af18964a70594
DIFF: https://github.com/llvm/llvm-project/commit/8f675d1a26b1e0acf9b007f6ca8af18964a70594.diff

LOG: [gn] port f78f93bc9fd4 (libc++ tzdb)

Added: 
    

Modified: 
    llvm/utils/gn/secondary/libcxx/config.gni
    llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    llvm/utils/gn/secondary/libcxx/src/BUILD.gn

Removed: 
    


################################################################################
diff  --git a/llvm/utils/gn/secondary/libcxx/config.gni b/llvm/utils/gn/secondary/libcxx/config.gni
index 9e49db1dcc8ceaa..e5bdf545da4fb41 100644
--- a/llvm/utils/gn/secondary/libcxx/config.gni
+++ b/llvm/utils/gn/secondary/libcxx/config.gni
@@ -4,4 +4,7 @@ declare_args() {
 
   # libc++ inline ABI namespace. Defaults to __n, where n is the ABI version.
   libcxx_abi_namespace = ""
+
+  # Build timezone database as part of libc++experimental.
+  libcxx_enable_time_zone_database = target_os == "linux"
 }

diff  --git a/llvm/utils/gn/secondary/libcxx/include/BUILD.gn b/llvm/utils/gn/secondary/libcxx/include/BUILD.gn
index 5c24868d9417818..0f3c4af4c0606d5 100644
--- a/llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+++ b/llvm/utils/gn/secondary/libcxx/include/BUILD.gn
@@ -51,6 +51,11 @@ if (current_toolchain == default_toolchain) {
     } else {
       values += [ "_LIBCPP_ABI_NAMESPACE=__" + libcxx_abi_version ]
     }
+    if (!libcxx_enable_time_zone_database) {
+      values += [ "_LIBCPP_HAS_NO_TIME_ZONE_DATABASE=1" ]
+    } else {
+      values += [ "_LIBCPP_HAS_NO_TIME_ZONE_DATABASE=" ]
+    }
   }
 
   write_cmake_config("write_modulemap") {
@@ -351,6 +356,8 @@ if (current_toolchain == default_toolchain) {
       "__chrono/steady_clock.h",
       "__chrono/system_clock.h",
       "__chrono/time_point.h",
+      "__chrono/tzdb.h",
+      "__chrono/tzdb_list.h",
       "__chrono/weekday.h",
       "__chrono/year.h",
       "__chrono/year_month.h",

diff  --git a/llvm/utils/gn/secondary/libcxx/src/BUILD.gn b/llvm/utils/gn/secondary/libcxx/src/BUILD.gn
index 348becbfe164e58..580c3cfc972faee 100644
--- a/llvm/utils/gn/secondary/libcxx/src/BUILD.gn
+++ b/llvm/utils/gn/secondary/libcxx/src/BUILD.gn
@@ -12,7 +12,7 @@ declare_args() {
   # Build libc++ as a static library.
   libcxx_enable_static = true
 
-  # Build filesystem as part of libc++fs.a.
+  # Build filesystem as part of libc++.
   libcxx_enable_filesystem = target_os != "win"
 
   # Build libc++experimental.a.
@@ -307,6 +307,12 @@ if (libcxx_enable_experimental) {
     output_dir = runtimes_dir
     output_name = "c++experimental"
     sources = [ "experimental/memory_resource.cpp" ]
+    if (libcxx_enable_filesystem && libcxx_enable_time_zone_database) {
+      sources += [
+        "tz.cpp",
+        "tzdb_list.cpp",
+      ]
+    }
     deps = [ "//libcxx/include" ]
     configs += [ ":cxx_config" ]
     configs -= [


        


More information about the llvm-commits mailing list