Build work 11.0 plans status update
Bryan Drewery
bdrewery at FreeBSD.org
Thu Jun 30 16:42:42 UTC 2016
(bcc'd some specific interested parties)
This is from a private mail I sent to re@ a while back and is a status
update for upcoming work.
> On Fri, May 27, 2016 at 11:18:58AM -0700, Bryan Drewery wrote:
>> Heads up, I intend to continue adding a few new features during the
>> slush/stable period since they are so impactful. They will be
>> off-by-default for stable/11 at this point I guess. I feel this is fine
>> since it is not ABI-related.
>>
>> - AUTO_OBJ: For subdir builds and buildworld, automatically create obj
>> dirs without needing 'make obj'. I wanted to enable this by default but
>> can wait for the branch to be created. There is some work pending for this.
>> - Using objdir pattern of /usr/obj/usr/src/TARGET.TARGET_ARCH/bin/sh for
>> all archs, not just non-native. I'd prefer this made it into stable/11.
>> Very little work remaining for this.
>> - WITH_META_MODE: Fixed incremental (with default -DNO_CLEAN) build
>> (mail pending to current@ soon). No work remaining except 1 pending
>> commit. Not planning on-by-default for stable/11.
>> - Build clang once for universe regardless of WITH_SYSTEM_COMPILER.
>> On-by-default. I really intend to make this into stable/11. It will be
>> too great of a time savings to ignore for 11 release testing IMO.
>>
>
Just an update...
- WITH_SYSTEM_COMPILER is now on by default. There has been some
unexpected fallout from this such as with ppc64 thinking it was using
a newer gcc (fixed), or the xlint build failing for 1 user (still not
fixed).
- META_MODE should mostly be done now. Some fixes/tweaks may still
trickle in for edge cases, such as allowing WITH_SYSTEM_COMPILER to work
with it. The problem is that flip-flopping between using an internal
and external compiler and it adding -target/--sysroot flags in on the
2nd build and meta mode detecting the changed build command. I would
like to always pass these flags, even with the internal cross-compiler,
to fix the problem. I think the lld effort would be happy with this too.
- Building clang once in universe isn't coming soon. Likely 3-4 weeks
out. I'll cross the question of merging once it is done and how
intrusive it is. I believe it may be a bit more complex than I imagined
to make it clean and easily maintained. It would need a pre-universe
"universe-toolchain" phase that changes how universe works a lot. I
consider it overall trivial but don't want to duplicate too much code.
It somewhat relies on the new AUTO_OBJ work too. More time is needed on it.
- AUTO_OBJ I am splitting into 3 separate patches after feedback.
1. Removing 'make obj' treewalks from buildworld/buildkernel. This is
coming in the next few days. No risk to it.
2. Unifying the objtree as like
/usr/obj/usr/src/TARGET.TARGET_ARCH/bin/sh. This I will bring in
an option of UNIFIED_OBJDIR to flip between the old and new
patterns. Some tools such as picobsd and the options survey will
rely on the old pattern. A CFT is needed to discover what else
relies on the old patterns still. There's also a problem of
migrating from the old tree to the new. I will bring this patch
as off-by-default to re@ in the next week.
3. Default AUTO_OBJ in subdirs. This one is kind of tricky and needs
some more thought. Non-root especially may be problematic since
it will try to write to /usr/obj by default. I likely will hold
off on this and not propose it for 11.0.
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20160630/2865fadb/attachment.sig>
More information about the freebsd-arch
mailing list