llvm, rt: build using the Ninja generator if available
The Ninja generator generally builds much faster than make. It may also be used on Windows to have a vast speed improvement over the Visual Studio generators. Currently hidden behind an `--enable-ninja` flag because it does not obey the top-level `-j` or `-l` flags given to `make`.
This commit is contained in:
parent
2ad5ed07f8
commit
1bcd60682d
3 changed files with 25 additions and 3 deletions
17
configure
vendored
17
configure
vendored
|
|
@ -612,6 +612,7 @@ opt rustbuild 0 "use the rust and cargo based build system"
|
|||
opt orbit 0 "get MIR where it belongs - everywhere; most importantly, in orbit"
|
||||
opt codegen-tests 1 "run the src/test/codegen tests"
|
||||
opt option-checking 1 "complain about unrecognized options in this configure script"
|
||||
opt ninja 0 "build LLVM using the Ninja generator (for MSVC, requires building in the correct environment)"
|
||||
|
||||
# Optimization and debugging options. These may be overridden by the release channel, etc.
|
||||
opt_nosave optimize 1 "build optimized rust code"
|
||||
|
|
@ -775,6 +776,17 @@ probe CFG_BISON bison
|
|||
probe CFG_GDB gdb
|
||||
probe CFG_LLDB lldb
|
||||
|
||||
if [ -n "$CFG_ENABLE_NINJA" ]
|
||||
then
|
||||
probe CFG_NINJA ninja
|
||||
if [ -z "$CFG_NINJA" ]
|
||||
then
|
||||
# On Debian and Fedora, the `ninja` binary is an IRC bot, so the build tool was
|
||||
# renamed. Handle this case.
|
||||
probe CFG_NINJA ninja-build
|
||||
fi
|
||||
fi
|
||||
|
||||
# For building LLVM
|
||||
probe_need CFG_CMAKE cmake
|
||||
|
||||
|
|
@ -1524,7 +1536,10 @@ do
|
|||
fi
|
||||
|
||||
# We need the generator later on for compiler-rt even if LLVM's not built
|
||||
if [ ${is_msvc} -ne 0 ]
|
||||
if [ -n "$CFG_NINJA" ]
|
||||
then
|
||||
generator="Ninja"
|
||||
elif [ ${is_msvc} -ne 0 ]
|
||||
then
|
||||
case "$CFG_MSVC_ROOT" in
|
||||
*14.0*)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue