From 14a91bd036b9d74a181c3317f67a585826a8fa10 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 10 Jul 2016 18:24:23 +0000 Subject: support LDFLAGS; suggested by Christian Neukirchen --- Makefile | 12 ++++++------ configure | 2 ++ configure.local.example | 11 +++++++++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index f9489e63..91a671fc 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.486 2016/07/10 10:05:33 schwarze Exp $ +# $Id: Makefile,v 1.487 2016/07/10 18:24:23 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013-2016 Ingo Schwarze @@ -408,19 +408,19 @@ libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) ar rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a - $(CC) -o $@ $(MAIN_OBJS) libmandoc.a $(LDADD) + $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) manpage: $(MANPAGE_OBJS) libmandoc.a - $(CC) -o $@ $(MANPAGE_OBJS) libmandoc.a $(LDADD) + $(CC) -o $@ $(LDFLAGS) $(MANPAGE_OBJS) libmandoc.a $(LDADD) man.cgi: $(CGI_OBJS) libmandoc.a - $(CC) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(LDADD) + $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) demandoc: $(DEMANDOC_OBJS) libmandoc.a - $(CC) -o $@ $(DEMANDOC_OBJS) libmandoc.a $(LDADD) + $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) soelim: $(SOELIM_OBJS) - $(CC) -o $@ $(SOELIM_OBJS) + $(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS) # --- maintainer targets --- diff --git a/configure b/configure index e167056b..13fd1409 100755 --- a/configure +++ b/configure @@ -37,6 +37,7 @@ OSNAME= CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | make -f -` CFLAGS="-g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings" LDADD= +LDFLAGS= LD_OHASH= LD_SQLITE3= STATIC="-static" @@ -428,6 +429,7 @@ INSTALL_TARGETS = ${INSTALL_TARGETS} CC = ${CC} CFLAGS = ${CFLAGS} LDADD = ${LDADD} +LDFLAGS = ${LDFLAGS} STATIC = ${STATIC} PREFIX = ${PREFIX} BINDIR = ${BINDIR} diff --git a/configure.local.example b/configure.local.example index c15531b0..93e1c339 100644 --- a/configure.local.example +++ b/configure.local.example @@ -1,4 +1,4 @@ -# $Id: configure.local.example,v 1.11 2016/05/18 21:37:04 schwarze Exp $ +# $Id: configure.local.example,v 1.12 2016/07/10 18:24:23 schwarze Exp $ # # Copyright (c) 2014, 2015, 2016 Ingo Schwarze # @@ -131,11 +131,18 @@ BINM_SOELIM=msoelim # default is "soelim" LD_OHASH="-lutil" -# Some platforms may need additional linker flags that are not autodetected. +# Some platforms may need additional linker flags to link against libmandoc +# that are not autodetected. # For example, Solaris 9 and 10 need -lrt for nanosleep(2). LDADD="-lrt" +# Some systems may want to set additional linker flags for all the +# binaries, not only for those using libmandoc, for example for +# hardening options. + +LDFLAGS="-Wl,-z,relro" + # It is possible to change the utility program used for installation # and the modes files are installed with. The defaults are: -- cgit v1.2.3-56-ge451