[fbsd] [HEADS UP] New world/kernel build options are imminent
Jeremie Le Hen
jeremie at le-hen.org
Thu Apr 20 15:54:41 UTC 2006
Hi, Ruslan,
> Basically, the new implementation looks like this:
>
> - There are MK_* options that are set either to "no" or "yes".
> Makefiles test them with either ``== "no"'' or ``!= "no"''.
> Users have no direct control over these variables, and attempt
> to set them will result in an error from make(1). Most options
> default to "yes", but some default to "no". Options may have
> dependencies.
>
> - Then there are WITH_*/WITHOUT_* user configurable knobs (value
> is not important). WITH_FOO changes MK_FOO to "yes", WITHOUT_FOO
> changes MK_FOO to "no". Both WITH_FOO and WITHOUT_FOO can't be
> set at the same time, attempt to do so will result in an error.
During the early buildworld process, I need to disable a feature that
may have been enabled in src.conf(5) with the WITH_FOO knob.
IOW, I want to be sure that the feature FOO is disabled for
legacy, bootstrap-tools, build-tools and cross-tools targets.
However if the WITH_FOO knob is enabled in src.conf(5), using
"WITHOUT_FOO=" inside BMAKE, TMAKE and XMAKE macros would lead to an
error triggered by bsd.own.mk :
% 373 .if defined(WITH_${var}) && defined(WITHOUT_${var})
% 374 .error WITH_${var} and WITHOUT_${var} can't both be set.
% 375 .endif
How should I handle that ? I could override SRCCONF and set it to
/dev/null, but I don't think it is acceptable because according to
Makefile.inc1, bootstrap-tools, build-tools and cross-tools targets
might be influenced by src.conf(5) knobs.
Best regards,
--
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
More information about the freebsd-current
mailing list