summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2024-01-30 20:10:25 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2024-01-30 20:13:59 +0000
commit014fbb1551cd37eb5b253763860a91f71371e68c (patch)
treee83fe5c4166ee46bbc20e9dd60f12dc6b1b0e588
parent60b582b4cf746b00217963aeb6990b0cb47e805b (diff)
squash! Use autoconf to find -linnstorage etc., and link statically
-rwxr-xr-xconfigure24
-rw-r--r--configure.ac24
2 files changed, 32 insertions, 16 deletions
diff --git a/configure b/configure
index 320d6a1..6cc98a7 100755
--- a/configure
+++ b/configure
@@ -4146,6 +4146,19 @@ done
LIBS="-Wl,-Bdynamic $LIBS"
+# Possibly, we could link dynamically. But the ABI stability of
+# the inn libraries is questionable. On Debian only the .a files
+# are in inn2-dev. The .so's are in inn2.deb, which isn't depended on
+# by inn2-dev, and which doesn't have a # shlibs file for them.
+# So right now we can't sensibly link dynamically.
+#
+# So we pass -Bstatic.
+#
+# Recall that LIBS is generally *prepended* to. So we need to
+# temporarily put -Bstatic in LDFLAGS so that it ends up before
+# the actual libraries in the following tests.
+LDFLAGS="$LDFLAGS -Wl,-Bstatic"
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing NNTPconnect" >&5
$as_echo_n "checking for library containing NNTPconnect... " >&6; }
if ${ac_cv_search_NNTPconnect+:} false; then :
@@ -4267,15 +4280,10 @@ else
fi
-# Possibly, we could link dynamically. But the ABI stability of
-# the inn libraries is questionable. On Debian only the .a files
-# are in inn2-dev. The .so's are in inn2.deb, which isn't depended on
-# by inn2-dev, and which doesn't have a # shlibs file for them.
-# So right now we can't sensibly link dynamically.
-#
-# So we pass -Bstatic. (Recall that LIBS is generally *prepended* to,
-# and that it is automatically included in link lines by automake
+# Now move the -Bstatic to LIBS where it belongs.
+# LDFLAGS and LIBS are automatically included in link lines by automake
# so nothing is needed in Makefile.am.)
+LDFLAGS="${LDFLAGS% -Wl,-Bstatic}"
LIBS="-Wl,-Bstatic $LIBS"
ac_config_headers="$ac_config_headers config.h"
diff --git a/configure.ac b/configure.ac
index 4f7c559..72c7579 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,19 @@ AC_CHECK_HEADERS(sys/inotify.h)
LIBS="-Wl,-Bdynamic $LIBS"
+# Possibly, we could link dynamically. But the ABI stability of
+# the inn libraries is questionable. On Debian only the .a files
+# are in inn2-dev. The .so's are in inn2.deb, which isn't depended on
+# by inn2-dev, and which doesn't have a # shlibs file for them.
+# So right now we can't sensibly link dynamically.
+#
+# So we pass -Bstatic.
+#
+# Recall that LIBS is generally *prepended* to. So we need to
+# temporarily put -Bstatic in LDFLAGS so that it ends up before
+# the actual libraries in the following tests.
+LDFLAGS="$LDFLAGS -Wl,-Bstatic"
+
AC_SEARCH_LIBS(NNTPconnect, [inn], [],[
AC_MSG_ERROR([failed to find libinn])
])
@@ -40,15 +53,10 @@ AC_SEARCH_LIBS(SMinit, [innstorage storage], [],[
AC_MSG_ERROR([Failed to find INN storage library (-linnstorage, -lstorage)])
])
-# Possibly, we could link dynamically. But the ABI stability of
-# the inn libraries is questionable. On Debian only the .a files
-# are in inn2-dev. The .so's are in inn2.deb, which isn't depended on
-# by inn2-dev, and which doesn't have a # shlibs file for them.
-# So right now we can't sensibly link dynamically.
-#
-# So we pass -Bstatic. (Recall that LIBS is generally *prepended* to,
-# and that it is automatically included in link lines by automake
+# Now move the -Bstatic to LIBS where it belongs.
+# LDFLAGS and LIBS are automatically included in link lines by automake
# so nothing is needed in Makefile.am.)
+LDFLAGS="${LDFLAGS% -Wl,-Bstatic}"
LIBS="-Wl,-Bstatic $LIBS"
AM_CONFIG_HEADER(config.h)