Subject: Re: Problem in new toolchain builds (need comments)
To: Todd Vierling <tv@wasabisystems.com>
From: James Chacon <jchacon@genuity.net>
List: tech-toolchain
Date: 10/25/2001 01:08:46
>
>On Wed, 24 Oct 2001, James Chacon wrote:
>
>: >This looks good, except that I'd prefer not to add a new file at the top
>: >level and pull stuff away from <bsd.*.mk>. All the USETOOLS logic was put
>: >in <bsd.own.mk> specifically so it could be turned on (with proper
>: >determination of whether a platform should be using the new toolchain by
>: >default), even for a separately checked out subtree. The definitions of
>: >USE_NEW_TOOLCHAIN and USETOOLS need to stay where they are.
>:
>: Actually USETOOLS and the checks for it, etc are still in bsd.own.mk.
>:
>: What I pulled out were just the top level checks for when to turn it on.
>: Keeping these in bsd.*.mk is actually the problem...Those are never needed
>: except when building the source tree
>
>You didn't read what I said. "even for a separately checked out subtree".
>Your changes move the USE_NEW_TOOLCHAIN default out of bsd.own.mk, and you
>are going to hose things by doing that.
>
>Please apply the changes I sent you and do not add a new file to the top
>level.
I was planning on it. Like I said I wasn't wedded to the structure I proposed
so much as I wanted discussion on possibilities.
>
>: In any case it could be changed to a file test only, but I still prefer a known
>: unique file at the top level rather then depending on current layout
>: (build.sh and tools subdir).
>
>Look for "tools/Makefile.host", then. That should be pretty definitive, and
>does the check for the existence of "tools" that I desire.
Either way works in the end for me (I did some testing and I agree with
the changes as well)
>
>: >: MAKE+= USETOOLS=${USETOOLS:Q}
>: >:
>: >: .if defined(USE_NEW_TOOLCHAIN)
>: >: MAKE+= USE_NEW_TOOLCHAIN=${USE_NEW_TOOLCHAIN:Q}
>: >: .endif
>: >
>: >Don't move this to <bsd.own.mk>. Let these be set by normal variable means.
>: >
>: >With these changes, this looks acceptable to me.
>:
>: These need to be added to $MAKE or they don't propogate to sub-makes. No other
>: way around it.
>
>You don't have to propagate it; that's the point. If someone sets it in the
>environment or mk.conf, it will get set each time; if it's auto-deduced from
>the value of _SRC_TOP_, then that will set it. (How do you think we work
>with user-set changes to CWARNFLAGS, for instance?) You only need to
>propagate _SRC_TOP_, to avoid running the shellcode on every invocation.
>
I realized that after I sent this :-)
James