Stream: t-compiler/major changes

Topic: Set ninja=true by default compiler-team#339


triagebot (Jul 31 2020 at 21:45, on Zulip):

A new proposal has been announced: #339. It will be announced at the next meeting to try and draw attention to it, but usually MCPs are not discussed during triage meetings. If you think this would benefit from discussion amongst the team, consider proposing a design meeting.

triagebot (Jul 31 2020 at 21:46, on Zulip):

@T-compiler: Proposal #339 has been seconded, and will be approved in 10 days if no objections are raised.

matklad (Jul 31 2020 at 21:58, on Zulip):

A "future step" here would be default to system llvm. Ie, ./x.py build would print "you don't have llvm installed, run apt-get install llvm or set [build] llvm=true in settings.toml"

simulacrum (Jul 31 2020 at 22:04, on Zulip):

That's likely a bad idea -- or at least I would prefer not to.

simulacrum (Jul 31 2020 at 22:04, on Zulip):

We should instead use the LLVM binary from beta (or rustc master)

simulacrum (Jul 31 2020 at 22:05, on Zulip):

system llvm is likely to be outdated/missing patches etc and may either just flat out not work or fail some tests

Joshua Nelson (Jul 31 2020 at 22:06, on Zulip):

matklad said:

A "future step" here would be default to system llvm. Ie, ./x.py build would print "you don't have llvm installed, run apt-get install llvm or set [build] llvm=true in settings.toml"

it was considerably more complicated than that for me

Joshua Nelson (Jul 31 2020 at 22:07, on Zulip):

I had to add buster-backports to apt because the newest version on debian 10 is llvm 7

matklad (Jul 31 2020 at 22:07, on Zulip):

My anecdotal experience that switching to system's llvm made my life significantly better, but it took me several years to discover that this is an option :-) Using correct pre-built LLVM would be ideal, of course

Joshua Nelson (Jul 31 2020 at 22:07, on Zulip):

then after installing llvm8 /usr/bin/llvm-config is not enough because it will try to use /usr/bin/FileCheck which doesn't exist

Joshua Nelson (Jul 31 2020 at 22:07, on Zulip):

instead you need /usr/lib/llvm-8/bin/llvm-config

Joshua Nelson (Jul 31 2020 at 22:07, on Zulip):

then after that install llvm-8-tools

simulacrum (Jul 31 2020 at 22:08, on Zulip):

@Joshua Nelson's experience basically sounds like what I'd expect. That said, maybe lots of people use Arch and such and have latest llvm already

simulacrum (Jul 31 2020 at 22:08, on Zulip):

(though we do have some custom patches applied atop)

matklad (Jul 31 2020 at 22:14, on Zulip):

Fair, llvm on NixOS is fairly recent, which I expect contributes a lot to my different expereicen

yodal (Aug 01 2020 at 11:58, on Zulip):

Has anyone been using Ninja with rustc on Windows? I don't think it will cause problems, but you never know with Windows development

Eric Huss (Aug 01 2020 at 14:11, on Zulip):

I use ninja with msvc. It is so much faster that I feel like the msbuild version is broken. Also, per the comments in bootstrap, msbuild doesn't set the correct options.

nagisa (Aug 01 2020 at 17:16, on Zulip):

I use Ninja whenever I end up needing to build rustc on windows, which is super rarely...

nagisa (Aug 01 2020 at 17:16, on Zulip):

I believe chromium does use ninja extensively though…

mati865 (Aug 01 2020 at 18:55, on Zulip):

Make on Windows uses POSIX emulation layer, ninja being native win32 is way faster. No issues with MinGW.

triagebot (Aug 12 2020 at 16:44, on Zulip):

This proposal has been accepted: #339.

Last update: May 07 2021 at 08:00UTC