summaryrefslogtreecommitdiff
path: root/mk/compiler
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2022-03-13 06:26:57 +0000
committernia <nia@pkgsrc.org>2022-03-13 06:26:57 +0000
commit6f513069caead2e65fa4b33b0ea89676c2381116 (patch)
tree26cf61ad6882c4582c91288217e39ce2c0d8e51e /mk/compiler
parentc9079fc8887d2884796548e367c877165d7802e7 (diff)
downloadpkgsrc-6f513069caead2e65fa4b33b0ea89676c2381116.tar.gz
mk: MKPIE is not GCC-specific. Should help ObjC packages.
Diffstat (limited to 'mk/compiler')
-rw-r--r--mk/compiler/clang.mk13
-rw-r--r--mk/compiler/gcc.mk13
2 files changed, 16 insertions, 10 deletions
diff --git a/mk/compiler/clang.mk b/mk/compiler/clang.mk
index e8233d697ee..66625977c30 100644
--- a/mk/compiler/clang.mk
+++ b/mk/compiler/clang.mk
@@ -1,4 +1,4 @@
-# $NetBSD: clang.mk,v 1.34 2022/01/30 13:07:34 wiz Exp $
+# $NetBSD: clang.mk,v 1.35 2022/03/13 06:26:57 nia Exp $
#
# This is the compiler definition for the clang compiler.
#
@@ -78,6 +78,17 @@ CWRAPPERS_PREPEND.cc+= ${_RELRO_LDFLAGS}
CWRAPPERS_PREPEND.cxx+= ${_RELRO_LDFLAGS}
.endif
+.if ${_PKGSRC_MKPIE} == "yes"
+_MKPIE_CFLAGS.clang= -fPIC
+_MKPIE_LDFLAGS= -pie
+
+. if ${PKGSRC_OVERRIDE_MKPIE:tl} == "no"
+CFLAGS+= ${_MKPIE_CFLAGS.clang}
+CWRAPPERS_APPEND.cc+= ${_MKPIE_CFLAGS.clang}
+CWRAPPERS_APPEND.cxx+= ${_MKPIE_CFLAGS.clang}
+. endif
+.endif
+
LDFLAGS+= ${_CLANG_LDFLAGS}
# _LANGUAGES.<compiler> is ${LANGUAGES.<compiler>} restricted to the
diff --git a/mk/compiler/gcc.mk b/mk/compiler/gcc.mk
index 0694941749f..e3aef2b4430 100644
--- a/mk/compiler/gcc.mk
+++ b/mk/compiler/gcc.mk
@@ -1,4 +1,4 @@
-# $NetBSD: gcc.mk,v 1.235 2022/01/18 01:41:09 pho Exp $
+# $NetBSD: gcc.mk,v 1.236 2022/03/13 06:26:57 nia Exp $
#
# This is the compiler definition for the GNU Compiler Collection.
#
@@ -103,7 +103,7 @@ _DEF_VARS.gcc= \
_EXTRA_CC_DIRS \
_CXX_STD_VERSIONS \
${_CXX_STD_VERSIONS:@std@_CXX_STD_FLAG.${std}@} \
- _MKPIE_CFLAGS.gcc _MKPIE_LDFLAGS.gcc \
+ _MKPIE_CFLAGS.gcc _MKPIE_LDFLAGS \
_FORTIFY_CFLAGS _RELRO_LDFLAGS _STACK_CHECK_CFLAGS \
_CTF_CFLAGS \
_GCC_DIR \
@@ -346,21 +346,16 @@ CWRAPPERS_APPEND.cc+= -std=gnu99
.if ${_PKGSRC_MKPIE} == "yes"
_MKPIE_CFLAGS.gcc= -fPIC
-# XXX for executables it should be:
-#_MKPIE_CFLAGS.gcc= -fPIE
_MKPIE_FCFLAGS.gcc= -fPIC
-# XXX for libraries a sink wrapper around gcc is required and used instead
-_MKPIE_LDFLAGS.gcc= -pie
+# for libraries a sink wrapper around gcc is required and used instead
+_MKPIE_LDFLAGS= -pie
. if ${PKGSRC_OVERRIDE_MKPIE:tl} == "no"
_GCC_CFLAGS+= ${_MKPIE_CFLAGS.gcc}
_GCC_FCFLAGS+= ${_MKPIE_FCFLAGS.gcc}
-#_GCC_LDFLAGS+= ${_MKPIE_LDFLAGS.gcc}
CWRAPPERS_APPEND.cc+= ${_MKPIE_CFLAGS.gcc}
CWRAPPERS_APPEND.cxx+= ${_MKPIE_CFLAGS.gcc}
CWRAPPERS_APPEND.f77+= ${_MKPIE_FCFLAGS.gcc}
-# this differs for libraries and executables (handled in mk/cwrappers.mk)
-# CWRAPPERS_APPEND.ld+= ${_MKPIE_LDFLAGS.gcc}
. endif
.endif