| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
No behavior change on most platforms. On solaris, -t browse was compiled in
in ninja.cc but browse.cc wasn't compiled in, which probably means that building
on Solaris didn't work. It might be better now.
This also makes browse.cc automatically not included in bootstrap builds;
previously this was done manually through the NINJA_BOOTSTRAP check.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using an open-source clang on OS X, one has to pass an isysroot
flag so that it can find system headers (stdio.h), like so:
CXX=path/to/clang++ CFLAGS="-isysroot $(xcrun -show-sdk-path)" ./configure.py
Previously, configure.py wouldn't quote envvars containing spaces, so
it'd rerun this as
CXX=path/to/clang++ CFLAGS=-isysroot /sysroot/path ./configure.py
which would then die because /sysroot/path wasn't excecutable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ninja currently uses googletest for testing. That makes building
ninja_test somewhat annoying since it requires that one passes
--with-gtest PATH to configure. It turns out just implementing the bits
of googletest that ninja uses needs about the same amount of code than
making the --with-gtest flag in configure.py work and making googletest
print test results in a way we want (!)
In addition to making configuration simpler, this also makes compiling
tests much faster: On my system, touching src/build_test.cc (the slowest
file to build in ninja) and rebuilding ninja_tests is twice as fast than
without this patch. Building all is noticeably faster too: 5.6s with
this patch, 9.1s without this patch (38% faster).
The most noticeable things missing: EXPECT_* and ASSERT_* don't support
streaming notes to them with operator<<, and for failing tests the lhs
and rhs are not printed. That's so that this header does not have to
include sstream, which slows down building ninja_test almost 20%.
If this turns out to be annoying, we can maybe add it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
All modern Linux kernels have ppoll() but sometimes
you might want to compile on something ancient.
This patch adds the possibility to force the use
of pselect() instead by passing --force-pselect
to bootstrap/configure.
The use of ppoll() is still default for Linux
and OpenBSD
|
|
|
|
|
|
| |
This catches the case where you use an older version on Ninja
to build a newer version of the Ninja code.
bootstrap.py always should work regardless.
|
| |
|
|
|
|
| |
The --as-needed default for ld would drop -lprofiler.
|
| |
|
|
|
|
| |
Hopefully will help flush out bugs.
|
|\
| |
| |
| |
| | |
This merges a new mechanism for tracking "depfile" dependencies that
is faster on all platforms but dramatically so on Windows.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
DepsLog is a compact serialization of dependency information.
It can be used to replace depfiles for faster loading.
|
| | |
|
|/
|
|
|
| |
This is just a proof-of-concept. The terminal printing logic should be
extracted from src/build.cc and then reused here.
|
|
|
|
|
| |
As best as I can tell this is the easiest way to customize
the asciidoc HTML output.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Tests always need GTEST_HAS_RTTI=0 set, but the code was only
setting it in the --with-gtest branch. Instead always use the
test-specific cflags when compiling test code.
|
| |
|
| |
|
| |
|
|
|
|
| |
Now passing through a valid SRPM, working in a standard way.
|
|
|
|
|
| |
Struct initializations such as those in `CLWrapper::Run` of file
`src/msvc_helper-win32.cc` causes MinGW GCC to spew warnings.
|
|
|
|
|
|
| |
Note: _WIN32 is used instead of WIN32 to enable builds with MSVC
IDE, Windows SDK non-IDE command line tools, and mingw/mingw-w64
based toolchains
|
|
|
|
|
|
| |
Now "ninja -t msvc ..." passes the "..." to the msvc helper main.
This drastically simplifies bootstrap and makes ninja a single
binary again.
|
| |
|
| |
|
|
|
|
|
| |
This pattern is safe as long as you're careful; we don't use it
very much.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I tried just fixing the code to pull in HACKING.md but it didn't show
up in the doxygen output; it's maybe too long to include anyway.
|
| |
|
| |
|
|
|
|
| |
Modify bootstrap etc. to make use of this binary.
|
| |
|
|
|
|
|
|
|
| |
(Note from Evan: this is landing Scott's code more or less verbatim
without a lot of analysis; it could maybe be simplified and reduced,
but it's only intended to be used in the MSVC helper so it's fine
to be experimental.)
|
| |
|