libgtest_main uses symbols from libgtest. If libgtest_main is linked
after libgtest, and the test .o files don't reference libgtest (which is
unlikely), then the libgtest .o files will be ignored and libgtest_main
won't be able to find its symbols from libgtest.
Change-Id: Ica3bc679bd9d14e9a3065be927f085cf52faab64
Force gcc and clang to always output color diagnostics. Ninja will
strip the ANSI color codes if it is not running in a terminal.
Bug: 24273983
Change-Id: Ic9252549bfacf3bbb3f4b9d20f63010fc24ac21d
Only goals that modify the parsing need to be passed to kati, filter out
everything else and only pass it to ninja.
Also, always specify --gen_all_phony_targets. With this flag, kati emits
all phony targets in the ninja file so a ninja file generated only with
PARSE_TIME_MAKE_GOALS can handle targets which don't change the parsing.
Bug: 24339367
Change-Id: I63237160c3c86817b53635665d56906790ec4e6a
This doesn't seem to be a problem any more, and mac builds
that differ from linux builds is causing other problems.
This reverts commit 7c40fb95dc.
Bug: 24339250
Change-Id: I8a0da11df42d58ba9c3ded4571f1db870f400a21
When BREAKPAD_GENERATE_SYMBOLS is set to true, generate breakpad
symbols for binaries.
Bug: 23900817
Change-Id: I7b992d819350f4f80df5868d16f13016502dfca0
This avoids Ninja's path canonicalization on those goal names.
Without this, Ninja complains about duplicate rules for
MODULES-IN/a/b/.. and MODULES-IN/a.
Bug: 24309760
Change-Id: Id3aa9da5d3887a2cd1426cbb5fdf35659c65805e
When caught later, these just get turned into warnings with
unpredictable results, or non-obvious errors.
Change-Id: Ie7ba88e97dc5bedd6cf850748d79693711ac41da
We had fixed the filtering of %tests in art/Android.mk.
Actually the %tests leads to false build<suffix>.ninja when you run:
$ mmma cts/tests/tests/nativeopengl/libnativeopengltests
because the new mmma calls make with goals like
MODULES-IN/cts/tests/tests/nativeopengl/libnativeopengltests .
Bug: 24309760
Change-Id: I35af2e8d046ae40f3b90ec0a92473fcab8ff5db5
I've fixed libpagemap to export its headers, the only user of the
libnativehelper entry was in this file anyway, and no one was using
the libhost entry.
Change-Id: Id0d1773e55c0114ccc56cefd783689193a6204f9
User can overwrite NINJA_REMOTE_NUM_JOBS for this purpose. The
number is passed to ninja instead of to kati so no we don't
need to regenerate a ninja file when a user changes this value.
Change-Id: I2ccfaaae4492d84a8b8045dff612cb5f6ebe2c79
Now ninja build is disabled only with USE_NINJA=false. So goma.mk
should fail with an error only when USE_NINJA=false is explicitly
specified.
Change-Id: I2fb913433d5c1e93ed2a9bd93bb5000cabd835a4
The darwin version doesn't have a trailing slash. The common case is to
append a path to it:
$(HOST_TOOLCHAIN_FOR_CLANG)/lib/...
Which means we end up with two slashes.
Change-Id: I74e88924ecfd092c5f7871e188ede0aab29cf65b
Previously we use command line variable BUILD_MODULES_IN_PATHS which
causes kati to regenerate build.ninja if any variable value changes.
TODO: Remove the old rules of BUILD_MODULES_IN_PATHS in
build/core/main.mk and ninja.mk once users have re-sourced envsetup.sh.
Probably in a few weeks.
Caveat: With this change, if a user sources the new envsetup.sh, mma/mmma
won't work in old branches from the same shell.
Bug: 24309760
Change-Id: I212e82aeebaaa2bd4114e2066f1995da8886b5e2
Except for kati, we never use COMMON_GLOBAL_CPPFLAGS without also using
COMMON_GLOBAL_CFLAGS, which leads to duplicate command line entries.
Change-Id: I25d625924e9d157175a9e88bc3f15b7214cfb4ed
If there are any goals on the command line, kati hides targets that are
not dependencies of those goals. Revert this until kati is modified to
include all targets.
This reverts commit b71d24931c.
Bug: 24339367
Change-Id: I7c3a950aef8efc9a0eb72bd29ee07710d2faca99
The Mac linker doesn't support this flag, and we don't actually need
it there anyway because we link dynamically to the system's compiler
runtime lib.
Bug: http://b/24166967
Change-Id: I62a926ed39d9fc487638e0c1a172762503dd633e
Use md5sum as the build.ninja filename suffix if the suffix is longer
than 64 characters. Also store the original suffix in a corresponding
.suf file for human lookup.
This fixes the "File name too long" error when kati tries to write to
build.ninja with the long original suffix.
Bug: 24302576
Change-Id: Ie04b0c14e1a9d593aa5c2a6b357b19a9e8a7158e
Only goals that modify the parsing need to be passed to kati, filter out
everything else and only pass it to ninja.
Change-Id: I28788a3409d601fe838749bcf15394bc8f3d775b
For some reason shamu doesn't boot after this change.
Bug: http://b/24166967
This reverts commit e92d25f296.
Change-Id: Ibd90c0fccb1fe7446f959c937963d1aa4e43c37c
Build with kati + ninja by default, unless specifically disabled with
USE_NINJA=false in the environment or on the make command line.
Bug: 23565895
Change-Id: I1fa9f5c6eb4d4ed3f5b81454f89d19fd2f1f6abb
When parallelism is being handled by ninja, pass --ninja to makeparallel
to have it translate -j with no number to default ninja parallelism, and
-k to -k0.
Bug: 24199503
Change-Id: Ic1be7572f93b33e4a71ed23e9e73dea1d4255703