Commit Graph

6678 Commits

Author SHA1 Message Date
Colin Cross
f8579330a5 Merge "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS" 2015-09-23 20:54:16 +00:00
Dan Albert
1576da248c Don't apply --exclude-libs for the host.
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
2015-09-23 13:32:14 -07:00
Dan Albert
c496b259b8 Merge "Default to hiding libgcc symbols in each object." 2015-09-23 20:08:09 +00:00
Dan Albert
021b7651a5 Default to hiding libgcc symbols in each object.
Bug: http://b/24166967
Change-Id: I3dba264ae70a2e13b3edee7575139e86ef49be71
2015-09-22 16:49:28 -07:00
Ying Wang
127da9e4aa Use md5sum as the build.ninja filename suffix if the suffix gets too long.
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
2015-09-22 16:16:12 -07:00
Colin Cross
b71d24931c Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS
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
2015-09-22 14:24:00 -07:00
Ying Wang
bd2d024778 Don't build otatools.zip if we don't build the ota package.
Also added flag TARGET_SKIP_OTA_PACKAGE to allow product to skip ota
package.

Bug: 24295339
Change-Id: Ib613ed747528661a6572b577cd54ccb6c2d1fdc8
2015-09-22 11:41:59 -07:00
Colin Cross
9ff24387c2 Merge "Make USE_NINJA=true the default" 2015-09-22 17:05:22 +00:00
Dan Albert
30b326206b Merge "Revert "Don't re-export libgcc symbols from every object."" 2015-09-21 19:20:24 +00:00
Dan Albert
5408ff73d6 Revert "Don't re-export libgcc symbols from every object."
For some reason shamu doesn't boot after this change.

Bug: http://b/24166967

This reverts commit e92d25f296.

Change-Id: Ibd90c0fccb1fe7446f959c937963d1aa4e43c37c
2015-09-21 19:19:02 +00:00
Ying Wang
d75d893da8 Don't add build number to apps' version name for platform build.
Bug: 24201956
Change-Id: I4a4bb483bb7b1bf7b7a856050d548bee4db0fe93
2015-09-19 10:56:35 -07:00
Colin Cross
0881ce1817 Merge changes Ic1be7572,Id6481430
* changes:
  Pass --ninja to makeparallel for ninja
  makeparallel: improve support for wrapping ninja
2015-09-18 23:33:59 +00:00
Colin Cross
f77030bb30 Make USE_NINJA=true the default
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
2015-09-18 15:10:21 -07:00
Colin Cross
af6c071a5f Pass --ninja to makeparallel for ninja
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
2015-09-18 15:02:40 -07:00
Christopher Ferris
9bc462c12a Merge "Add the common directory back to kernel headers." 2015-09-18 20:44:58 +00:00
Evgenii Stepanov
908260a566 Merge "Add support of SANITIZE_TARGET='address coverage' for fuzzing." 2015-09-18 20:21:54 +00:00
Ivan Krasin
74b32b8dfc Add support of SANITIZE_TARGET='address coverage' for fuzzing.
Also, add trace-cmp instrumentation to fuzz_test and host_fuzz_test.

Bug: 22850550
Change-Id: Ifff7b8be693ae991feb0a64e19439370a19b2748
2015-09-18 11:54:43 -07:00
Dan Albert
000e1a973e Merge "Don't re-export libgcc symbols from every object." 2015-09-18 17:21:13 +00:00
Christopher Ferris
6a2f28514c Add the common directory back to kernel headers.
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
2015-09-17 21:20:03 -07:00
Dan Albert
e92d25f296 Don't re-export libgcc symbols from every object.
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
2015-09-17 17:18:12 -07:00
Scott James Remnant
dd86e5a0de build: support compiling .mm on host
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
2015-09-17 15:51:32 -07:00
Dan Albert
3ee9daac6a Merge "Remove WITHOUT_(HOST|TARGET)_CLANG." 2015-09-16 23:24:40 +00:00
Dan Albert
32f7ff14ce Remove WITHOUT_(HOST|TARGET)_CLANG.
This is unused.

Change-Id: Ibc461fef02c82d110718003aceffb943c930ffe6
2015-09-16 15:43:00 -07:00
Ying Wang
eb1e18e689 Use $(OUT_DIR)/ninja_build to mark ninja build.
Bug: 23565895
Change-Id: I000e88a45278fd52096312262eacc52511f02efb
2015-09-16 15:29:08 -07:00
Ying Wang
8da19e3688 Generate installed-files-vendor.txt
Similar to installed-files.txt, installed-files-vendor.txt lists the
content of vendor.img.

Bug: 24009297
Change-Id: Ib8112b19cc9f54d0c0d6a829063e4fe72d8ce664
2015-09-15 14:24:00 -07:00
Dan Willemsen
b384eb84c3 Merge "kati: Handle MAKECMDGOALS modifications" 2015-09-15 00:28:42 +00:00
Dan Willemsen
cb1bd116ed kati: Handle MAKECMDGOALS modifications
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
2015-09-14 16:30:51 -07:00
Colin Cross
f7ca64faa0 Use makeparallel to propagate -j flag to ninja or kati
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
2015-09-14 14:41:00 -07:00
Dan Albert
d1d68b19ac Fix LOCAL_CXX_STL := none for Windows.
We still need to link the various MSVC libraries even if we aren't
using the STL.

Bug: http://b/22953515
Change-Id: I73c35710a6162408e99480a4840eedd291adf7ab
2015-09-11 13:37:51 -07:00
Shinichiro Hamaji
6d20af0391 Merge "Use the same build.ninja for normal make targets" 2015-09-10 03:31:59 +00:00
Dan Willemsen
0b6c3481d5 Update the build system doc
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
2015-09-10 00:20:12 +00:00
Dan Willemsen
7728817ab9 Don't build windows modules with clang, fix flags
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
2015-09-09 16:10:50 -07:00
Dan Willemsen
f1c09d7fbd Merge "Add HOST_CROSS_OS" 2015-09-09 18:13:21 +00:00
Dan Willemsen
057aaea54a Add HOST_CROSS_OS
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
2015-09-09 18:12:29 +00:00
Shinichiro Hamaji
d762bcae25 Use the same build.ninja for normal make targets
$(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
2015-09-09 15:48:10 +09:00
Dan Albert
a187fb5986 Fix name for NDK protobuf libraries.
Name them *-ndk so it's clear which library is which.

Change-Id: I53544a8a97488f902e00d1aedaa021d09ee2f649
2015-09-08 10:47:03 -07:00
Shinichiro Hamaji
e711afb154 Merge "Use $(BUILD_MODULES_IN_PATHS) as a part of ninja suffix" 2015-09-07 05:38:24 +00:00
Shinichiro Hamaji
909e7f40ae Use $(BUILD_MODULES_IN_PATHS) as a part of ninja suffix
So that switching between two different mmma targets won't
need regenerating ninja files.

Change-Id: Ifddd75ec49abd3ab2a54c6afbb902b0b32359db8
2015-09-05 09:00:19 +09:00
Dan Willemsen
ed635cfc0d Fix LOCAL_MODULE_HOST_OS
Make sure LOCAL_IS_HOST_MODULE is set before including
module_arch_supported.mk

Bug: 23566667
Change-Id: I28ef10f093407eb3a6a83574ecc3f098eb775241
2015-09-04 15:41:38 -07:00
Yasuhiro Matsuda
ff82e82a1e Move part of logtags stuff back to base_rules.mk.
Otherwise event tags for non-Java modules
(e.g. logcat, libsurfaceflinger) are not generated.

BUG: 23803975
Change-Id: I6fd53fe2ca39102787fc513aa8c23f906b94f253
2015-09-04 20:02:49 +09:00
Dan Willemsen
859ac34064 Add LOCAL_MODULE_HOST_OS
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
2015-09-03 16:40:51 -07:00
Ying Wang
4e2f190315 Merge "Clean up Javac a little bit." 2015-09-02 20:48:50 +00:00
Ivan Krasin
b83e171c8d Add AddressSanitizer linker flags for x86.
This is the 1/4 change required to get AddressSanitizer
for Android x86 to work.

Change-Id: I848805af34fdd32a313c991504d6014f9b97ab88
2015-09-02 11:59:45 -07:00
Ying Wang
447d69678e Clean up Javac a little bit.
- 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
2015-09-02 10:04:18 -07:00
Shinichiro Hamaji
bfd01872cb Set --ninja_suffix based on make/mm/mmm targets
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
2015-09-02 07:37:39 +09:00
Shinichiro Hamaji
ec8f973147 Merge "Show error message when resource limit too low for USE_GOMA=true" 2015-09-01 02:26:15 +00:00
Dan Willemsen
d0ae4796a1 Merge "Blacklist libc++ from windows host builds" 2015-09-01 00:44:21 +00:00
Ying Wang
3351178fb8 Cleaned the outdated incrementaljavac.
Nobody is using this feature and now we switched to jack.

Change-Id: I749b486eb347cbf3ee7b107565fc800eeb238c44
(cherry-picked from commit 90598cb70c)
2015-08-29 11:08:02 -07:00
Shinichiro Hamaji
b601d4b0e4 Show error message when resource limit too low for USE_GOMA=true
This should be particularly helpful for Mac users, because the
default limits of Mac are too low.

Change-Id: I03f0f76a0707b4ce5ef9cddf5df6e3857a215996
2015-08-29 12:01:51 +09:00
Ying Wang
956dcccf76 Move Java stuff out of base_rules.mk
- Moved the target-only .aidl and .logtag rules to java.mk.
- Moved the .proto rules,  Java library dependency calculation,
  Java resource processing and Java-related
  target-specific and global variables setup to a new java_common.java,
  which is shared by both target and host Java modules.
- Minor cleanup for the moved code.

Bug: 23597357
Change-Id: Ic3eb72e26bb1a663e5739abe0a935f96b88bc352
2015-08-28 17:17:19 -07:00