summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2013-12-04 09:58:58 +0100
committerPeter Rajnoha <prajnoha@redhat.com>2013-12-04 13:30:08 +0100
commit6c6bcc00e401262db3b906259674a3231a119603 (patch)
tree021fe959878927f3a8de641429987a76fcf494b7 /acinclude.m4
parent163666e513848e5d43d3e4f2f91b42d1a8f483a0 (diff)
downloadlvm2-6c6bcc00e401262db3b906259674a3231a119603.tar.gz
configure: check compiler/linker support for RELRO and PIE options
Also, add AC_TRY_LDFLAGS m4 macro to help with checking ld flags.
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m421
1 files changed, 21 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index bf9fe0979..b9473db17 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -36,3 +36,24 @@ AC_DEFUN([AC_TRY_CCFLAG],
ifelse([$4], [], [:], [$4])
fi
])
+
+dnl AC_TRY_LDFLAGS([LDFLAGS], [VAR], [ACTION-IF-WORKS], [ACTION-IF-FAILS])
+dnl check if $CC supports given ld flags
+
+AC_DEFUN([AC_TRY_LDFLAGS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ ac_save_LDFLAGS=$LDFLAGS
+ LDFLAGS=$1
+ AC_CACHE_CHECK([whether $CC accepts $1 ld flags], [ac_cv_flag_$2],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM()],
+ [AS_VAR_SET([ac_cv_flag_$2], [yes])],
+ [AS_VAR_SET([ac_cv_flag_$2], [no])])])
+ LDLAGS=$ac_save_LDFLAGS
+ $2=AS_VAR_GET([ac_cv_flag_$2])
+ if test "$2" = yes; then
+ ifelse([$3], [], [:], [$3])
+ else
+ ifelse([$4], [], [:], [$4])
+ fi
+])