Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2003 21:01:22 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        "Daniel C. Sobral" <dcs@tcoip.com.br>
Cc:        hackers <hackers@FreeBSD.org>
Subject:   Re: build-tools and sed
Message-ID:  <20030611180122.GC14100@sunbay.com>
In-Reply-To: <3EE76761.1030103@tcoip.com.br>
References:  <3EE76761.1030103@tcoip.com.br>

next in thread | previous in thread | raw e-mail | index | archive | help

--1sNVjLsmu1MXqwQ/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 11, 2003 at 02:31:13PM -0300, Daniel C. Sobral wrote:
> Shouldn't sed be part of the build tools?
>=20
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:
>=20
> targmatch.h: targmatch.sed config.bfd
>         sed -f ${.ALLSRC:M*.sed} ${.ALLSRC:M*.bfd} > ${.TARGET}
>=20
> config.h: config.h.fbsd
> .if ${TARGET_ARCH} =3D=3D "i386"
>         sed -e 's,!!TRAD_HEADER!!,"hosts/i386bsd.h",g' ${.ALLSRC} >=20
> ${.TARGET}
> .else
>         sed -e 's,!!TRAD_HEADER!!,,g' ${.ALLSRC} > ${.TARGET}
> .endif
>=20
>=20
> Which was rather annoying when I got caught in the sed bug. Updating=20
> sources did not fix the problem, because it kept using the install sed...
>=20
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,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software Ltd,
ru@FreeBSD.org		FreeBSD committer

--1sNVjLsmu1MXqwQ/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+525yUkv4P6juNwoRAnKHAJsHX24fVGyiNEBp9B71OVQKfVc68wCdGmBs
sAf8CMxuH0m+/RE83xgaMXw=
=BWHa
-----END PGP SIGNATURE-----

--1sNVjLsmu1MXqwQ/--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030611180122.GC14100>