Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2017 13:34:13 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Ngie Cooper <ngie@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r322951 - head
Message-ID:  <b698f201-5ca9-1662-8d61-ccacf3693002@FreeBSD.org>
In-Reply-To: <201708271615.v7RGFcKs033967@repo.freebsd.org>
References:  <201708271615.v7RGFcKs033967@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--DKVnu4BXb8RDK218J3V7GFpknPTOCTeqg
Content-Type: multipart/mixed; boundary="8sNx7tkgrhsgclvLjSLV2VNRENClxaTRg";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Ngie Cooper <ngie@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Message-ID: <b698f201-5ca9-1662-8d61-ccacf3693002@FreeBSD.org>
Subject: Re: svn commit: r322951 - head
References: <201708271615.v7RGFcKs033967@repo.freebsd.org>
In-Reply-To: <201708271615.v7RGFcKs033967@repo.freebsd.org>

--8sNx7tkgrhsgclvLjSLV2VNRENClxaTRg
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 8/27/17 9:15 AM, Ngie Cooper wrote:
> Author: ngie
> Date: Sun Aug 27 16:15:37 2017
> New Revision: 322951
> URL: https://svnweb.freebsd.org/changeset/base/322951
>=20
> Log:
>   Respect MK_TCSH with build-tools and native-xtools
>  =20
>   This helps reduce the WORLDTMP footprint slightly.
>  =20
>   Based on a patch I submitted 5 years ago to GNATS.
>  =20
>   PR:		174051
>   MFC after:	2 weeks
>   Relnotes:	yes (anyone who cross-builds with MK_TCSH=3Dyes will run in=
to
>   		     build failures if the host doesn't have tcsh(1))

I don't understand what you're saying here. If I build with MK_TCSH=3Dyes=

and the host does not have tcsh, a failure occurs AFTER or BEFORE this
change?
Neither case makes sense to me.
What is the failure?

The change here is to build-tools which just calls 'make build-tools' in
bin/csh which just builds 'gethost'.
> # make build-tools
> grep 'ERR_' /root/git/freebsd/contrib/tcsh/sh.err.c | grep '^#define' >=
> sh.err.h
> cc -E -O2 -pipe -I. -I/root/git/freebsd/bin/csh -I/root/git/freebsd/con=
trib/tcsh -D_PATH_TCSHELL=3D'"/bin/csh"' -g -std=3Dgnu99 -fstack-protecto=
r-strong -Wsystem-headers -Werror -Wno-pointer-sign -Wno-empty-body -Wno-=
string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno=
-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-co=
nversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-swi=
tch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -fcolor=
-diagnostics -Qunused-arguments /root/git/freebsd/contrib/tcsh/tc.const.c=
 /root/git/freebsd/contrib/tcsh/sh.char.h /root/git/freebsd/bin/csh/confi=
g.h /root/git/freebsd/contrib/tcsh/config_f.h /root/git/freebsd/contrib/t=
csh/sh.types.h sh.err.h -D_h_tc_const |  grep 'Char STR' |  sed -e 's/Cha=
r \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1[];/' |  sort >> tc.const.h
> Building /usr/obj/root/git/freebsd/bin/csh/gethost


If the host does not have tcsh and MK_TCSH is set to yes and fails, then
we're missing building tcsh as a build tool (in bootstrap-tools).  I
don't know where it is used though.
This is the only place I see using csh in the build:
> tools/test/malloc/Makefile:     @csh -x -c "time ./malloc      500000  =
2000 8192"
> tools/test/malloc/Makefile:     @csh -x -c "time ./malloc    50000000  =
2000 8192"
> tools/test/malloc/Makefile:     @csh -x -c "time ./malloc      500000 1=
4000 8192"
> tools/test/malloc/Makefile:     @csh -x -c "time ./malloc    20000000 2=
0000 2048"


>   Reminded by:	Fabian Keil <fk@fabiankeil.de>

This patch is overall fine but it saves 25KB in OBJDIR and ~1 second in
build time.  Based on the reminder and the Relnotes, it seems like
whatever was intended to be fixed may not have been.

>=20
> Modified:
>   head/Makefile.inc1
>=20
> Modified: head/Makefile.inc1
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/Makefile.inc1	Sun Aug 27 13:02:51 2017	(r322950)
> +++ head/Makefile.inc1	Sun Aug 27 16:15:37 2017	(r322951)
> @@ -1984,8 +1984,12 @@ _gcc_tools=3D gnu/usr.bin/cc/cc_tools
>  _rescue=3Drescue/rescue
>  .endif
> =20
> +.if ${MK_TCSH} !=3D "no"
> +_tcsh=3Dbin/csh
> +.endif
> +
>  .for _tool in \
> -    bin/csh \
> +    ${_tcsh} \
>      bin/sh \
>      ${LOCAL_TOOL_DIRS} \
>      lib/ncurses/ncurses \
> @@ -2143,7 +2147,7 @@ native-xtools: .PHONY
>      bin/cat \
>      bin/chmod \
>      bin/cp \
> -    bin/csh \
> +    ${_tcsh} \
>      bin/echo \
>      bin/expr \
>      bin/hostname \
>=20


--=20
Regards,
Bryan Drewery


--8sNx7tkgrhsgclvLjSLV2VNRENClxaTRg--

--DKVnu4BXb8RDK218J3V7GFpknPTOCTeqg
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEzBAEBCgAdFiEE+Rc8ssOq6npcih8JNddxu25Gl88FAlnw9VgACgkQNddxu25G
l88UOgf/ZFivMA4tGhBqeO4yxN/nwFHerjfP7uD4G9bZNhOcDy84MObqFoAo0QBa
SlSI8Fq8jszxSS4tc1NvoN64TmcyDEvvR9H8GjUcAt1xLtJis902RcrFlL5F0WSN
m22ynVNJd4BB/sKgD8/qBI4HpFAEKBLWHJtfVc7FLZ+6bLtPOUtQHAUD47qEw31J
KJE0I23b9d0cMoG51689TejMh0lp3OEDwPhLAqdoVojkbcCnjM4SyBkBIHrZvTXP
pC+JxbMmOADS4hQeqYIROeWukCvtzd/ca1ObN8laE2Q6zSiTiG+ix3iDwgeZuaLU
bIxGVrXBZDJZ0Dd+dwLkQOpl1ac/Mw==
=DAuU
-----END PGP SIGNATURE-----

--DKVnu4BXb8RDK218J3V7GFpknPTOCTeqg--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b698f201-5ca9-1662-8d61-ccacf3693002>