<div dir="ltr">I just realised I never replied to this. In case a reply is still useful, +3 to everything below.<br><br>In particular, I think we should feel free to flip to/from vendored LLVM as necessary going forward (preferring system LLVM of course).</div><br><div class="gmail_quote">On Thu, 12 Mar 2015 at 09:39 Luca Bruno <<a href="mailto:lucab@debian.org">lucab@debian.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
so I think there was a bit of misunderstanding wrt. build-profiles, and this<br>
is probably the last blocker for alpha2. With this mail I'd like to try to get<br>
a consensus on how to use them, and later commit those changes.<br>
Below is my proposal for alpha2, with the rationale for each point.<br>
Rest assured that we will revisit this as the situation evolve for beta and<br>
stable releases, so I'm only focusing on alpha2 here.<br>
<br>
I think our bigger misunderstanding was related to stage0, so in short here<br>
below I'm proposing:<br>
- to keep embedding/using local stage0 as we were doing in alpha1 (otherwise<br>
alpha2 default profile can't be built at all)<br>
- introduce a build-profile to use a packaged stage0 (which we know doesn't<br>
work for alpha2, but hopefully will soon)<br>
- revisit this build profile in next upstream release, and hopefully start<br>
using packaged stage0 as the default. Then, offer embedded/remote stage0<br>
as an alternative profile.<br>
<br>
Build profiles will concern:<br>
<br>
1) usage of packaged rustc as stage0<br>
- rationale: to build rustc without external binaries<br>
- status: this doesn't work yet for alpha2, but should in future stables<br>
- default profile: building using upstream local stage0¹<br>
- alternative profile:<br>
* name: 'system-stage0'<br>
* effect: add `--enable-local-rust --local-rust-root=/usr`<br>
* notes: as soon as possible, change this to be the default and introduce<br>
a complementary alternative profile 'local-stage0' for<br>
bootstrappers.<br>
<br>
¹: embedded in a multi-tarball orig, like it was in alpha1.<br>
<br>
<br>
2) usage of packaged llvm<br>
- rationale: to avoid building/using forked llvm<br>
- status: this works for alpha2, we try our best to keep it working<br>
- default: keep building against system llvm<br>
- alternative profile:<br>
* name: 'local-llvm'<br>
* effect: remove `--llvm-root=/usr/lib/llvm-3.<u></u>6`<br>
<br>
<br>
3) whether to build documentation<br>
- rationale: to minimize bootstrap<br>
- status: a bunch of compilation options, shouldn't change too much in the<br>
future<br>
- default profile: build documentation package<br>
- alternative profile:<br>
* name: 'nodoc'²<br>
* effect: don't build documentation package<br>
<br>
²: wiki suggests without trailing 's', so renaming what we have now.<br>
<br>
<br>
Let me know your comments on this. If/When we reach a consensus, I'll commit<br>
new build profiles and update README.source accordingly.<br>
<br>
Cheers, Luca<br>
<br>
--<br>
.''`. ** Debian GNU/Linux ** | Luca Bruno (kaeso)<br>
: :' : The Universal O.S. | lucab (AT) <a href="http://debian.org" target="_blank">debian.org</a><br>
`. `'` | GPG Key ID: 0x4F3BBEBF<br>
`- <a href="http://www.debian.org" target="_blank">http://www.debian.org</a> | Debian GNU/Linux Developer<br>
______________________________<u></u>_________________<br>
Pkg-rust-maintainers mailing list<br>
<a href="mailto:Pkg-rust-maintainers@lists.alioth.debian.org" target="_blank">Pkg-rust-maintainers@lists.<u></u>alioth.debian.org</a><br>
<a href="https://lists.alioth.debian.org/mailman/listinfo/pkg-rust-maintainers" target="_blank">https://lists.alioth.debian.<u></u>org/mailman/listinfo/pkg-rust-<u></u>maintainers</a><br>
</blockquote></div>