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>
Sat, 8 Feb 2025 23:08:26 +0000 (00:08 +0100)
Origin: vendor
Forwarded: not-needed
Last-Update: 2024-11-06

Gbp-Pq: Name ZZZgnutls-build.patch

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

index a2879568ead66355950725e9eefcab452273d06a..5501bee56a7de2d4bbb537981bab79a300957cdc 100644 (file)
@@ -257,6 +257,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(CURL_LIBCURL_VERSIONED_SYMBOLS_SONAME, [3])
+else
+  AC_SUBST(LIBCURL_FILESTUB, ["libcurl"])
+  AC_SUBST(CURL_LIBCURL_VERSIONED_SYMBOLS_SONAME, [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]),[
@@ -2600,7 +2610,7 @@ AS_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shar
 )
 
 AC_SUBST([CURL_LIBCURL_VERSIONED_SYMBOLS_PREFIX], ["$versioned_symbols_flavour"])
-AC_SUBST([CURL_LIBCURL_VERSIONED_SYMBOLS_SONAME], ["4"])  dnl Keep in sync with VERSIONCHANGE - VERSIONDEL in lib/Makefile.soname
+AC_SUBST([CURL_LIBCURL_VERSIONED_SYMBOLS_SONAME], ["4"])  dnl Keep in sync with VERSIONCHANGE - VERSIONDEL in lib/Makefile.soname
 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS],
   [test "x$versioned_symbols" = 'xyes'])
 
index d67b4dd6c4e7a586062d171c1d0fe3a8b1df20cb..a5aebbde115cbac57bf349b96148fefb9c5d657f 100644 (file)
@@ -49,7 +49,7 @@ endif
 LIBS = $(BLANK_AT_MAKETIME)
 
 # Dependencies
-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_PC_LIBS_PRIVATE@
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la @LIBCURL_PC_LIBS_PRIVATE@
 
 # This might hold -Werror
 CFLAGS += @CURL_CFLAG_EXTRAS@
index b77d10bb22b30f8952a8526ce59366e459fea514..7ee50c807762b8409a5027dfc12abd4053aecd01 100644 (file)
@@ -32,7 +32,11 @@ EXTRA_DIST = config-mac.h config-os400.h config-plan9.h config-riscos.h \
  config-win32.h curl_config.h.in libcurl.rc libcurl.def                 \
  $(CMAKE_DIST) Makefile.soname optiontable.pl $(CHECKSRC_DIST)
 
+if GNUTLSBUILD
+lib_LTLIBRARIES = libcurl-gnutls.la
+else
 lib_LTLIBRARIES = libcurl.la
+endif
 
 if BUILD_UNITTESTS
 noinst_LTLIBRARIES = libcurlu.la
@@ -80,59 +84,115 @@ endif
 libcurl_unity.c: $(top_srcdir)/scripts/mk-unity.pl $(CSOURCES)
        @PERL@ $(top_srcdir)/scripts/mk-unity.pl $(srcdir) $(CSOURCES) --exclude $(curl_EXCLUDE) > libcurl_unity.c
 
+if GNUTLSBUILD
+nodist_libcurl_gnutls_la_SOURCES = libcurl_unity.c
+libcurl_gnutls_la_SOURCES = $(curl_EXCLUDE)
+nodist_libcurlu_la_SOURCES = libcurl_unity.c
+libcurlu_la_SOURCES = $(curl_EXCLUDE)
+else
 nodist_libcurl_la_SOURCES = libcurl_unity.c
 libcurl_la_SOURCES = $(curl_EXCLUDE)
 nodist_libcurlu_la_SOURCES = libcurl_unity.c
 libcurlu_la_SOURCES = $(curl_EXCLUDE)
+endif
 CLEANFILES = libcurl_unity.c
 else
+if GNUTLSBUILD
+libcurl_gnutls_la_SOURCES = $(CSOURCES) $(HHEADERS)
+libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
+else
 libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
 libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
 endif
+endif
 
+if GNUTLSBUILD
+libcurl_gnutls_la_CPPFLAGS_EXTRA =
+libcurl_gnutls_la_LDFLAGS_EXTRA =
+libcurl_gnutls_la_CFLAGS_EXTRA =
+else
 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_PC_LIBS_PRIVATE)
+libcurl_gnutls_la_CFLAGS = $(AM_CFLAGS) $(libcurl_gnutls_la_CFLAGS_EXTRA)
+else
 libcurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA)
 libcurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(CURL_LDFLAGS_LIB) $(LIBCURL_PC_LIBS_PRIVATE)
 libcurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA)
-
+endif
 libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS
 libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_PC_LIBS_PRIVATE)
 libcurlu_la_CFLAGS = $(AM_CFLAGS)
index 0969d816507afbd84cd332980c1f6edbb3d6835e..e0495a5d617bcd2f6a12ac65b444c941f41abf78 100644 (file)
@@ -99,7 +99,7 @@ CFLAGS += @CURL_CFLAG_EXTRAS@
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBCURL_PC_LIBS_PRIVATE@
+curl_LDADD = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_PC_LIBS_PRIVATE@
 
 # if unit tests are enabled, build a static library to link them with
 if BUILD_UNITTESTS
index 935614c5fd043d51ad93416a11fc3e232fa9b3c9..2bfcba6f93864bdec59dd23105ac01920ef63940 100644 (file)
@@ -50,7 +50,7 @@ endif
 LIBS = $(BLANK_AT_MAKETIME)
 
 # Dependencies
-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_PC_LIBS_PRIVATE@
+LDADD = $(LIBDIR)/$(LIBCURL_FILESTUB).la @LIBCURL_PC_LIBS_PRIVATE@
 
 # This might hold -Werror
 CFLAGS += @CURL_CFLAG_EXTRAS@
index c1363d8dd7c1b92200c3384b183c79593d5d4c5a..c93b71f24820066e8a8406b836418d538bb5bcd7 100644 (file)
@@ -50,8 +50,8 @@ CLEANFILES = lib1521.c
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_PC_LIBS_PRIVATE@
-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_PC_LIBS_PRIVATE@
+SUPPORTFILES_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_PC_LIBS_PRIVATE@
+TESTUTIL_LIBS = $(top_builddir)/lib/$(LIBCURL_FILESTUB).la @LIBCURL_PC_LIBS_PRIVATE@
 
 # Dependencies (may need to be overridden)
 LDADD = $(SUPPORTFILES_LIBS)