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
* commit '782b98eaa1c02d935b338f7317fef139067291bb':
Revert "Default to hiding libgcc symbols in each object."
Revert "Don't apply --exclude-libs for the host."
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
There will only be a very small set of non-uapi headers. This is
mostly being done for the scsi headers since the kernel has not
made uapi versions of all of them.
Change-Id: I44904b07ff96de918dc5fcab4e5f117a34cb2a87
Target modules shouldn't re-export libgcc.a because we don't want
other binaries importing them when they should be getting their own
copy of the builtins.
Bug: http://b/24166967
Change-Id: Iaa208933885375da4a8e1b8935f76e9f3ea0647f
libchrome uses .mm (Objective-C++) files to bridge C++ code with
OS X Frameworks. This adds support for compiling .mm to .o by just
using the existing C++ support.
Bug: 24168923
Change-Id: Ia65357e2e2584dfffcb6796e214fe6b27635c3a6
Similar to installed-files.txt, installed-files-vendor.txt lists the
content of vendor.img.
Bug: 24009297
Change-Id: Ib8112b19cc9f54d0c0d6a829063e4fe72d8ce664
For some special targets (PRODUCT-%), the MAKECMDGOALS variable is
modified. Before this change, using one would result in a "no rule to
make target" error, since the new target was not stubbed out.
Change-Id: I879642a48b84a66789d4bdb7db1b6fd1130819b7
When USE_NINJA=true is set, use makeparallel to claim all jobs from make and
pass them to ninja with -j. If USE_GOMA is set, pass the -j flag to
kati instead so the parallelism can be set in the local_pool instead.
Change-Id: I6e4f957c65683b74533ecb6d33e25de858922823
We still need to link the various MSVC libraries even if we aren't
using the STL.
Bug: http://b/22953515
Change-Id: I73c35710a6162408e99480a4840eedd291adf7ab
This adds a reference to the _{32|64|arm|arm64|...|darwin|linux|windows}
variables, and adds information about how LOCAL_MODULE_HOST_OS works.
It also removes many (but not all) obsolete references.
Bug: 23566667
Change-Id: Ief16a5e245eb65ac00fc23d4fc1b7a409a7a64bd
shamu checkbuilds set USE_CLANG_PLATFORM_BUILD, which shouldn't apply to
modules built for windows. Also fix some flags that were being set
improperly.
Bug: 23566667
Change-Id: Id4c5b7cc59966328483d90f2b7be3f35e439ecee
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.
Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
$(PARSE_TIME_MAKE_GOALS) is a list of known goals which affect
parsing of make (e.g., there is $(filter XXX,$(MAKECMDGOALS))).
If the make targets contain one of them, we keep using a
different build.ninja for each combination of make targets.
Otherwise, we use the same build.ninja which has all phony
targets.
Also load vendor/google/build/ninja_config.mk so it can add
Google-specific goals to $(PARSE_TIME_MAKE_GOALS).
Bug: 23685536
Change-Id: I3da5c76fa7644a05a55c374a754212f4fb794818
Instead of wrapping a host module definition in 'ifeq($(HOST_OS),...)'
in the Android.mk files, define which hosts are supported using
LOCAL_MODULE_HOST_OS.
A blank LOCAL_MODULE_HOST_OS means that linux and darwin are supported.
A non-empty LOCAL_MODULE_HOST_OS lists the supported HOST_OSs.
Change-Id: I1e342d1908cfa00aef2c39c145b4f5f81c373bc6
- Added GLOBAL_JAVAC_DEBUG_FLAGS and merge it to
PRIVATE_JAVACFLAGS/PRIVATE_JACK_FLAGS to get rid of
PRIVATE_JAVAC_DEBUG_FLAGS/PRIVATE_JACK_DEBUG_FLAGS.
- With Java rules out of base_rules.mk we can get rid
of java_alternative_checked_module now.
Change-Id: I1a14716c785e3d49330a75044107662ce96a9307
This fixes two issues:
- Switching make target didn't work well when the latter
make target is not a subset of the first make target.
- Switching between m and mm/mmm forced build.ninja to be
regenerated.
Bug: 23685536
Change-Id: I3c3550d6cca3007d166a13367d6bc22cc3feede2