Date: Mon, 8 Oct 2012 10:48:53 -0500 From: Brooks Davis <brooks@freebsd.org> To: Simon Gerraty <sjg@juniper.net> Cc: freebsd-arch@freebsd.org Subject: Re: bsd.own.mk - just let WITHOUT_* take precedence Message-ID: <20121008154853.GC23400@lor.one-eyed-alien.net> In-Reply-To: <20121007001423.9878F58094@chaos.jnpr.net> References: <20121007001423.9878F58094@chaos.jnpr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--TiqCXmo5T1hvSQQg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Sat, Oct 06, 2012 at 05:14:23PM -0700, Simon Gerraty wrote:
> After being bitten by:
>=20
> make: "/b/sjg/work/fbsd-head/src/share/mk/bsd.own.mk" line 490: WITH_CTF
> and WITHOUT_CTF can't both be set.
>=20
> I took a look at bsd.own.mk
> I'm not sure what's so evil about setting both WITH_ and WITHOUT_
> especially when bits of buildworld, buildkernel etc, set WITHOUT_
> (which triggers the problem for me).
>=20
> All that seems necessary is a clear rule - "WITHOUT_ wins".
> Thus the patch below solve my problem.
I'm not sure if I agree or not, I'll have to think more. This sort of
thing that leads to me yelling at my computer "but I @#%$@# set
WITH_FOO you ^@$@! machine." :)
I think we should at a minimum issue a warning and say what we did.
It won't help a lot if the output is lost when running "make -j16
-DWITH_FOO buildworld", but at least we'll have told the user that their
make.conf or src.conf setting was why the feature they turned on didn't
work.
The implementation looks mostly fine. I do think it skips some options
with variable defaults (LIBCXX in HEAD for example) so I think you'd need
to sprinkle more of these changes in.
-- Brooks
>=20
> Index: share/mk/bsd.own.mk
> =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
> --- share/mk/bsd.own.mk (revision 241871)
> +++ share/mk/bsd.own.mk (working copy)
> @@ -468,9 +468,6 @@ __DEFAULT_NO_OPTIONS+=3DFDT
> # MK_* options which default to "yes".
> #
> .for var in ${__DEFAULT_YES_OPTIONS}
> -.if defined(WITH_${var}) && defined(WITHOUT_${var})
> -.error WITH_${var} and WITHOUT_${var} can't both be set.
> -.endif
> .if defined(MK_${var})
> .error MK_${var} can't be set by a user.
> .endif
> @@ -486,13 +483,10 @@ MK_${var}:=3D yes
> # MK_* options which default to "no".
> #
> .for var in ${__DEFAULT_NO_OPTIONS}
> -.if defined(WITH_${var}) && defined(WITHOUT_${var})
> -.error WITH_${var} and WITHOUT_${var} can't both be set.
> -.endif
> .if defined(MK_${var})
> .error MK_${var} can't be set by a user.
> .endif
> -.if defined(WITH_${var})
> +.if defined(WITH_${var}) && !defined(WITHOUT_${var})
> MK_${var}:=3D yes
> .else
> MK_${var}:=3D no
> _______________________________________________
> freebsd-arch@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
>=20
--TiqCXmo5T1hvSQQg
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)
iD8DBQFQcvXlXY6L6fI4GtQRAsRDAJsF2/I+qR4kRKEaNBnR/CGTxobrUQCg5ejk
zBv6UkxkyG+7kWrV0hT1wao=
=jGO3
-----END PGP SIGNATURE-----
--TiqCXmo5T1hvSQQg--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121008154853.GC23400>
