aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2016-07-10 18:24:23 +0000
committerIngo Schwarze <schwarze@openbsd.org>2016-07-10 18:24:23 +0000
commit14a91bd036b9d74a181c3317f67a585826a8fa10 (patch)
tree4ab4c423e06f562ad78a2b7c334798b96652eed0
parent5527a73ef7a800410492cccac7677654f316291f (diff)
downloadmandoc-14a91bd036b9d74a181c3317f67a585826a8fa10.tar.gz
mandoc-14a91bd036b9d74a181c3317f67a585826a8fa10.tar.zst
mandoc-14a91bd036b9d74a181c3317f67a585826a8fa10.zip
support LDFLAGS;
suggested by Christian Neukirchen <chneukirchen at gmail dot com>
-rw-r--r--Makefile12
-rwxr-xr-xconfigure2
-rw-r--r--configure.local.example11
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 <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 ---
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 <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: