]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
build: only uses -pie when linking programs
authorVincent Bernat <vincent@bernat.im>
Thu, 21 May 2015 06:05:57 +0000 (08:05 +0200)
committerVincent Bernat <vincent@bernat.im>
Thu, 21 May 2015 06:05:57 +0000 (08:05 +0200)
We can't rely on libtool to remove the flag on libraries.

configure.ac
src/client/Makefile.am
src/daemon/Makefile.am
tests/Makefile.am

index 196829df2e6c65d0a52b55975089b5cda765b588..616a6d2bb98959965327359033aaa418c94276b8 100644 (file)
@@ -67,6 +67,7 @@ DX_PS_FEATURE(OFF)
 DX_INIT_DOXYGEN([lldpd], [doxygen.cfg], [doxygen])
 
 # Check some compiler flags
+AX_CFLAGS_GCC_OPTION([-Wunknown-warning-option], [LLDP_CFLAGS])
 AX_CFLAGS_GCC_OPTION([-fdiagnostics-show-option], [LLDP_CFLAGS])
 AX_CFLAGS_GCC_OPTION([-fdiagnostics-color=auto], [LLDP_CFLAGS])
 AX_CFLAGS_GCC_OPTION([-pipe], [LLDP_CFLAGS])
@@ -98,7 +99,8 @@ if test x"$hardening" != x"no"; then
   AX_CFLAGS_GCC_OPTION([-fstack-protector-strong], [LLDP_CFLAGS])
   AX_CFLAGS_GCC_OPTION([-D_FORTIFY_SOURCE=2], [LLDP_CPPFLAGS])
   AX_CFLAGS_GCC_OPTION([-fPIE], [LLDP_CFLAGS])
-  AX_LDFLAGS_OPTION([-fPIE -pie], [LLDP_LDFLAGS])
+  AX_LDFLAGS_OPTION([-fPIE -pie], [LLDP_BIN_LDFLAGS],
+    [AX_LDFLAGS_OPTION([-fPIE -Wl,-pie], [LLDP_BIN_LDFLAGS])])
 fi
 
 # OS
@@ -299,6 +301,7 @@ lldp_ARG_ENABLE([oldies], [compatibility with Linux kernel older than 2.6.18], [
 AC_SUBST([LLDP_CFLAGS])
 AC_SUBST([LLDP_CPPFLAGS])
 AC_SUBST([LLDP_LDFLAGS])
+AC_SUBST([LLDP_BIN_LDFLAGS])
 AM_CONDITIONAL([HAVE_CHECK], [test x"$have_check" = x"yes"])
 AM_CONDITIONAL([USE_SNMP], [test x"$with_snmp" = x"yes"])
 AM_CONDITIONAL([USE_XML], [test x"$with_xml" = x"yes"])
@@ -321,7 +324,7 @@ cat <<EOF
   OS.............: $os
   Prefix.........: $prefix
   C Compiler.....: $CC $LLDP_CFLAGS $LLDP_CPPFLAGS $CFLAGS $CPPFLAGS
-  Linker.........: $LD $LLDP_LDFLAGS $LDFLAGS $LIBS
+  Linker.........: $LD $LLDP_LDFLAGS $LLDP_BIN_LDFLAGS $LDFLAGS $LIBS
   Libevent.......: $libevent
   Readline.......: ${ax_cv_lib_readline}
  Optional features:
index 8fbb155ba6c43eb48075e708bbf9c22a9545691d..0b86002a358cf0835e1bf77746bffa61b4fc652b 100644 (file)
@@ -23,6 +23,7 @@ lldpcli_LDADD    = \
        $(top_builddir)/src/lib/liblldpctl.la \
        @READLINE_LIBS@
 lldpcli_CFLAGS   = $(AM_CFLAGS)
+lldpcli_LDFLAGS  = $(AM_LDFLAGS) $(LLDP_BIN_LDFLAGS)
 
 if USE_XML
 lldpcli_SOURCES += xml_writer.c
index f2d1f9b7c5baee0c10063a18584960c3c14b5227..71de01af5c760a0078a61019e57c6fadd8472574 100644 (file)
@@ -96,6 +96,7 @@ endif
 
 ## lldpd
 lldpd_SOURCES = main.c
+lldpd_LDFLAGS = $(AM_LDFLAGS) $(LLDP_BIN_LDFLAGS)
 lldpd_LDADD   = liblldpd.la @LIBEVENT_LDFLAGS@
 
 # Add SNMP support if needed
index b0d5ef5756cba4c8efde4814914c056e90460851..6784df07e318c125b28455930b7bce3d1e8468a2 100644 (file)
@@ -1,6 +1,6 @@
 AM_CFLAGS = -I $(top_srcdir)/include $(LLDP_CFLAGS)
 AM_CPPFLAGS = $(LLDP_CPPFLAGS)
-AM_LDFLAGS = $(LLDP_LDFLAGS)
+AM_LDFLAGS = $(LLDP_LDFLAGS) $(LLDP_BIN_LDFLAGS)
 
 if HAVE_CHECK