Commit Graph

79 Commits

Author SHA1 Message Date
Nico Weber
aeeb99e49f Let configure.py remember its environment for rerunning.
Without this, CXX is lost when ninja decides that it's time to
regenerate build.ninja, which makes performance tweaking surprising.
2012-05-04 08:33:46 -07:00
Evan Martin
3253f66fd1 clarify a flag in configure.py
(The -g flag is always on, --debug just adds e.g. libstdc++'s extra
debugging features.)

Related to issue #286.
2012-05-01 20:46:34 -07:00
Nico Weber
53c55b0a32 ninja_syntax.build() returns a list, not a single string.
Fixes 'multiple rules' warnings on mac/linux.
2012-04-30 20:15:30 -07:00
Evan Martin
a40480745a Merge pull request #285 from nico/winninjatest
Make it possible to write `ninja ninja_test` on windows (as opposed to `ninja ninja_test.exe`). Also `ninja ninja`.
2012-04-30 09:22:19 -07:00
Nico Weber
3e3abfe97f Explicitly pass -DGTEST_HAS_RTTI to fix building ninja_test with clang. 2012-04-30 08:40:34 -07:00
Nico Weber
ada42e5eee Build without RTTI on windows (/GR-), saves 1kB and is consisten with linux/mac. 2012-04-30 08:40:12 -07:00
Nico Weber
6a80051550 Provide 'ninja' as alias for 'ninja.exe' too. Tidy up. 2012-04-30 08:11:21 -07:00
Nico Weber
b240b07a9d Provide 'ninja_test' as alias for 'ninja_test.exe' on windows. 2012-04-30 08:06:28 -07:00
Evan Martin
53adaa76d1 manual: limit width to 45em
I had a local user stylesheet that was doing this for all sites
so I hadn't noticed how bad it was!
2012-04-27 08:30:26 -07:00
Evan Martin
5527e5485a Merge pull request #269 from sgraham/explain
add support for -d explain to help debug why rules are running
2012-04-25 20:18:42 -07:00
Evan Martin
5d6249fa8c Merge pull request #207 from iwadon/fix-configure.py-windows
Fix configure.py for unpacked gtest on Windows platform.
2012-04-25 20:06:59 -07:00
Scott Graham
1aae1bc765 add support for -d explain to help debug why rules are running 2012-04-13 16:55:37 -07:00
Evan Martin
f8fcd520cc Merge pull request #259 from usovalx/distcc_depfile_fix
Explicitly specify target name for gcc depfiles
2012-04-04 17:14:30 -07:00
Oleksandr Usov
83146da27c Explicitly specify target name for gcc depfiles 2012-03-23 15:40:04 +00:00
Petr Wolf
5359825552 Add NOMINMAX macro to fix a compilation error on Win32 2012-03-16 13:59:28 +01:00
Evan Martin
28ef3b736e drop rtti via -fno-rtti; we don't use it 2012-03-06 13:42:47 -08:00
Clint Moore
7504ab4e5d Fixes the build on OpenIndiana 2012-02-07 14:11:48 -08:00
okuoku
3c252b0234 windows: Disable warning C4819
warning C4819: The file contains a character that cannot be represented
in the current code page.
2012-02-03 22:26:58 +09:00
Hiroyuki Iwatsuki
d8775e0db8 Just add /nologo to gtest_cflags, instead of use cflags + gtest_cflags 2012-01-25 17:43:26 +09:00
Hiroyuki Iwatsuki
d3bcb4a00e Fix configure.py for unpacked gtest on Windows platform.
-Use /EHsc instead of -fvisibility=hidden
-Use valid objext
-Use cflags + gtest_cflags
2012-01-25 15:52:46 +09:00
Evan Martin
faac236d26 windows: use _WIN32 define everywhere
Rather than mixing use of WIN32 and _WIN32.
2012-01-22 10:22:45 -08:00
Scott Graham
25a3bb0746 windows: always generate PDB 2012-01-13 19:17:14 -08:00
Evan Martin
dc759f9ae2 enable libstd++ debugging in debug mode 2012-01-13 09:18:49 -08:00
Frances Buontempo
9017c5b46b windows: make ninja_test build 2012-01-12 19:04:42 -08:00
Evan Martin
9370f390b6 build gtest with -fvisibility=hidden as well
Fixes a warning on Mac.
2012-01-11 16:18:37 -08:00
Evan Martin
d5165bafda add a '-d stats' flag for detailed timings
1) Add a system for recording detailed timing info of functions.
2) Add a -d flag for requesting debug info at runtime, with the
   above as the first user.
2012-01-05 14:03:55 -08:00
Evan Martin
77e215dcc5 warn on accidental args to configure 2012-01-04 20:04:09 -08:00
Scott Graham
f4df3f731a windows: more build fixes 2012-01-04 14:18:39 -08:00
Scott Graham
6d338066d0 windows: make bootstrap.py/configure.py work with MSVC 2012-01-03 17:04:49 -08:00
Evan Martin
8a0c960757 switch the core ninja parser to use re2c for the lexer
- Delete the old "Tokenizer" code.
- Write separate tests for the lexer distinct from the parser.
- Switch the parser to use the new code.
- New lexer error output has file:line numbers so e.g. Emacs can
  jump your editor to the syntax error.
- The EvalEnv ($-interpolation) code is now part of the lexer as well.
2011-12-29 13:14:39 -08:00
Evan Martin
c6a0c1ed9b add an "all" target to build all binaries 2011-12-27 19:39:16 -08:00
Evan Martin
67a2c3c58f Merge branch 'master' of git://github.com/ehird/ninja 2011-12-27 12:15:32 -08:00
Thiago Farina
bd39f01975 Put the list of core source files in alphabetical order.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
2011-12-20 19:06:01 -02:00
Evan Martin
9bf145d987 inline gtest to simplify windows build 2011-12-20 11:38:56 -08:00
Evan Martin
8ecbf8400a fix mingw cross-compile 2011-12-20 11:01:04 -08:00
Evan Martin
bbf180d581 handle backslashes and isolated colons in depfile parser
The logic was wrong if the input looked like
  foo : bar baz
with a space before the colon.

Test from Frances <frances.buontempo@gmail.com>.
2011-12-19 11:18:47 -08:00
Evan Martin
8b929cf7c8 split out depfile parser tests into new file 2011-12-19 11:18:47 -08:00
Elliott Hird
121f36d59f Support non-standard Python executable names
Closes #154.
2011-12-14 20:46:55 +00:00
Evan Martin
bf72e45180 use re2c to parse depfiles 2011-12-07 12:10:10 -08:00
Evan Martin
5394fefc2b merge StatCache into State
I think I had originally imagined StatCache would contain more state,
but at this point it's clear it was just managing a single map, which
could just as well be in the already-small State object.
2011-12-07 08:55:46 -08:00
Evan Martin
f570d499dc more whitespace in build output 2011-12-05 13:38:31 -08:00
Evan Martin
3d17415c46 disable the 'unused parameter' warning
It was firing too often, and hadn't uncovered any bugs.
2011-12-05 12:59:38 -08:00
Evan Martin
3b9f727e2b Merge pull request #150 from luislavena/mingw-no-visibility
visibility=hidden should not be used for Windows
2011-12-05 10:24:07 -08:00
Luis Lavena
47b354129a visibility=hidden should not be used for Windows
While GCC 4.x supports the usage of -fvisibility=hidden and the related
pragmas, usage of it under MinGW is a noop and should not be used.

Instead, __declspec(dllexport/dllimport) should be used instead to
indicate exportable functions.

Since Ninja builds a static library, no functions are exported and
visibility, at least under MinGW, is not an issue.
2011-12-05 12:08:47 -03:00
Luis Lavena
7e3e51f607 Use g++'s -static option instead of specific libs
MinGW g++ recognizes -static as option to avoid the need to specify
individual libraries to be statically linked into the executable.

It also solves the warning of -static-libstdc++ not being recorgnized by
GCC 4.5.2 (TDM build)
2011-12-05 11:55:05 -03:00
Evan Martin
757c74f959 configure.py: windows updates
- Drop unused 'windows' platform
- Make 'mingw' platform actually work on mingw-on-Windows.
2011-12-01 21:35:55 -08:00
Evan Martin
f20e002eea Revert "Merge pull request #143 from cipriancraciun/patches/python2"
This reverts commit 38ab41f45f, reversing
changes made to 819d6347b4.

Platforms that don't have /usr/bin/python pointing to python2 are broken.
2011-11-24 23:30:19 -08:00
Ciprian Dorin, Craciun
f3d13afdb1 Fixed Python 2 scripts prologue (i.e. #!/usr/bin/env python2). 2011-11-22 02:57:53 +02:00
Nicolas Despres
73b24b00cc Add -Wextra warning flag.
Fix triggered warnings:
- unused parameter
- type qualifiers ignored on function return type
- missing initializer for member
2011-11-19 19:35:32 +01:00
Nicolas Despres
69fe05f242 Fix duplicated list of profilers. 2011-11-19 15:48:30 +01:00