Date: Thu, 30 May 2013 14:33:29 -0700 From: David Wolfskill <david@catwhisker.org> To: Dimitry Andric <dim@FreeBSD.org> Cc: toolchain@freebsd.org Subject: Re: Should "make -DNOCLEAN buildworld" always rebuild clang? Message-ID: <20130530213329.GQ1334@albert.catwhisker.org> In-Reply-To: <2DA92EEE-4ED9-416F-B7BD-FAB9F8A54FED@FreeBSD.org> References: <20130530204914.GN1334@albert.catwhisker.org> <2DA92EEE-4ED9-416F-B7BD-FAB9F8A54FED@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--6JKsAUbrJhuSllgx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 30, 2013 at 11:19:24PM +0200, Dimitry Andric wrote: > ... > > Yet the vast bulk of the above-cited typescript appears to be showing > > the toolchain being rebuilt. Is this intended? >=20 > It is not really intended, but an unfortunate side effect of > <http://svnweb.freebsd.org/changeset/base/250217>. When you touch > sys/conf/newvers.sh, it causes include/Makefile to generate a new > osreldate.h, so everything depending on that header will be rebuilt. Ah. Pity that depends on mtime, vs. (say) a hash of the content. :-} > And r250217 introduced a dependency of the llvm config.h file on > osreldate.h, to determine whether log2() is available (and so make it > possible to build head on older FreeBSD releases). OK. > I am not sure if there is an easy way around this. When implementing > r250217, I considered various ways to detect at build time which host > system is used, but IIRC none of the alternatives were completely > bulletproof. >=20 > The only suggestion I can give at the moment is: don't touch > sys/conf/newvers.sh. :) Why are you doing this anyway? Well, if I had not touched it this morning (when the only change in /usr/src at all was to src/usr.sbin/newsyslog/newsyslog.c), the "uname -vp" output for today would reflect the same as yesterday -- i.e., r251096M, even though r251113M is what actually reflects the state of the source tree as of the most recent build. I am trying to make the revision number useful for specifying the state of the source tree -- at least for me. Thus, a glance at (say) <http://www.catwhisker.org/~david/FreeBSD/history/laptop_i386_9.txt> currently actually depicts which revisions passed my smoke test for stable/9 i386 recently. Maybe I should (also) look at modifying newvers.sh so it could avoid touching osreldate.h unless the new content that it would generate is actually different from the previous content.... Thanks for the insight! Peace, david --=20 David H. Wolfskill david@catwhisker.org Taliban: Evil men with guns afraid of truth from a 14-year old girl. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --6JKsAUbrJhuSllgx Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (FreeBSD) iEYEARECAAYFAlGnxacACgkQmprOCmdXAD03FQCdH+kn5RSIyvy+jKtvBCwx/WUC Z0QAnj7EOhxp7g5SkFbGgrwIHYhBQ6ib =IqOQ -----END PGP SIGNATURE----- --6JKsAUbrJhuSllgx--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130530213329.GQ1334>