You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
277 lines
9.2 KiB
277 lines
9.2 KiB
2 years ago
|
From c91010238967d6042f2fffd3dd00b436ba5a39f0 Mon Sep 17 00:00:00 2001
|
||
|
From: orbea <orbea@riseup.net>
|
||
|
Date: Thu, 12 May 2022 22:41:54 -0700
|
||
|
Subject: [PATCH] Upstream-PR: https://sourceforge.net/p/libsnet/patches/7/
|
||
|
|
||
|
Restore missing parts from aclocal.m4
|
||
|
|
||
|
* Uses pkg-config for libsasl, libssl and zlib
|
||
|
* Restores CHECK_PROFILED
|
||
|
* Removes broken legacy osx macros
|
||
|
|
||
|
The legacy CHECK_SASL, CHECK_SSL and CHECK_ZLIB macros
|
||
|
have problems with adding hardcoded -L linker directories
|
||
|
to the LDFLAGS which is inappropriate on modern systems.
|
||
|
Using pkg-config avoids this problem.
|
||
|
|
||
|
When setting LIBTOOL in the environment to slibtool the
|
||
|
profiled libraries will fail to build because of the ../
|
||
|
prepended to the $(LIBTOOL) variable. This was expoed when
|
||
|
building radmind which includes libsnet as a submodule.
|
||
|
|
||
|
Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=779664
|
||
|
---
|
||
|
libsnet/Makefile.in | 29 +++++++++++++++--------------
|
||
|
libsnet/configure.ac | 22 +++++++++++++++++-----
|
||
|
libsnet/m4/profiled.m4 | 16 ++++++++++++++++
|
||
|
3 files changed, 48 insertions(+), 19 deletions(-)
|
||
|
create mode 100644 m4/profiled.m4
|
||
|
|
||
|
diff --git a/libsnet/Makefile.in b/libsnet/Makefile.in
|
||
|
index 8af7eaf..2c7932e 100644
|
||
|
--- a/libsnet/Makefile.in
|
||
|
+++ b/libsnet/Makefile.in
|
||
|
@@ -14,8 +14,9 @@ LOBJ = snet.lo
|
||
|
INCPATH= @CPPFLAGS@ -I.
|
||
|
DEFS=
|
||
|
OPTOPTS= @OPTOPTS@
|
||
|
-CFLAGS= ${DEFS} ${OPTOPTS} ${INCPATH} @CFLAGS@
|
||
|
-LDFLAGS= @LDFLAGS@
|
||
|
+CFLAGS= ${DEFS} ${OPTOPTS} ${INCPATH} \
|
||
|
+ @sasl_CFLAGS@ @ssl_CFLAGS@ @zlib_CFLAGS@ @CFLAGS@
|
||
|
+LDFLAGS= @LDFLAGS@ @sasl_LIBS@ @ssl_LIBS@ @zlib_LIBS@
|
||
|
PROFILED= @PROFILED@
|
||
|
CC= @CC@
|
||
|
|
||
|
@@ -31,31 +32,31 @@ DISTDIR= ../libsnet-${VERSION}
|
||
|
.SUFFIXES: .o .lo
|
||
|
|
||
|
.c.o:
|
||
|
- $(LIBTOOL) --mode=compile \
|
||
|
+ $(LIBTOOL) --mode=compile --tag=CC \
|
||
|
$(CC) -c $(CFLAGS) $<
|
||
|
@if test x_$(PROFILED) = x_true ; then echo "building profiled $@" ; \
|
||
|
- ( mkdir -p profiled; cd profiled ; ../$(LIBTOOL) --mode=compile \
|
||
|
+ mkdir -p profiled; $(LIBTOOL) --mode=compile --tag=CC \
|
||
|
$(CC) -c $(CFLAGS) -p -I.. -I$(srcdir) `if [ -f $< ]; then echo $<; \
|
||
|
- else echo ../$<; fi` >/dev/null 2>&1 ) ; fi
|
||
|
+ else echo ../$<; fi` >/dev/null 2>&1 ; fi
|
||
|
|
||
|
.c.lo:
|
||
|
- $(LIBTOOL) --mode=compile \
|
||
|
+ $(LIBTOOL) --mode=compile --tag=CC \
|
||
|
$(CC) -c $(CFLAGS) $<
|
||
|
@if test x_$(PROFILED) = x_true ; then echo "building profiled $@" ; \
|
||
|
- ( mkdir -p profiled; cd profiled ; ../$(LIBTOOL) --mode=compile \
|
||
|
+ mkdir -p profiled; $(LIBTOOL) --mode=compile --tag=CC \
|
||
|
$(CC) -c $(CFLAGS) -p -I.. -I$(srcdir) `if [ -f $< ]; then echo $<; \
|
||
|
- else echo ../$<; fi` >/dev/null 2>&1 ) ; fi
|
||
|
+ else echo ../$<; fi` >/dev/null 2>&1 ; fi
|
||
|
|
||
|
|
||
|
all: libsnet.la
|
||
|
|
||
|
libsnet.la: $(OBJ) $(LOBJ)
|
||
|
- $(LIBTOOL) --mode=link \
|
||
|
+ $(LIBTOOL) --mode=link --tag=CC \
|
||
|
$(CC) -o libsnet.la $(LDFLAGS) $(LOBJ) -rpath $(libdir) -version-info 0:0:0
|
||
|
@if test x_$(PROFILED) = x_true ; then echo "building profiled $@" ; \
|
||
|
- ( cd profiled ; ../$(LIBTOOL) --mode=link \
|
||
|
- $(CC) -o libsnet_p.la $(LDFLAGS) $(LOBJ) -rpath $(libdir) \
|
||
|
- -version-info 0:0:0 >/dev/null 2>&1 ) ; fi
|
||
|
+ $(LIBTOOL) --mode=link --tag=CC \
|
||
|
+ $(CC) -o profiled/libsnet_p.la $(LDFLAGS) $(LOBJ) -rpath $(libdir) \
|
||
|
+ -version-info 0:0:0 >/dev/null 2>&1 ; fi
|
||
|
|
||
|
install: all
|
||
|
mkdir -p $(libdir)
|
||
|
@@ -67,8 +68,8 @@ install: all
|
||
|
$(INSTALL) -c -m 644 libsnet.la $(libdir)/libsnet.la
|
||
|
@if test x_$(PROFILED) = x_true ; then \
|
||
|
echo "installing profiled libraries" ; \
|
||
|
- ( cd profiled ; ../$(LIBTOOL) --mode=install \
|
||
|
- $(INSTALL) -c -m 644 libsnet_p.la \
|
||
|
+ $(LIBTOOL) --mode=install \
|
||
|
+ $(INSTALL) -c -m 644 profiled/libsnet_p.la \
|
||
|
$(libdir)/libsnet_p.la >/dev/null 2>&1 ) ; fi
|
||
|
|
||
|
clean:
|
||
|
diff --git a/libsnet/configure.ac b/libsnet/configure.ac
|
||
|
index df612d4..83f7e59 100644
|
||
|
--- a/libsnet/configure.ac
|
||
|
+++ b/libsnet/configure.ac
|
||
|
@@ -1,6 +1,7 @@
|
||
|
# Process this file with autoconf to produce a configure script.
|
||
|
AC_INIT(libsnet,VERSION,rsug@umich.edu)
|
||
|
AC_CONFIG_HEADER(config.h)
|
||
|
+AC_CONFIG_MACRO_DIR([m4])
|
||
|
AC_PREREQ(2.52)
|
||
|
AC_COPYRIGHT([Copyright (c) 1995-2003 Regents of The University of Michigan. All Rights Reserved.])
|
||
|
AC_CONFIG_SRCDIR([snet.c])
|
||
|
@@ -10,15 +11,26 @@ AC_PROG_AWK
|
||
|
AC_PROG_CC
|
||
|
AC_PROG_INSTALL
|
||
|
|
||
|
-CHECK_ZLIB
|
||
|
+PKG_CHECK_MODULES([zlib], [zlib],
|
||
|
+ [AC_DEFINE([HAVE_ZLIB], [1], [zlib])],
|
||
|
+ [AC_MSG_WARN(zlib.pc not found, building without zlib support)])
|
||
|
+AC_SUBST([zlib_LIBS])
|
||
|
+AC_SUBST([zlib_CFLAGS])
|
||
|
|
||
|
# Checks for libraries.
|
||
|
if test \! x_$with_ssl = x_no; then
|
||
|
- AC_CHECK_LIB([ssl], [SSL_accept], , [CHECK_SSL])
|
||
|
- AC_CHECK_LIB([crypto], [SSLeay_version], , [CHECK_SSL])
|
||
|
+ PKG_CHECK_MODULES([ssl], [openssl],
|
||
|
+ [AC_DEFINE([HAVE_LIBSSL], [1], [libssl])],
|
||
|
+ [AC_MSG_WARN(openssl.pc not found, building without libssl support)])
|
||
|
+ AC_SUBST([ssl_LIBS])
|
||
|
+ AC_SUBST([ssl_CFLAGS])
|
||
|
fi
|
||
|
-CHECK_SASL
|
||
|
-CHECK_UNIVERSAL_BINARIES
|
||
|
+
|
||
|
+PKG_CHECK_MODULES([sasl], [libsasl2],
|
||
|
+ [AC_DEFINE([HAVE_LIBSASL], [1], [libsasl])],
|
||
|
+ [AC_MSG_WARN(libsasl2.pc not found, building without libsasl support)])
|
||
|
+AC_SUBST([sasl_LIBS])
|
||
|
+AC_SUBST([sasl_CFLAGS])
|
||
|
|
||
|
# Checks for header files.
|
||
|
#AC_HEADER_STDC
|
||
|
diff --git a/libsnet/m4/profiled.m4 b/libsnet/m4/profiled.m4
|
||
|
new file mode 100644
|
||
|
index 0000000..88a421b
|
||
|
--- /dev/null
|
||
|
+++ b/libsnet/m4/profiled.m4
|
||
|
@@ -0,0 +1,16 @@
|
||
|
+AC_DEFUN([CHECK_PROFILED],
|
||
|
+[
|
||
|
+ # Allow user to control whether or not profiled libraries are built
|
||
|
+ AC_MSG_CHECKING(whether to build profiled libraries)
|
||
|
+ PROFILED=true
|
||
|
+ AC_ARG_ENABLE(profiled,
|
||
|
+ [ --enable-profiled build profiled libsnet (default=yes)],
|
||
|
+ [test x_$enable_profiled = x_no && PROFILED=false]
|
||
|
+ )
|
||
|
+ AC_SUBST(PROFILED)
|
||
|
+ if test x_$PROFILED = x_true ; then
|
||
|
+ AC_MSG_RESULT(yes)
|
||
|
+ else
|
||
|
+ AC_MSG_RESULT(no)
|
||
|
+ fi
|
||
|
+])
|
||
|
--
|
||
|
2.35.1
|
||
|
|
||
|
From 4ea29130382b5ae8b9cf3e3dc8962da764f65377 Mon Sep 17 00:00:00 2001
|
||
|
From: orbea <orbea@riseup.net>
|
||
|
Date: Fri, 13 May 2022 13:41:49 -0700
|
||
|
Subject: [PATCH 2/2] Add AC_ARG_ENABLE options for ssl, sasl and zlib
|
||
|
|
||
|
---
|
||
|
configure.ac | 83 +++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
1 file changed, 66 insertions(+), 17 deletions(-)
|
||
|
|
||
|
diff --git a/libsnet/configure.ac b/libsnet/configure.ac
|
||
|
index 83f7e59..9cd16c7 100644
|
||
|
--- a/libsnet/configure.ac
|
||
|
+++ b/libsnet/configure.ac
|
||
|
@@ -11,26 +11,75 @@ AC_PROG_AWK
|
||
|
AC_PROG_CC
|
||
|
AC_PROG_INSTALL
|
||
|
|
||
|
-PKG_CHECK_MODULES([zlib], [zlib],
|
||
|
- [AC_DEFINE([HAVE_ZLIB], [1], [zlib])],
|
||
|
- [AC_MSG_WARN(zlib.pc not found, building without zlib support)])
|
||
|
-AC_SUBST([zlib_LIBS])
|
||
|
-AC_SUBST([zlib_CFLAGS])
|
||
|
+# Enable features
|
||
|
+AC_ARG_ENABLE([sasl],
|
||
|
+ AS_HELP_STRING([--enable-sasl], [Build with crypto_sasl @<:@default=yes@:>@]),
|
||
|
+ [AS_CASE(${enableval}, [yes], [], [no], [],
|
||
|
+ [AC_MSG_ERROR([bad value '${enableval}' for --enable-sasl])])],
|
||
|
+ [enable_sasl=check])
|
||
|
|
||
|
-# Checks for libraries.
|
||
|
-if test \! x_$with_ssl = x_no; then
|
||
|
- PKG_CHECK_MODULES([ssl], [openssl],
|
||
|
- [AC_DEFINE([HAVE_LIBSSL], [1], [libssl])],
|
||
|
- [AC_MSG_WARN(openssl.pc not found, building without libssl support)])
|
||
|
- AC_SUBST([ssl_LIBS])
|
||
|
- AC_SUBST([ssl_CFLAGS])
|
||
|
-fi
|
||
|
+AC_ARG_ENABLE([ssl],
|
||
|
+ AS_HELP_STRING([--enable-ssl], [Build with openssl @<:@default=yes@:>@]),
|
||
|
+ [AS_CASE(${enableval}, [yes], [], [no], [],
|
||
|
+ [AC_MSG_ERROR([bad value '${enableval}' for --enable-ssl])])],
|
||
|
+ [enable_ssl=check])
|
||
|
|
||
|
-PKG_CHECK_MODULES([sasl], [libsasl2],
|
||
|
- [AC_DEFINE([HAVE_LIBSASL], [1], [libsasl])],
|
||
|
- [AC_MSG_WARN(libsasl2.pc not found, building without libsasl support)])
|
||
|
-AC_SUBST([sasl_LIBS])
|
||
|
+AC_ARG_ENABLE([zlib],
|
||
|
+ AS_HELP_STRING([--enable-zlib], [Build with zlib @<:@default=yes@:>@]),
|
||
|
+ [AS_CASE(${enableval}, [yes], [], [no], [],
|
||
|
+ [AC_MSG_ERROR([bad value '${enableval}' for --enable-zlib])])],
|
||
|
+ [enable_zlib=check])
|
||
|
+
|
||
|
+# Checks for crypto_sasl.
|
||
|
+AS_IF([test x$enable_sasl != xno],
|
||
|
+ [PKG_CHECK_MODULES([sasl], [libsasl2],
|
||
|
+ [AC_DEFINE([HAVE_LIBSASL], [1], [libsasl])],
|
||
|
+ [AS_IF([test x$enable_sasl != xyes],
|
||
|
+ [AC_MSG_WARN([cannot find libsasl2.pc, disabling libsasl support])],
|
||
|
+ [enable_sasl=error])
|
||
|
+ ])
|
||
|
+ ])
|
||
|
+
|
||
|
+AS_IF([test x$enable_sasl = xerror],
|
||
|
+ [AC_MSG_ERROR([cannot find libsasl2.pc and libsasl support requested])])
|
||
|
+
|
||
|
+AM_CONDITIONAL([ENABLE_LIBSASL], [test x$enable_sasl = xyes])
|
||
|
AC_SUBST([sasl_CFLAGS])
|
||
|
+AC_SUBST([sasl_LIBS])
|
||
|
+
|
||
|
+# Checks for openssl.
|
||
|
+AS_IF([test x$enable_ssl != xno],
|
||
|
+ [PKG_CHECK_MODULES([ssl], [openssl],
|
||
|
+ [AC_DEFINE([HAVE_LIBSSL], [1], [libssl])],
|
||
|
+ [AS_IF([test x$enable_ssl != xyes],
|
||
|
+ [AC_MSG_WARN([cannot find openssl.pc, disabling libssl support])],
|
||
|
+ [enable_ssl=error])
|
||
|
+ ])
|
||
|
+ ])
|
||
|
+
|
||
|
+AS_IF([test x$enable_ssl = xerror],
|
||
|
+ [AC_MSG_ERROR([cannot find openssl.pc and libssl support requested])])
|
||
|
+
|
||
|
+AM_CONDITIONAL([ENABLE_LIBSSL], [test x$enable_ssl = xyes])
|
||
|
+AC_SUBST([ssl_CFLAGS])
|
||
|
+AC_SUBST([ssl_LIBS])
|
||
|
+
|
||
|
+# Checks for zlib.
|
||
|
+AS_IF([test x$enable_zlib != xno],
|
||
|
+ [PKG_CHECK_MODULES([zlib], [zlib],
|
||
|
+ [AC_DEFINE([HAVE_ZLIB], [1], [zlib])],
|
||
|
+ [AS_IF([test x$enable_zlib != xyes],
|
||
|
+ [AC_MSG_WARN([cannot find zlib.pc, disabling zlib support])],
|
||
|
+ [enable_zlib=error])
|
||
|
+ ])
|
||
|
+ ])
|
||
|
+
|
||
|
+AS_IF([test x$enable_zlib = xerror],
|
||
|
+ [AC_MSG_ERROR([cannot find zlib.pc and zlib support requested])])
|
||
|
+
|
||
|
+AM_CONDITIONAL([ENABLE_ZLIB], [test x$enable_zlib = xyes])
|
||
|
+AC_SUBST([zlib_CFLAGS])
|
||
|
+AC_SUBST([zlib_LIBS])
|
||
|
|
||
|
# Checks for header files.
|
||
|
#AC_HEADER_STDC
|
||
|
--
|
||
|
2.35.1
|
||
|
|