summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2020-08-06 18:00:00 +0000
committerDmitry V. Levin <ldv@altlinux.org>2020-08-07 08:00:00 +0000
commitf37b990d1cf7d888078c7f8fa283966e31c04b88 (patch)
treec2131ec9ecf1ce6231b49e5077cfba5b72a80506 /m4
parentcc008e03d4f941a65bbbe2896242166acec09241 (diff)
downloadlinux-pam-git-f37b990d1cf7d888078c7f8fa283966e31c04b88.tar.gz
m4: rewrite ld --as-needed check
* m4/ld-as-needed.m4: Rewrite using AC_LINK_IFELSE to create a more readable autoconf macro.
Diffstat (limited to 'm4')
-rw-r--r--m4/ld-as-needed.m437
1 files changed, 14 insertions, 23 deletions
diff --git a/m4/ld-as-needed.m4 b/m4/ld-as-needed.m4
index 5ba6e0f9..d6590192 100644
--- a/m4/ld-as-needed.m4
+++ b/m4/ld-as-needed.m4
@@ -1,24 +1,15 @@
-# ld-as-needed.m4 serial 2
+#!/usr/bin/m4
+dnl Check whether ld supports --as-needed
-# Test if ld supports --as-needed
-
-AC_DEFUN([PAM_LD_AS_NEEDED],
- [
- AC_CACHE_CHECK(whether ld supports --as-needed,
- pam_cv_ld_as_needed, [ dnl
- cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -o conftest.o conftest.c
- -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
- then
- pam_cv_ld_as_needed=yes
- LDFLAGS="$LDFLAGS -Wl,--as-needed"
- else
- pam_cv_ld_as_needed=no
- fi
- rm -f conftest*])
- AC_SUBST(pam_cv_ld_as_needed)
- ]
-)
+AC_DEFUN([PAM_LD_AS_NEEDED], [dnl
+ AC_CACHE_CHECK([whether ld supports --as-needed],
+ [pam_cv_ld_as_needed],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(,)],
+ [pam_cv_ld_as_needed=yes],
+ [pam_cv_ld_as_needed=no])
+ LDFLAGS="$saved_LDFLAGS"])
+ AS_IF([test $pam_cv_ld_as_needed = yes],
+ [LDFLAGS="$LDFLAGS -Wl,--as-needed"])
+])