Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2016 08:53:55 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        "Simon J. Gerraty" <sjg@juniper.net>
Cc:        Mark Millard <markmi@dsl-only.net>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty filename failure
Message-ID:  <8a51b170-5f6c-4a86-bc08-e960c19b7f2f@FreeBSD.org>
In-Reply-To: <57295.1465874334@kaos.jnpr.net>
References:  <85435AE2-3F2C-4330-9751-729D99716A8C@dsl-only.net> <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org> <57295.1465874334@kaos.jnpr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5
Content-Type: multipart/mixed; boundary="WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: "Simon J. Gerraty" <sjg@juniper.net>
Cc: Mark Millard <markmi@dsl-only.net>,
 FreeBSD Current <freebsd-current@freebsd.org>
Message-ID: <8a51b170-5f6c-4a86-bc08-e960c19b7f2f@FreeBSD.org>
Subject: Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty
 filename failure
References: <85435AE2-3F2C-4330-9751-729D99716A8C@dsl-only.net>
 <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org>
 <57295.1465874334@kaos.jnpr.net>
In-Reply-To: <57295.1465874334@kaos.jnpr.net>

--WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On 6/13/2016 8:18 PM, Simon J. Gerraty wrote:
> Bryan Drewery <bdrewery@freebsd.org> wrote:
>>>> ${_FIRM}: ${.CURDIR}/../../../../contrib/dev/drm2/radeonkmsfw/${_FIR=
M}.uu
>>>>         uudecode -p $? > ${.TARGET}
> Targets like this that use $? or ${.OODATE} are a bad fit with META mod=
e.
>=20
> If the normal make rules think the target is up to date, .OODATE will b=
e
> empty, thus if meta_oodate says the target is out-of-date, the script
> will run with no args - because $? expands to nothing.
>=20
> So either the use of $? should be replaced with ${.ALLSRC} or something=

> else that will be consistent, or the target should be marked .NOMETA

I think my point is getting lost.  With the new missing-meta feature, if
a target uses .OODATE and has no .meta file then it is forced to run
*Even if no targets are out-of-date* and yields an empty result.

Yet, via meta_oodate, if there is already a .meta file and .OODATE is
used and has an empty source list then $.OODATE is forced to be .ALLSRC:

> if (oodate && needOODATE) {                                          =20
>     /*                                                               =20
>      * Target uses .OODATE which is empty; or we wouldn't be here.   =20
>      * We have decided it is oodate, so .OODATE needs to be set.     =20
>      * All we can sanely do is set it to .ALLSRC.                    =20
>      */                                                              =20
>     Var_Delete(OODATE, gn);                                          =20
>     Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0);              =20
>     free(cp);                                                        =20
> }                                                                    =20

What's missing is setting of needOODATE in the metaMissing case so that
it auto applies the .OODATE=3D.ALLSRC hack/fixup which is what you're
suggesting as well.

I don't think it is right to force manually adding .NOMETA to all
=2EOODATE usages since there's already logic to handle .OODATE in the
=2Emeta existing case.

--=20
Regards,
Bryan Drewery


--WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR--

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJXYCiTAAoJEDXXcbtuRpfPVTcH/3tzh+wmlNGxkZqkODsVfpFi
yyeMgZDAiPpicTx5ecJXgRKn6jwLylVYYOPUZEEvP3Lloe3Eg/0KH1Nyfu73SI9d
ZhlPF5AsEr2FGj/bxbX7RLCZVU1H6t6WHGrlxPeOFPDnE+KfRQcQ0DNK0ioSUzrt
fXBNhD3WZ7EPp9iypkuEfw5pkDDzWQBWCZNwoBnNDS4WDy0+L0K5EN+UqxrUJdiT
mmlDY/nzCps1mgCGVJWggTGpDOQMU1tPzj8y4xDMVZA9CqES7rir+JT2Bi4qV8cd
ZtpysYwQkLUitM37XB+IStlRFi3nDoU0h/Xoi3khEYGMEBvmg6Sl59Axz91ogz0=
=K1zi
-----END PGP SIGNATURE-----

--mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8a51b170-5f6c-4a86-bc08-e960c19b7f2f>