]> git.cameronkatri.com Git - mandoc.git/commitdiff
support LDFLAGS;
authorIngo Schwarze <schwarze@openbsd.org>
Sun, 10 Jul 2016 18:24:23 +0000 (18:24 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Sun, 10 Jul 2016 18:24:23 +0000 (18:24 +0000)
suggested by Christian Neukirchen <chneukirchen at gmail dot com>

Makefile
configure
configure.local.example

index f9489e63cce51058118fb6b0b6e119ae83d49dbb..91a671fcb4ea5da76a029d7babc42eeb469812ef 100644 (file)
--- 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 <kristaps@bsd.lv>
 # Copyright (c) 2011, 2013-2016 Ingo Schwarze <schwarze@openbsd.org>
@@ -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 ---
 
index e167056b6c03f3b4ea674242330436720d65f86b..13fd1409941ba90c8156df9e6134ff88944da7aa 100755 (executable)
--- 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}
index c15531b0966708b3ad5bde190eaf8be14b37aaf3..93e1c339d7c64f580cb35d9e913b9ce1df9379ce 100644 (file)
@@ -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 <schwarze@openbsd.org>
 #
@@ -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: