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