On 11/13/2015 9:22 AM, Simon J. Gerraty wrote: > Bryan Drewery <[email protected]> wrote: >>> WITH_META_FILES should give you improvements already in that regard. >> >> Yes, it's a step. We'll need cookies in a lot of places too. I wish >> WITH_META_MODE had been WITH_META_BUILD or WITH_DIRDEPS_BUILD so I could > > WITH_DIRDEPS_BUILD would be more accurate. > > Its not too late to rename/add it.
My hesitation was really only due to all of the documentation and
presentations you've done with it named "WITH_META_MODE". If you don't
mind renaming I would like to, if nothing else because it will help
remove some confusion on what "meta mode" is when discussing it (since
it's both a bmake feature and a new build).
>
>> check for "META_MODE" in the buildworld world and for discussion sake.
>> It seems I can use ${.MAKE.MODE:M*meta*} but that :U is needed in all
>> the uses. I'm not sure yet if :U really is needed. We have some
>> ${MK_META_MODE} checks now around some cookies that would need to change
>> for what I'm planning.
>
> I think I mentioned the otherday of having something like:
>
> .if ${MK_META_MODE} == "yes"
> # we can safely use cookies to avoid always
> # re-running targets.
> META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.TARGET}}
> .else
> META_COOKIE_TOUCH=
> .endif
>
> in meta.sys.mk so you could just add ${META_COOKIE_TOUCH}
> to the end of suitable targets.
Great, thanks. Definitely will be useful.
>
>>> Indeed. As I say, NetBSD have this reasonably sorted.
>>> But of course they have 2k line shell script driving a lot of it ;-)
>>
>> Yes the NetBSD build, behavior wise, really impresses me.
>
> I prefer building it in meta mode though ;-)
>
Yes. I do understand the want of a 'make tools' step as well. I just am
latching onto the "go into bin/cat, type make, and watch the magic" goal
without needing a "oh and btw you sometimes need to build a toolchain if
X, Y or Z". I won't push a forced toolchain into meta mode until I have
something more smart worked up.
--
Regards,
Bryan Drewery
signature.asc
Description: OpenPGP digital signature
