Makefile.inc1.patch
Alan Somers
asomers at freebsd.org
Thu Jan 23 21:39:39 UTC 2014
On Thu, Jan 23, 2014 at 2:34 PM, Garrett Cooper <yaneurabeya at gmail.com> wrote:
> Ugh. Backwards logic (sorry)...
>
> On Jan 23, 2014, at 1:32 PM, Garrett Cooper <yaneurabeya at gmail.com> wrote:
>
>> On Jan 23, 2014, at 1:29 PM, Alan Somers <asomers at freebsd.org> wrote:
>>
>>> On Thu, Jan 23, 2014 at 2:23 PM, Garrett Cooper <yaneurabeya at gmail.com> wrote:
>>>> On Jan 23, 2014, at 1:11 PM, Alan Somers <asomers at freebsd.org> wrote:
>>>>
>>>>> In that case, I'm missing something. I can't find any makefiles that
>>>>> reference MK_ATF or a related variable. What is the effect of setting
>>>>> WITH_ATF ?
>>>>>
>>>>> -Alan
>>>>
>>>> NO_TESTS forces WITHOUT_TESTS to be set. So, if I set NO_TESTS in the various build steps it will force ATF to not be built. For that reason (and that reason alone) I reintroduced WITH_ATF just for Makefile.inc1 (but you could replace it with something else like WITH_ATF_LIBS, etc, if the naming is too confusing).
>>>> Thanks!
>>>> -Garrett
>>>
>>> I get that much, but what I don't understand is what direct affect
>>> WITH_ATF has. Did you forget to reintroduce a ".if defined(MK_ATF)"
>>> in some other file?
>>
>> No, the purpose of WITH_ATF is to override NO_TESTS, so building the ATF libs now has two conditions:
>>
>> build_atf_libs = (is WITH_ATF defined?) && (is WITHOUT_TESTS defined?)
>
> build_atf_libs = (is WITH_ATF defined?) && (is WITH_TESTS defined?)
Should that be || instead of && ?
>
>> versus one:
>>
>> build_atf_libs = (is WITHOUT_TESTS defined?)
>
> build_atf_libs = (is WITH_TESTS defined?)
>
>> This allows us pepper NO_TESTS around and thus not build tests in the build process unless they’re _really_ needed (e.g. in make everything).
Ok, I think I get it now. It's a recursive thing. At the top level,
your patch adds WITH_ATF to MAKE. Then, in a child make process, the
presence of WITH_ATF causes _lib_atf to be defined. Is that correct?
-Alan
More information about the freebsd-testing
mailing list