Discussion:
[CFT] tinderbox/universe building clang once
(too old to reply)
Bryan Drewery
2018-06-20 21:08:43 UTC
Permalink
https://people.freebsd.org/~bdrewery/patches/universe-one-clang.diff

This will build clang once if any of the targets specified (or
defaulted) require bootstrapping clang.

It probably has some issues with LLD_BOOTSTRAP in some cases. It could
be improved more in the future for reusing more of the tools built but I
think this is good enough for now as it saves the majority of the time
in the bootstrap phases on clang.

This won't work for GCC unless it learns convenient -target support.
Its needed --sysroot support was also broken until some recent work from
John Baldwin but I'm not sure if that has been committed yet.

Also FYI WITH_SYSTEM_LINKER support is now in to avoid building libclang
for lld on archs that have LLD_BOOTSTRAP set.

I'm putting this out for testing since tinderbox/universe take so long
and I can't possibly test all workflows with it myself.
--
Regards,
Bryan Drewery
Bryan Drewery
2018-06-21 00:07:31 UTC
Permalink
Post by Bryan Drewery
https://people.freebsd.org/~bdrewery/patches/universe-one-clang.diff
This will build clang once if any of the targets specified (or
defaulted) require bootstrapping clang.
The longterm plan does include making 'TARGET=arch1 make buildworld' and
'TARGET=arch2 make buildworld' both use the same compiler and various
other build tools. For now this patch only addresses tinderbox/universe
so we can have some progress. I had another implementation that covered
the buildworld case but it was getting too complex and causing conflicts
with other people's work. I'll improve this over time.
Post by Bryan Drewery
It probably has some issues with LLD_BOOTSTRAP in some cases. It could
be improved more in the future for reusing more of the tools built but I
think this is good enough for now as it saves the majority of the time
in the bootstrap phases on clang.
This won't work for GCC unless it learns convenient -target support.
Its needed --sysroot support was also broken until some recent work from
John Baldwin but I'm not sure if that has been committed yet.
Also FYI WITH_SYSTEM_LINKER support is now in to avoid building libclang
for lld on archs that have LLD_BOOTSTRAP set.
I'm putting this out for testing since tinderbox/universe take so long
and I can't possibly test all workflows with it myself.
--
Regards,
Bryan Drewery
Loading...