Build with GnuTLS.
authorSteve McIntyre <93sam@debian.org>
Mon, 5 Aug 2024 10:51:56 +0000 (11:51 +0100)
committerCarlos Henrique Lima Melara <charlesmelara@riseup.net>
Fri, 9 Aug 2024 22:47:58 +0000 (19:47 -0300)
Origin: vendor
Forwarded: not-needed
Last-Update: 2024-08-05

Gbp-Pq: Name ZZZgnutls-build.patch

configure.ac
docs/examples/Makefile.am
lib/Makefile.am
lib/libcurl.vers.in
src/Makefile.am
tests/http/clients/Makefile.am
tests/http/clients/Makefile.in
tests/libtest/Makefile.am

index 1e18b8156e3ae613e0b20aa5da1f30da647c0c55..5d1abcb52819603d067d7ea2e5b6a13e285c1f5e 100644 (file)
@@ -264,6 +264,16 @@ AS_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to th
   fi
 ])
 
+# Debian-specific changes - tweak build settings if we're building with gnutls
+AM_CONDITIONAL(GNUTLSBUILD, test x$OPT_GNUTLS != xno)
+if test X$OPT_GNUTLS != Xno; then
+  AC_SUBST(LIBCURL_FILESTUB, ["libcurl-gnutls"])
+  AC_SUBST(LIBCURL_SHLIB_VERSION, [3])
+else
+  AC_SUBST(LIBCURL_FILESTUB, ["libcurl"])
+  AC_SUBST(LIBCURL_SHLIB_VERSION, [4])
+fi
+
 OPT_MBEDTLS=no
 AC_ARG_WITH(mbedtls,dnl
 AS_HELP_STRING([--with-mbedtls=PATH],[where to look for mbedTLS, PATH points to the installation root]),[
index 80ccc59251c41f392119e12fdcd5216a995597be..996ce2f168cb5335e06c27491c48118ce4565688 100644 (file)
@@ -51,9 +51,9 @@ LIBS = $(BLANK_AT_MAKETIME)
 
 # Dependencies
 if USE_EXPLICIT_LIB_DEPS
-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la @LIBCURL_LIBS@
 else
-LDADD = $(LIBDIR)/libcurl.la
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la
 endif
 
 # This might hold -Werror
index 413fcd4d55426d1d5e1a279b2f6aef6928b2b157..238099aa6fc8e3e9ea5ec7cb0f13fce42e1577c9 100644 (file)
@@ -30,7 +30,11 @@ EXTRA_DIST = Makefile.mk config-win32.h config-win32ce.h config-plan9.h \
  config-amigaos.h config-win32ce.h config-os400.h setup-os400.h         \
  $(CMAKE_DIST) setup-win32.h .checksrc Makefile.soname
 
+if GNUTLSBUILD
+lib_LTLIBRARIES = libcurl-gnutls.la
+else
 lib_LTLIBRARIES = libcurl.la
+endif
 
 if BUILD_UNITTESTS
 noinst_LTLIBRARIES = libcurlu.la
@@ -66,55 +70,103 @@ AM_CFLAGS =
 # Makefile.inc provides the CSOURCES and HHEADERS defines
 include Makefile.inc
 
+if GNUTLSBUILD
+libcurl_gnutls_la_SOURCES = $(CSOURCES) $(HHEADERS)
+libcurlu_gnutls_la_SOURCES = $(CSOURCES) $(HHEADERS)
+libcurl_gnutls_la_CPPFLAGS_EXTRA =
+libcurl_gnutls_la_LDFLAGS_EXTRA =
+libcurl_gnutls_la_CFLAGS_EXTRA =
+else
 libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
 libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
-
 libcurl_la_CPPFLAGS_EXTRA =
 libcurl_la_LDFLAGS_EXTRA =
 libcurl_la_CFLAGS_EXTRA =
+endif
 
 if CURL_LT_SHLIB_USE_VERSION_INFO
+if GNUTLSBUILD
+libcurl_gnutls_la_LDFLAGS_EXTRA += $(VERSIONINFO)
+else
 libcurl_la_LDFLAGS_EXTRA += $(VERSIONINFO)
 endif
+endif
 
 if CURL_LT_SHLIB_USE_NO_UNDEFINED
+if GNUTLSBUILD
+libcurl_gnutls_la_LDFLAGS_EXTRA += -no-undefined
+else
 libcurl_la_LDFLAGS_EXTRA += -no-undefined
 endif
+endif
 
 if CURL_LT_SHLIB_USE_MIMPURE_TEXT
+if GNUTLSBUILD
+libcurl_gnutls_la_LDFLAGS_EXTRA += -mimpure-text
+else
 libcurl_la_LDFLAGS_EXTRA += -mimpure-text
 endif
+endif
 
 if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS
+if GNUTLSBUILD
+libcurl_gnutls_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers
+else
 libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers
+endif
 else
 # if symbol-hiding is enabled, hide them!
 if DOING_CURL_SYMBOL_HIDING
+if GNUTLSBUILD
+libcurl_gnutls_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*'
+else
 libcurl_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*'
 endif
 endif
+endif
 
 if USE_CPPFLAG_CURL_STATICLIB
+if GNUTLSBUILD
+libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB
+else
 libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB
+endif
 else
 if HAVE_WINDRES
+if GNUTLSBUILD
+libcurl_gnutls_la_SOURCES += $(LIB_RCFILES)
+else
 libcurl_la_SOURCES += $(LIB_RCFILES)
+endif
 $(LIB_RCFILES): $(top_srcdir)/include/curl/curlver.h
 endif
 endif
 
 if DOING_CURL_SYMBOL_HIDING
+if GNUTLSBUILD
+libcurl_gnutls_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS
+libcurl_gnutls_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING)
+else
 libcurl_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS
 libcurl_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING)
 endif
+endif
 
+if GNUTLSBUILD
+libcurl_gnutls_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_gnutls_la_CPPFLAGS_EXTRA)
+libcurl_gnutls_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_gnutls_la_LDFLAGS_EXTRA) $(CURL_LDFLAGS_LIB) $(LIBCURL_LIBS)
+libcurl_gnutls_la_CFLAGS = $(AM_CFLAGS) $(libcurl_gnutls_la_CFLAGS_EXTRA)
+libcurlu_gnutls_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS
+libcurlu_gnutls_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS)
+libcurlu_gnutls_la_CFLAGS = $(AM_CFLAGS)
+else
 libcurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA)
 libcurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(CURL_LDFLAGS_LIB) $(LIBCURL_LIBS)
 libcurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA)
-
 libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS
 libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS)
 libcurlu_la_CFLAGS = $(AM_CFLAGS)
+endif
 
 CHECKSRC = $(CS_$(V))
 CS_0 = @echo "  RUN     " $@;
index ae978a485d3e01b4d1b0c115489e941120caadbb..7fd4c07d0857e7e1471b4fdedd1b14139b2e5d6f 100644 (file)
@@ -6,7 +6,7 @@ HIDDEN
     _save*;
 };
 
-CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@4
+CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@@LIBCURL_SHLIB_VERSION@
 {
   global: curl_*;
   local: *;
index 4ce83c92395e09e8043222bc5727a0c361985679..d163eeda7ff96acefbb50dec9bf321108324eb4b 100644 (file)
@@ -68,9 +68,9 @@ CFLAGS += @CURL_CFLAG_EXTRAS@
 LIBS = $(BLANK_AT_MAKETIME)
 
 if USE_EXPLICIT_LIB_DEPS
-curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
+curl_LDADD = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_LIBS@
 else
-curl_LDADD = $(top_builddir)/lib/libcurl.la @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
+curl_LDADD = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
 endif
 
 # if unit tests are enabled, build a static library to link them with
index 8fdc190b94eead5ec3b95781dc36fb6e62c3ab5c..233ebd235c1c31b2210e45b6f5522e0e86da81df 100644 (file)
@@ -51,9 +51,9 @@ LIBS = $(BLANK_AT_MAKETIME)
 
 # Dependencies
 if USE_EXPLICIT_LIB_DEPS
-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la @LIBCURL_LIBS@
 else
-LDADD = $(LIBDIR)/libcurl.la
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la
 endif
 
 # This might hold -Werror
index 9eb45a0ba18afebd1a3cd5878c52b2f5f3c57627..b83858d3f2c050e863349eb40d56255a439bc558 100644 (file)
@@ -178,9 +178,9 @@ h2_download_SOURCES = h2-download.c
 h2_download_OBJECTS = h2-download.$(OBJEXT)
 h2_download_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@h2_download_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@h2_download_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
@@ -189,51 +189,51 @@ h2_pausing_SOURCES = h2-pausing.c
 h2_pausing_OBJECTS = h2-pausing.$(OBJEXT)
 h2_pausing_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@h2_pausing_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@h2_pausing_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 h2_serverpush_SOURCES = h2-serverpush.c
 h2_serverpush_OBJECTS = h2-serverpush.$(OBJEXT)
 h2_serverpush_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@h2_serverpush_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@h2_serverpush_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 h2_upgrade_extreme_SOURCES = h2-upgrade-extreme.c
 h2_upgrade_extreme_OBJECTS = h2-upgrade-extreme.$(OBJEXT)
 h2_upgrade_extreme_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@h2_upgrade_extreme_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@h2_upgrade_extreme_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 tls_session_reuse_SOURCES = tls-session-reuse.c
 tls_session_reuse_OBJECTS = tls-session-reuse.$(OBJEXT)
 tls_session_reuse_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@tls_session_reuse_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@tls_session_reuse_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 upload_pausing_SOURCES = upload-pausing.c
 upload_pausing_OBJECTS = upload-pausing.$(OBJEXT)
 upload_pausing_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@upload_pausing_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@upload_pausing_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 ws_data_SOURCES = ws-data.c
 ws_data_OBJECTS = ws-data.$(OBJEXT)
 ws_data_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@ws_data_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@ws_data_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 ws_pingpong_SOURCES = ws-pingpong.c
 ws_pingpong_OBJECTS = ws-pingpong.$(OBJEXT)
 ws_pingpong_LDADD = $(LDADD)
 @USE_EXPLICIT_LIB_DEPS_FALSE@ws_pingpong_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@  $(LIBDIR)/@LIBCURL_FILESTUB@.la
 @USE_EXPLICIT_LIB_DEPS_TRUE@ws_pingpong_DEPENDENCIES =  \
-@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@   $(LIBDIR)/@LIBCURL_FILESTUB@.la
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -548,10 +548,10 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/lib \
        -I$(top_srcdir)/lib -DCURL_DISABLE_DEPRECATION \
        -DCURL_NO_OLDIES $(am__append_1)
 LIBDIR = $(top_builddir)/lib
-@USE_EXPLICIT_LIB_DEPS_FALSE@LDADD = $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_FALSE@LDADD = $(LIBDIR)/@LIBCURL_FILESTUB@.la
 
 # Dependencies
-@USE_EXPLICIT_LIB_DEPS_TRUE@LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@
+@USE_EXPLICIT_LIB_DEPS_TRUE@LDADD = $(LIBDIR)/@LIBCURL_FILESTUB@.la @LIBCURL_LIBS@
 CHECKSRC = $(CS_$(V))
 CS_0 = @echo "  RUN     " $@;
 CS_1 = 
index eed916eebb4b7f2fe134295050e1f2a58fed073d..c2c9672730aca040d0cd331648dd8e3a04938b84 100644 (file)
@@ -49,11 +49,11 @@ CLEANFILES = lib1521.c
 LIBS = $(BLANK_AT_MAKETIME)
 
 if USE_EXPLICIT_LIB_DEPS
-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
+SUPPORTFILES_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_LIBS@
+TESTUTIL_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_LIBS@
 else
-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@
-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@
+SUPPORTFILES_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @CURL_NETWORK_LIBS@
+TESTUTIL_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @CURL_NETWORK_AND_TIME_LIBS@
 endif
 
 # Dependencies (may need to be overridden)