Module Name:    src
Committed By:   christos
Date:           Tue Jul 10 16:53:16 UTC 2018

Modified Files:
        src/share/mk: sys.mk

Log Message:
Build seed fixes:
    - use MKREPRO_TIMESTAMP as the seed if available.
    - skip relative paths that cannot be normalized if it is not
XXX: pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.134 -r1.135 src/share/mk/sys.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/mk/sys.mk
diff -u src/share/mk/sys.mk:1.134 src/share/mk/sys.mk:1.135
--- src/share/mk/sys.mk:1.134	Mon Jul  9 05:22:55 2018
+++ src/share/mk/sys.mk	Tue Jul 10 12:53:16 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: sys.mk,v 1.134 2018/07/09 09:22:55 martin Exp $
+#	$NetBSD: sys.mk,v 1.135 2018/07/10 16:53:16 christos Exp $
 #	@(#)sys.mk	8.2 (Berkeley) 3/21/94
 #
 # This file contains the basic rules for make(1) and is read first
@@ -54,11 +54,20 @@ CXX?=		c++
 # Remove -Wsystem-headers because C++ headers aren't clean of warnings
 CXXFLAGS?=	${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu[0-9][0-9]:N-Wold-style-definition:N-Wno-format-zero-length:N-Wsystem-headers}
 
+.if defined(MKREPRO_TIMESTAMP) && !empty(MKREPRO_TIMESTAMP)
+# Use the timestamp as a seed
+__INITSEED=${MKREPRO_TIMESTAMP}
+.else
+# Use the sources, as the seed... Normalize all paths...
 __ALLSRC1=	${empty(DESTDIR):?${.ALLSRC}:${.ALLSRC:S|^${DESTDIR}|^destdir|}}
 __ALLSRC2=	${empty(MAKEOBJDIR):?${__ALLSRC1}:${__ALLSRC1:S|^${MAKEOBJDIR}|^obj|}}
 __ALLSRC3=	${empty(NETBSDSRCDIR):?${__ALLSRC2}:${__ALLSRC2:S|^${NETBSDSRCDIR}|^src|}}
 __ALLSRC4=	${empty(X11SRCDIR):?${__ALLSRC3}:${__ALLSRC3:S|^${X11SRCDIR}|^xsrc|}}
-__BUILDSEED=	${BUILDSEED}/${__ALLSRC4:O}/${.TARGET}
+# Skip paths that contain relative components and can't be normalized, sort..
+__INITSEED=	${__ALLSRC4:N*/../*:O}
+.endif
+
+__BUILDSEED=	${BUILDSEED}/${__INITSEED}/${.TARGET}
 _CXXSEED?=	${BUILDSEED:D-frandom-seed=${__BUILDSEED:hash}}
 
 COMPILE.cc?=	echo "random-seed is ${__BUILDSEED}"; ${CXX} ${_CXXSEED} ${CXXFLAGS} ${DTRACE_OPTS} ${CPPFLAGS} -c

Reply via email to