summaryrefslogtreecommitdiff
path: root/usr/src/Makefile.master
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2020-01-17 09:49:43 -0800
committerToomas Soome <tsoome@me.com>2020-02-05 19:00:00 +0200
commit5801b0f01c3c34499a929ed96164a5a68b470945 (patch)
tree50e06e6f9eb27ea820f4f4e711c485499aad6e86 /usr/src/Makefile.master
parent948761701ebc8a0cf820a973780b2fbb931c4390 (diff)
downloadillumos-joyent-5801b0f01c3c34499a929ed96164a5a68b470945.tar.gz
12217 add ld assert-deflib and guidance to gate build
Reviewed by: Robert Mustacchi <rm@fingolfin.org> Reviewed by: Gergő Mihály Doma <domag02@gmail.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/Makefile.master')
-rw-r--r--usr/src/Makefile.master31
1 files changed, 24 insertions, 7 deletions
diff --git a/usr/src/Makefile.master b/usr/src/Makefile.master
index 635215f56a..127680a9e9 100644
--- a/usr/src/Makefile.master
+++ b/usr/src/Makefile.master
@@ -42,6 +42,14 @@ ROOT= /proto
# and libraries.
#
ADJUNCT_PROTO=
+# HAVE_ADJUNCT_PROTO - ADJUNCT_PROTO is set to a non-default value
+# NO_ADJUNCT_PROTO - ADJUNCT_PROTO is unset
+#
+# This works by replacing any value in ADJUNCT_PROTO with POUND_SIGN, which
+# only happens if it has some value, and then setting HAVE_ADJUNCT_PROTO
+# oppositely.
+NO_ADJUNCT_PROTO=$(ADJUNCT_PROTO:%=$(POUND_SIGN))
+$(NO_ADJUNCT_PROTO)HAVE_ADJUNCT_PROTO=$(POUND_SIGN)
#
# Adjunct for building things that run on the build machine.
@@ -813,13 +821,19 @@ CCEXTNEEDED64 = -lCrun -lCstd
$(__GNUC64)CCNEEDED64 = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
$(__GNUC64)CCEXTNEEDED = $(CCNEEDED64)
-LINK.c= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
-LINK64.c= $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
-NORUNPATH= -norunpath -nolib
-LINK.cc= $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
- $(LDFLAGS) $(CCNEEDED)
-LINK64.cc= $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
- $(LDFLAGS) $(CCNEEDED64)
+# Libraries we expect to use natively on the build machine
+NATIVE_LIBS=
+
+LDCHECKS = $(ZASSERTDEFLIB) $(ZGUIDANCE) $(ZFATALWARNINGS)
+LDCHECKS += $(NATIVE_LIBS:%=$(ZASSERTDEFLIB)=%)
+
+LINK.c= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LDCHECKS)
+LINK64.c= $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS) $(LDCHECKS)
+NORUNPATH= -norunpath -nolib
+LINK.cc= $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
+ $(LDFLAGS) $(CCNEEDED) $(LDCHECKS)
+LINK64.cc= $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
+ $(LDFLAGS) $(CCNEEDED64) $(LDCHECKS)
#
# lint macros
@@ -982,6 +996,9 @@ ZRECORD= -zrecord
ZREDLOCSYM= -zredlocsym
ZTEXT= -ztext
ZVERBOSE= -zverbose
+ZASSERTDEFLIB= -zassert-deflib
+ZGUIDANCE= -zguidance
+ZFATALWARNINGS= -zfatal-warnings
GSHARED= -G
CCMT= -mt