On Mon, Aug 14, 2006 at 02:27:55PM +0200, Dag-Erling Sm?rgrav wrote: > Ruslan Ermilov <[EMAIL PROTECTED]> writes: > > On Mon, Aug 14, 2006 at 12:57:33PM +0200, Dag-Erling Sm?rgrav wrote: > > > Ruslan Ermilov <[EMAIL PROTECTED]> writes: > > > > touch(1) is not an install tool. > > > It should be a build tool. It is used during buildkernel and > > > installworld, causing upgrades to break every so often (especially > > > when upgrading across a libc version bump, IIRC). > > It *is* a build tool, indeed. Build tools aren't special, everything > > in the set ${PATH} can be a build tool. > > As you very well know, build tools need to be cross-built (by the > build-tools target) to run on the host system, and touch isn't. > No, build-tools are completely different beastie. Also, a tool that's cross built is for (potentially) different platform / kernel version, so it cannot be run by the host system, by definition. Just a small reminder of what types of the tools we use during the build:
- build-tools are built on the build host, and to be run by the build host. These are usually some small special helper utils that are not normally installed. Some of them are shell scripts, so they are not built at all. ;) - cross-tools need to be cross-build. The rule of thumb for the cross-tool is that it knows and pays attention to ${TARGET_ARCH}. - bootstrap-tools are the tools that need to be built for backward compatibility reasons. Ideally, every bootstrap tool that we use during the build should be built, but this slows down the build process, so it was agreed that we only build what's absolutely necessary for an upgrade, and we ab^Wuse /usr/include/osreldate.h for this purpose. P.S. My "it is a build tool" above wasn't implying a build-tools set; rather, all I was trying to say is that we're allowed to use this tool during the build (in a makefile). Cheers, -- Ruslan Ermilov [EMAIL PROTECTED] FreeBSD committer
pgpWmlrXPC9Z0.pgp
Description: PGP signature