gn build: Add support for building with libcurl.
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 8 Mar 2022 22:48:16 +0000 (14:48 -0800)
committerPeter Collingbourne <peter@pcc.me.uk>
Mon, 14 Mar 2022 19:52:19 +0000 (12:52 -0700)
Differential Revision: https://reviews.llvm.org/D121260

llvm/utils/gn/build/libs/curl/BUILD.gn [new file with mode: 0644]
llvm/utils/gn/build/libs/curl/enable.gni [new file with mode: 0644]
llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
llvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
llvm/utils/gn/secondary/llvm/test/BUILD.gn

diff --git a/llvm/utils/gn/build/libs/curl/BUILD.gn b/llvm/utils/gn/build/libs/curl/BUILD.gn
new file mode 100644 (file)
index 0000000..ba7b50a
--- /dev/null
@@ -0,0 +1,12 @@
+import("//llvm/utils/gn/build/libs/curl/enable.gni")
+
+config("curl_config") {
+  visibility = [ ":curl" ]
+  libs = [ "curl" ]
+}
+
+group("curl") {
+  if (llvm_enable_libcurl) {
+    public_configs = [ ":curl_config" ]
+  }
+}
diff --git a/llvm/utils/gn/build/libs/curl/enable.gni b/llvm/utils/gn/build/libs/curl/enable.gni
new file mode 100644 (file)
index 0000000..90d662a
--- /dev/null
@@ -0,0 +1,3 @@
+declare_args() {
+  llvm_enable_libcurl = false
+}
index 64f06a8086055a35ca374c748138b9a163d04705..6cd6c4f2af9e7181539810a9102daf2ef3dc0703 100644 (file)
@@ -5,6 +5,7 @@ import("//llvm/lib/Target/targets_with_disassemblers.gni")
 import("//llvm/lib/Target/targets_with_mcas.gni")
 import("//llvm/triples.gni")
 import("//llvm/utils/gn/build/buildflags.gni")
+import("//llvm/utils/gn/build/libs/curl/enable.gni")
 import("//llvm/utils/gn/build/libs/edit/enable.gni")
 import("//llvm/utils/gn/build/libs/pthread/enable.gni")
 import("//llvm/utils/gn/build/libs/terminfo/enable.gni")
@@ -333,7 +334,6 @@ write_cmake_config("llvm-config") {
     "LLVM_BUILD_LLVM_DYLIB=",
     "LLVM_BUILD_SHARED_LIBS=",
     "LLVM_DEFAULT_TARGET_TRIPLE=$llvm_target_triple",
-    "LLVM_ENABLE_CURL=",
     "LLVM_ENABLE_DUMP=",
     "LLVM_ENABLE_NEW_PASS_MANAGER=1",
     "LLVM_FORCE_ENABLE_STATS=",
@@ -388,6 +388,12 @@ write_cmake_config("llvm-config") {
   } else {
     values += [ "LLVM_ENABLE_ZLIB=" ]
   }
+
+  if (llvm_enable_libcurl) {
+    values += [ "LLVM_ENABLE_CURL=1" ]
+  } else {
+    values += [ "LLVM_ENABLE_CURL=" ]
+  }
 }
 
 ##############################################################################
index 975dfbf47497a0a3d7993fed1dc4b7e429217c05..923192b677557532bf73da80c66ae50d12854a39 100644 (file)
@@ -1,6 +1,9 @@
 static_library("Debuginfod") {
   output_name = "LLVMDebuginfod"
-  deps = [ "//llvm/lib/Support" ]
+  deps = [
+    "//llvm/lib/Support",
+    "//llvm/utils/gn/build/libs/curl",
+  ]
   sources = [
     "DIFetcher.cpp",
     "Debuginfod.cpp",
index bcf8dcaa32fc3a18413b320f18d72230de492470..d37f5616acdcffb13bde5dcf4decb38b3f4e6838 100644 (file)
@@ -2,6 +2,7 @@ import("//llvm/lib/DebugInfo/PDB/enable_dia.gni")
 import("//llvm/lib/Target/targets_string.gni")
 import("//llvm/triples.gni")
 import("//llvm/utils/gn/build/buildflags.gni")
+import("//llvm/utils/gn/build/libs/curl/enable.gni")
 import("//llvm/utils/gn/build/libs/pthread/enable.gni")
 import("//llvm/utils/gn/build/libs/xar/enable.gni")
 import("//llvm/utils/gn/build/libs/xml/enable.gni")
@@ -58,7 +59,6 @@ write_lit_config("lit_site_cfg") {
     # (That check also checks LLVM_HOST_TRIPLE.)
     "HOST_LDFLAGS=",
 
-    "LLVM_ENABLE_CURL=0",
     "LLVM_ENABLE_FFI=0",
     "LLVM_HAVE_OPT_VIEWER_MODULES=0",
     "LLVM_HOST_TRIPLE=$llvm_current_triple",
@@ -208,6 +208,12 @@ write_lit_config("lit_site_cfg") {
   } else {
     extra_values += [ "LLVM_ENABLE_ZLIB=0" ]  # Must be 0.
   }
+
+  if (llvm_enable_libcurl) {
+    extra_values += [ "LLVM_ENABLE_CURL=1" ]
+  } else {
+    extra_values += [ "LLVM_ENABLE_CURL=0" ]  # Must be 0.
+  }
 }
 
 write_lit_config("lit_unit_site_cfg") {