On 11/13/2015 9:22 AM, Simon J. Gerraty wrote: > Bryan Drewery <bdrew...@freebsd.org> 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