Skip site navigation (1)Skip section navigation (2)
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>