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