git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 2/2] Makefile: allow static linking against libcurl

From
Dave Borowitz <dborowitz@google.com>
Date
Apr 28, 2014, 19:35 UTC
Message-ID
<1398713704-15428-2-git-send-email-dborowitz@google.com>
In-Reply-To
<1398713704-15428-1-git-send-email-dborowitz@google.com>

This requires more flags than can be guessed with the old-style CURLDIR and related options, so is only supported when curl-config is present.

Signed-off-by: Dave Borowitz <dborowitz@google.com>
---
 Makefile | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/Makefile b/Makefile
index cb4ee37..360d427 100644
--- a/Makefile
+++ b/Makefile
@@ -39,6 +39,9 @@ all::
 # is not found, defaults to the CURLDIR behavior, or if CURLDIR is not set,
 # uses -lcurl with no additional library detection.
 #
+# Define CURL_STATIC to statically link libcurl.  Only applies if
+# CURL_CONFIG is used.
+#
 # Define CURLDIR=/foo/bar if your curl header and library files are in
 # /foo/bar/include and /foo/bar/lib directories.  This overrides CURL_CONFIG,
 # but is less robust.
@@ -1137,6 +1140,9 @@ else
 	endif
 
 	ifeq "$(CURL_LIBCURL)" ""
+		ifdef CURL_STATIC
+                        $(error "CURL_STATIC must be used with CURL_CONFIG")
+		endif
 		ifdef CURLDIR
 			# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
 			BASIC_CFLAGS += -I$(CURLDIR)/include
@@ -1155,6 +1161,12 @@ else
 		endif
 	else
 		BASIC_CFLAGS += $(shell $(CURL_CONFIG) --cflags)
+		ifdef CURL_STATIC
+			CURL_LIBCURL = $(shell $(CURL_CONFIG) --static-libs)
+			ifeq "$(CURL_LIBCURL)" ""
+                                $(error libcurl not detected or not compiled with static support)
+			endif
+		endif
 	endif
 
 	REMOTE_CURL_PRIMARY = git-remote-http$X
-- 
1.9.1.423.g4596e3a
Previous: Dave BorowitzNext: Jonathan Nieder
Message 2 of 7 in “Makefile: use curl-config to determine curl flags”
  1. 1/2 Makefile: use curl-config to determine curl flagsDave Borowitz, Apr 28, 2014
  2. 2/2 Makefile: allow static linking against libcurlDave Borowitz, Apr 28, 2014
  3. Jonathan NiederApr 28, 2014
  4. Dave BorowitzApr 28, 2014
  5. Junio C HamanoApr 28, 2014
  6. Junio C HamanoApr 28, 2014
  7. Junio C HamanoApr 28, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.