From: Steve McIntyre <93sam@debian.org> Date: Mon, 5 Aug 2024 10:51:56 +0000 (+0100) Subject: Build with GnuTLS. X-Git-Tag: archive/raspbian/8.9.1-2+rpi1^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c4f417f3fff8c8a5886e2e308254040f089e7bd5;p=curl.git Build with GnuTLS. Origin: vendor Forwarded: not-needed Last-Update: 2024-08-05 Gbp-Pq: Name ZZZgnutls-build.patch --- diff --git a/configure.ac b/configure.ac index 1e18b815..5d1abcb5 100644 --- a/configure.ac +++ b/configure.ac @@ -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]),[ diff --git a/docs/examples/Makefile.am b/docs/examples/Makefile.am index 80ccc592..996ce2f1 100644 --- a/docs/examples/Makefile.am +++ b/docs/examples/Makefile.am @@ -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 diff --git a/lib/Makefile.am b/lib/Makefile.am index 413fcd4d..238099aa 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -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 " $@; diff --git a/lib/libcurl.vers.in b/lib/libcurl.vers.in index ae978a48..7fd4c07d 100644 --- a/lib/libcurl.vers.in +++ b/lib/libcurl.vers.in @@ -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: *; diff --git a/src/Makefile.am b/src/Makefile.am index 4ce83c92..d163eeda 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 diff --git a/tests/http/clients/Makefile.am b/tests/http/clients/Makefile.am index 8fdc190b..233ebd23 100644 --- a/tests/http/clients/Makefile.am +++ b/tests/http/clients/Makefile.am @@ -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 diff --git a/tests/http/clients/Makefile.in b/tests/http/clients/Makefile.in index 9eb45a0b..b83858d3 100644 --- a/tests/http/clients/Makefile.in +++ b/tests/http/clients/Makefile.in @@ -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 = diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am index eed916ee..c2c96727 100644 --- a/tests/libtest/Makefile.am +++ b/tests/libtest/Makefile.am @@ -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)