On Wed, Jun 11, 2003 at 02:31:13PM -0300, Daniel C. Sobral wrote: > Shouldn't sed be part of the build tools? > No. build-tools are a different beastie; they are the tools that are only built during buildworld to "build" something else. sed(1) isn't such a tool. Yes, it can be put under the bootstrap-tools if there's some backward incompatibility it in, but there's just no reason to do it right now. Please see below for a further explanation.
> It's used in src//gnu/usr.bin/binutils/libbfd/Makefile, at the very least:
>
> targmatch.h: targmatch.sed config.bfd
> sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET}
>
> config.h: config.h.fbsd
> .if ${TARGET_ARCH} == "i386"
> sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} >
> ${.TARGET}
> .else
> sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET}
> .endif
>
>
> Which was rather annoying when I got caught in the sed bug. Updating
> sources did not fix the problem, because it kept using the install sed...
>
I asked for an UPDATING entry when I saw this bug for the first
time, and got a positive reply saying this was a good idea, but
this never actually happened, and this is now the third report I
have heard.
In short: if your build environment is broken, the chances are
low you will be able to build your world. E.g., if you do not
have /usr/include you cannot win. Similarly, when your gcc(1)
is broken (for example), you won't be able to build world too.
We depend on a good shape of the build environment, and if it
breaks, we put this sort of info into UPDATING.
When we create a backward incompatibility, this is completely
another case, and we put stuff either in bootstrap-tools or
cross-tools, depending on their nature. (cross-tools are similar
to bootstrap-tools except for also directly depending on the
value of TARGET_ARCH/TARGET.)
Cheers,
--
Ruslan Ermilov Sysadmin and DBA,
[EMAIL PROTECTED] Sunbay Software Ltd,
[EMAIL PROTECTED] FreeBSD committer
pgp00000.pgp
Description: PGP signature

