From nobody Thu Jul 27 21:56:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RBl2w0b1Zz4pqMK; Thu, 27 Jul 2023 21:56:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RBl2v6rW5z4Nqd; Thu, 27 Jul 2023 21:56:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6cFPTsYKMyatcbt2uPj/Hgg1bZvfI/IQ0nZnI4gZLM=; b=waHJYBQ2bXq0RekI0fcCZUNd95OBz3QWwkj91Dl+8Hnf1z92X5SCK1NKCJHCGlO3RzTUGQ svaC1vs3V59NAK/nI5Ru5u8shEW2RmLvjRgd6eZ3MUL2EEz+65khBr5ctd+n2mJJtDQb7I IFl5FKAA4ppAXpHzkYCi9AFnBj5gB7+MnGnA3LoNknGod5cDGLVQ+6KrlTJ2Xrjx3JkK7M 03VsghmuLPrZCm1WfZ0it2eVqV/+S5pfx/sUuTjcUKpJWmquySVuP3qVfmM00OgmyBVJfj HMLpyizF3KQ+wS2ufnVNRd4k51YG+2CwVHAtPl0EPnlvY3viwp0fZJveDR9+dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690494984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6cFPTsYKMyatcbt2uPj/Hgg1bZvfI/IQ0nZnI4gZLM=; b=p28Wkf3djkLcrPNHHKV0RfJNXbMYNGLn3o+rmpekogMggb4Jrn6vPb1RNL1HSbIol8xVPS xnWh3Ds58QTDt8PtiuRxi7v0XQsYowPc8kzqc5Ro1P6u58PP+JqSv3Hi5Ysp/3zHltiNtG 8nvhOTyxNBA6ydY27xl7F0QfalT4O/qwgO8bdzG4mkQ6uaQsKoDujMqsVZM+mDAZ2LPc04 mJkHQMsVL4Aw8iDZ2h9VH9KTWzRTXiFirUZ993woUlQr3LXFkFN2wLzGr4kHF3RvLGMhe8 SkydVGaOahZu55GWJ93yjWuMStU5izXbDjKxQpt1sxDqt9Nm4Fl8H8CYNv3HPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690494984; a=rsa-sha256; cv=none; b=PBYXbe3thMF6H/rTOMPuL/yp9Us8FTwyDgG4zYv1RPNOLiN0CIG74MMBp3Vn3Qt2ok/DcA /r8NfvY+mSKGlcfgHAFUK2eSrvfZXLFbV0/P/dj7Og2uf4J0jhw7EEzi6Uhg9SIxiwpySx 79mvZG1ROA/1SpzIqdjrNvSv4dzoPut5C0PFSmOaTykScrQ5QJXK0H206WvSwKMHaQr7n6 EZrs8XbGKJiXGxAFGVcmJOlRrKhIW+vaWuocNOAqlylYehaSNkonRuXMTiffhBEaoGeZm/ suxeCcHoUbLk+274PGs57z+RJ70MyqjFM1PsQ/4WFYXGl6WHMr0LHSbrUUfHyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RBl2v4rbyzQc2; Thu, 27 Jul 2023 21:56:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36RLuND9053224; Thu, 27 Jul 2023 21:56:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36RLuNVp053223; Thu, 27 Jul 2023 21:56:23 GMT (envelope-from git) Date: Thu, 27 Jul 2023 21:56:23 GMT Message-Id: <202307272156.36RLuNVp053223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: da6620e49543 - main - mk: fix unnecessary library relinking with incremental builds List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da6620e49543a9e6e11aac7b29f370c8b31ee7e0 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=da6620e49543a9e6e11aac7b29f370c8b31ee7e0 commit da6620e49543a9e6e11aac7b29f370c8b31ee7e0 Author: Val Packett AuthorDate: 2023-07-27 21:55:16 +0000 Commit: Simon J. Gerraty CommitDate: 2023-07-27 21:55:16 +0000 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 --- share/mk/bsd.files.mk | 2 +- share/mk/bsd.lib.mk | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index f611694fa3b4..4c3b9f248f2d 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -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}} diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 4e653a7bcb20..6750e683da0e 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -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}