mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
mk: fix unnecessary library relinking with incremental builds
Initial libs such as csu are always built (.PHONY), and their installation to WORLDTMP was causing all the subsequent libraries to be considered out-of-date even when in reality they were not. Use install -C more consistently everywhere to avoid unnecessarily updating the mtimes in WORLDTMP, fixing this problem. This cut down my no-change buildworld time from 30 to 15 seconds. Fixes: https://lists.freebsd.org/pipermail/freebsd-current/2016-May/061481.html TODO.1 Reviewed by: sjg Sponsored by: https://www.patreon.com/valpackett Differential Revision: https://reviews.freebsd.org/D39980
This commit is contained in:
parent
4ae6991228
commit
da6620e495
|
@ -116,7 +116,7 @@ stage_as.${${_${group}DIR_${file}}:C,[/*],_,g}: ${file}
|
|||
|
||||
installfiles-${group}: _${group}INS_${file}
|
||||
_${group}INS_${file}: ${file} installdirs-${_${group}DIR_${file}}
|
||||
${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${file}} \
|
||||
${INSTALL} -C ${${group}TAG_ARGS} -o ${${group}OWN_${file}} \
|
||||
-g ${${group}GRP_${file}} -m ${${group}MODE_${file}} \
|
||||
${.ALLSRC:Ninstalldirs-*} ${${group}PREFIX_${file}}/${${group}NAME_${file}}
|
||||
.endfor # file in ${${group}}
|
||||
|
|
|
@ -444,6 +444,7 @@ _EXTRADEPEND:
|
|||
|
||||
.if !target(install)
|
||||
|
||||
INSTALLFLAGS+= -C
|
||||
.if defined(PRECIOUSLIB)
|
||||
.if !defined(NO_FSCHG)
|
||||
SHLINSTALLFLAGS+= -fschg
|
||||
|
@ -494,10 +495,10 @@ realinstall: _libinstall installpcfiles
|
|||
.ORDER: beforeinstall _libinstall
|
||||
_libinstall:
|
||||
.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}${_STATICLIB_SUFFIX}.a ${DESTDIR}${_LIBDIR}/
|
||||
.if ${MK_PROFILE} != "no"
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}/
|
||||
.endif
|
||||
.endif
|
||||
|
@ -515,7 +516,7 @@ _libinstall:
|
|||
.endif
|
||||
.if defined(SHLIB_LINK)
|
||||
.if commands(${SHLIB_LINK:R}.ld)
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${INSTALL} ${TAG_ARGS:D${TAG_ARGS},dev} -S -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
||||
${_INSTALLFLAGS} ${SHLIB_LINK:R}.ld \
|
||||
${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
|
||||
.for _SHLIB_LINK_LINK in ${SHLIB_LDSCRIPT_LINKS}
|
||||
|
|
Loading…
Reference in a new issue