Commit graph

6725 commits

Author SHA1 Message Date
Tao Bao
f6d83021d4 Pack libdivsufsort.so into otatools.zip.
This is to support the change to bsdiff which depends on
libdivsufsort.so and libdivsufsort64.so now.

Bug: 24332905
Change-Id: I232fc1b2abda67456f012a83fa4f69a99bc6ea14
2015-09-28 16:42:51 -07:00
Colin Cross
92f8348aeb Use zip -q for adding shared libraries
Make zip quiet when adding shared libraries to apks.

Bug: 24409581
Change-Id: I540510eb6e051b5fc9d1d2a7fa5565a5b774a602
2015-09-28 16:15:09 -07:00
Colin Cross
fe5e6894d2 Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
Distinguish between parsing makefiles in make for a pre-ninja build,
parsing makefiles in kati for a ninja build, and parsing makefiles in
make for a non-ninja build by leaving USE_NINJA=true enabled for the
kati pass but also setting BUILDING_WITH_NINJA.

Change-Id: I63f1ce1efe08cd86fdf41f8051901f720b38cfaf
2015-09-28 15:36:05 -07:00
Colin Cross
aa0aca69cf Remove "preparing StaticLib" messages
The preparing StaticLib messages don't provide any useful information,
remove them to clean up build output.

Bug: 24409581
Change-Id: I81fa7c47fd0d10846a21667b6421b4777260d0e9
2015-09-28 14:51:19 -07:00
Steve Fung
562ad0b5e4 Merge "Package breakpad symbols in target files zip" 2015-09-28 20:07:55 +00:00
Shinichiro Hamaji
cf448ddb4f Merge "Use gomacc even for FDO build" 2015-09-28 04:38:53 +00:00
Colin Cross
581a028fb5 Merge "Remove checkbuild and test from parse time goals" 2015-09-26 03:33:35 +00:00
Shinichiro Hamaji
09295a82f8 Use gomacc even for FDO build
Goma's client recognizes -fprofile-use= flag so shoulde be
compatible with Android's FDO build.

Change-Id: I0d21d6f530cd05770f8dc12e9dc33a5db49a9c7d
2015-09-26 12:01:21 +09:00
Steve Fung
dfbab49bed Package breakpad symbols in target files zip
When BREAKPAD_GENERATE_SYMBOLS is set to true, package the breakpad
symbols into the target files zip thats generated with `make dist`.

Bug: 24165970
Change-Id: I11c0d9a9d9e159475bfdb7bc338f9e9ac60aeada
2015-09-25 18:34:15 -07:00
Ying Wang
094116f037 Merge "Remove the unnecessary rs_compatibility_jni_libs install rules." 2015-09-26 01:00:14 +00:00
Colin Cross
309b420d56 Fix windows build
The windows toolchain doesn't support color, only apply
-fdiagnostics-color to HOST and TARGET, not HOST_CROSS.

Change-Id: I17b999a2852b8d70b2d39a58befa10e2e32c4608
2015-09-25 17:00:14 -07:00
Colin Cross
c53d6b90b3 Remove checkbuild and test from parse time goals
The tests goal is not a parse time goal.

The checkbuild goal is only a parse time goal so that it doesn't result
in a circular dependency between droid and checkbuild when
ANDROID_BUILD_EVERYTHING_BY_DEFAULT is set.  Get rid of the circular
dependency by making droid depend on droid_targets, and droid_targets
depend on the targets that are normally built for droid.  checkbuild can
then always depend on droid_targets, and droid can condtionally depend
on checkbuild without introducing a circular dependency.

Bug: 24413153
Change-Id: I231d80e05ffe321384a5efbcdf5578f86ad84da0
2015-09-25 16:43:36 -07:00
Ying Wang
ac30b88dc4 Remove the unnecessary rs_compatibility_jni_libs install rules.
We only build rs_compatibility_jni_libs for unbundled build or when
FORCE_BUILD_RS_COMPAT is set. We don't need to install the
rs_compatibility_jni_libs to system.img in either case.

It's bad idea to install them to system.img, because when two modules
have .rs files with the same name, their installed files conflict.

Change-Id: I7524a301c59396db464f28b17b8f8bf1f15523ca
2015-09-25 16:14:57 -07:00
Colin Cross
3a0a8918b2 Link libgtest_main before libgtest
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
2015-09-25 16:11:31 -07:00
Colin Cross
0d97557d3d Merge "Enable color output from gcc and clang" 2015-09-25 23:10:45 +00:00
Christopher Ferris
76ec0c4c53 Merge "Set mcpu targets based on cpu variant." 2015-09-25 16:29:33 +00:00
Colin Cross
63e3b0294f Enable color output from gcc and clang
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
2015-09-24 22:39:17 -07:00
Shinichiro Hamaji
5ff665d407 Revert "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS"
This reverts commit cb31f040e3.

This could be the cause of an internal build breakage.

Change-Id: Ic5d2a2ce1f2d214a8201db5c570682d8336763b9
2015-09-25 14:21:37 +09:00
Shinichiro Hamaji
cb31f040e3 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.

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
2015-09-25 13:49:46 +09:00
Shinichiro Hamaji
3c524993c7 Merge "Make it possible to change the number of remote jobs" 2015-09-25 04:34:37 +00:00
Shinichiro Hamaji
6b37c7b32a Merge "Allow USE_GOMA=true without explicit USE_NINJA=true" 2015-09-25 04:23:28 +00:00
Colin Cross
c180dd0bfc Merge "Revert "disable Krait for Mac builds to avoid assembler issues"" 2015-09-25 01:07:52 +00:00
Colin Cross
737cc70b50 Revert "disable Krait for Mac builds to avoid assembler issues"
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
2015-09-25 00:30:34 +00:00
Steve Fung
fdec88c972 Merge "Generate breakpad symbols" 2015-09-24 23:57:42 +00:00
Steve Fung
cb2e67fdb7 Generate breakpad symbols
When BREAKPAD_GENERATE_SYMBOLS is set to true, generate breakpad
symbols for binaries.

Bug: 23900817
Change-Id: I7b992d819350f4f80df5868d16f13016502dfca0
2015-09-24 16:49:40 -07:00
Ying Wang
61cd884a11 Substitue "/" with "-" in the MODULES-IN phony goal names.
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
2015-09-24 16:24:42 -07:00
Elliott Hughes
43bbbf8a15 Merge "Remove more of the pathmap." 2015-09-24 21:50:42 +00:00
Dan Albert
880f05f4f2 Merge "Use exported includes for libc++." 2015-09-24 21:38:21 +00:00
Dan Albert
eb3e3fa5da Use exported includes for libc++.
Change-Id: Ia5d9c857a43975448a8c2b489cc29be0fa67ddf6
2015-09-24 14:09:09 -07:00
Christopher Ferris
561b4c1995 Set mcpu targets based on cpu variant.
Make cortex-a53 and cortex-a53.a57 use cortex-a7.

Change-Id: I89d5b3f044c867ec99aae319eafc33f2edf1f9f2
2015-09-24 13:59:33 -07:00
Dan Willemsen
7cc88b794d Turn shared library multilib warnings into errors
When caught later, these just get turned into warnings with
unpredictable results, or non-obvious errors.

Change-Id: Ie7ba88e97dc5bedd6cf850748d79693711ac41da
2015-09-24 13:21:11 -07:00
Ying Wang
ce2843f455 The pattern %tests is too broad.
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
2015-09-24 11:34:46 -07:00
Elliott Hughes
09c255dbd1 Remove more of the pathmap.
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
2015-09-24 09:02:19 -07:00
Shinichiro Hamaji
c1cba69970 Make it possible to change the number of remote jobs
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
2015-09-24 16:22:44 +09:00
Shinichiro Hamaji
d8f268ecac Allow USE_GOMA=true without explicit USE_NINJA=true
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
2015-09-24 15:19:08 +09:00
Ying Wang
964f06b178 Merge "Re-implement mma/mmma using make goals." 2015-09-24 01:20:05 +00:00
Dan Willemsen
bd1b9e3332 Merge "Sort all files found via $(shell find)" 2015-09-24 00:55:27 +00:00
Dan Willemsen
b6a3ede550 Merge "Remove trailing / for HOST_TOOLCHAIN_FOR_CLANG" 2015-09-24 00:42:26 +00:00
Dan Willemsen
58350dee77 Merge "Don't add CFLAGS to CPPFLAGS" 2015-09-24 00:23:27 +00:00
Dan Willemsen
c339398581 Remove trailing / for HOST_TOOLCHAIN_FOR_CLANG
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
2015-09-23 23:46:44 +00:00
Ying Wang
caeaa08f9d Re-implement mma/mmma using make goals.
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
2015-09-23 16:31:02 -07:00
Dan Willemsen
3ad3549519 Don't add CFLAGS to CPPFLAGS
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
2015-09-23 16:23:02 -07:00
Dan Albert
b77aedbf1e Revert "Default to hiding libgcc symbols in each object."
This reverts commit 021b7651a5.

Bug: http://b/24166967
Change-Id: I3ca9ed36fa3b55c7eb129c209903676879720acd
2015-09-23 16:18:18 -07:00
Dan Albert
31927f76a3 Revert "Don't apply --exclude-libs for the host."
This reverts commit 1576da248c.

Bug: http://b/24166967
Change-Id: Ibd7eec5c261e85a0474243991be7ee1860c9e14d
2015-09-23 16:18:03 -07:00
Dan Willemsen
4d66adfd0e Sort all files found via $(shell find)
Don't rely on filesystem ordering to make these the same for all builds.

Change-Id: I7313062157764091acecf45f4b57405c28858546
2015-09-23 15:35:52 -07:00
Colin Cross
87e0e8a764 Merge "Revert "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS"" 2015-09-23 21:53:08 +00:00
Colin Cross
84a8ca3173 Revert "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS"
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
2015-09-23 21:49:27 +00:00
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