Commit graph

10797 commits

Author SHA1 Message Date
Dan Willemsen
8e77f86d58 Merge "Only update previous product config when changed" am: 2fcacb5a22
am: 5f381cfcb2

Change-Id: I77598bb8449c8b4b83e93453dd46a658af66bab1
2016-09-17 02:38:49 +00:00
Dan Willemsen
b4773ae479 Merge "Remove objclean" am: 1d4b79dde2
am: beaa6df59f

Change-Id: I73a68779f7b2e321c66e6102dca290828a9cd25f
2016-09-16 22:02:31 +00:00
Dan Willemsen
2cfbdf460d Only update previous product config when changed
I'm working on removing the --ignore_dirty=$(OUT_DIR)/% argument from
Kati. If we're always writing to a file that we're also reading, then
with that flag removed, we'll always reparse all the makefiles.

So instead, use the method from the generated java file cleanup where we
read from a "previous" file, write to a "current" file, then use a
cmp || mv to overwrite the "previous" file if necessary. When the flag
is removed, this will cause Kati to need to run twice any time this
changes, but it's better than forever.

Bug: 30947985
Test: Switch between aosp_arm-eng and full-eng
Change-Id: Id2d1445809b60ce26700bb2aca765df3b5c2b360
2016-09-16 13:17:08 -07:00
Dan Willemsen
da7d25f2d1 Remove objclean
We don't need to manually remove objects when switching SANITIZE_TARGET
-- that will be handled by Ninja noticing that the command lines are
different.

Bug: 30947985
Test: None
Change-Id: I83c15981cf6ea258bb7fa85490b0b1ede1058aa6
2016-09-16 12:53:20 -07:00
Dan Albert
d7c48e9f9d Use libcompiler-rt_extras with NDK builds. am: c28e4bcb1c
am: d042352816

Change-Id: Icb272f25c0c94ebfed549382eefd36363b0b7a1f
2016-09-16 06:51:03 +00:00
Dan Albert
7fde1f9c6e Always link libdl with libc++ for the NDK. am: 2936a1e84b
am: ec6223ec3c

Change-Id: I18fb4af4cd80609ba7bec3d23509df3d3cb6ecf0
2016-09-16 06:50:54 +00:00
Dan Albert
d042352816 Use libcompiler-rt_extras with NDK builds.
am: c28e4bcb1c

Change-Id: I21541bee4a55951601b6cd110ec78ae94a5da94c
2016-09-16 06:45:32 +00:00
Dan Albert
ec6223ec3c Always link libdl with libc++ for the NDK.
am: 2936a1e84b

Change-Id: I41b0ce041345477931b0b0f59212fcda31899259
2016-09-16 06:45:23 +00:00
Treehugger Robot
7b351cadfc Merge changes from topics 'ndk-compiler-rt_extras', 'ndk-libc++-libdl'
* changes:
  Use libcompiler-rt_extras with NDK builds.
  Always link libdl with libc++ for the NDK.
2016-09-16 06:40:32 +00:00
Ryan Campbell
ee20a35082 Merge "Fix typo in coverage target out path." am: c6507670f2
am: 1fd609359d

Change-Id: I3650bd75e4b3a8e03f613e430c65f62ef63aaf37
2016-09-16 02:16:02 +00:00
Ryan Campbell
737bc02ee8 Fix typo in coverage target out path.
Change-Id: I4a448708ab74e08b2c515039ee5d71c32861214e
2016-09-15 17:32:13 -07:00
Colin Cross
e0e5754f23 Merge "Remove SRC_SYSTEM_HEADERS" am: 4a6862e59b
am: 195857c6dd

Change-Id: I28abe9c363ddd963fb5010586fc2cddaee89c015
2016-09-15 18:41:57 +00:00
Treehugger Robot
4a6862e59b Merge "Remove SRC_SYSTEM_HEADERS" 2016-09-15 18:27:45 +00:00
Colin Cross
4ed13c38a5 Remove SRC_SYSTEM_HEADERS
It is inherited from Soong now.

Bug: 31492149
Change-Id: Ia9bfd9662dba16032dac68b55b4f0743c0688139
2016-09-15 09:29:15 -07:00
Yoshisato Yanagisawa
57e615605c Merge "goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set." am: 766c348748
am: 4d5f3043a2

Change-Id: I1cb95bee90e922a74d121f0ed78dc08953cfa735
2016-09-15 03:53:43 +00:00
Treehugger Robot
766c348748 Merge "goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set." 2016-09-15 03:41:24 +00:00
Dan Albert
c28e4bcb1c Use libcompiler-rt_extras with NDK builds.
We want to build things in CTS (things built against the NDK) with
integer overflow checks. Some projects in the tree also make explicit
calls to the overflow checked builtins, and those projects need to be
built with the NDK (external/dng_sdk is the specific example that
brought this up).

Test: make checkbuild tests
Bug: None
Change-Id: Iab27dd0d931f723140de242049fa72f3b1ce0fb8
2016-09-14 16:08:48 -07:00
Dan Albert
2936a1e84b Always link libdl with libc++ for the NDK.
libc++ requires libdl whether it's statically linked or not.

Test: make checkbuild tests
Bug: None
Change-Id: I8abdcfaef779b358196716ab1193cebe278317ac
2016-09-14 16:08:04 -07:00
Dan Willemsen
7c4ced5337 Merge "Fix shared library install dependencies outside of /system" am: 0b3f97b0d6
am: f9fc0ea6fe

Change-Id: I0b06d2a331cf6788e842d91d8b246df2345f10d8
2016-09-13 22:48:36 +00:00
Dan Willemsen
5bdd08b2d9 Fix shared library install dependencies outside of /system
For properly picking the shared library install dependencies, HOST_OUT
and HOST_CROSS_OUT are necessary so that we don't add a dependency
between Linux and Windows. But for target modules, we must use
TARGET_OUT_ROOT instead of TARGET_OUT, or modules in /data and /vendor
won't have proper install dependencies.

Bug: 31462199
Test: m bionic-unit-tests; manual diff of generated ninja file
Change-Id: I828fa2664613296cc6c431813f5657abffdd2b8f
2016-09-13 13:47:06 -07:00
Ryan Campbell
577eab3323 Merge "Implement path-based enabling of code coverage." am: 1e1ecd5d07
am: 6b92bb4ebb

Change-Id: I8d359d0dc1fd72491239152f3c6b852c307ca919
2016-09-13 19:58:51 +00:00
Ryan Campbell
1e1ecd5d07 Merge "Implement path-based enabling of code coverage." 2016-09-13 19:48:34 +00:00
Dan Willemsen
a4f8d8b2a3 Merge "Fix building static linux binaries" am: 8bb71cef9f
am: 5cf6a4578d

Change-Id: Ic8f3a7eb287e42f029c36653c2c7a3c0de65b155
2016-09-13 19:31:22 +00:00
Dan Willemsen
c9aa6fca41 Fix building static linux binaries
BUILD_HOST_static has been broken because I was stripping
-Wl,--start-group/-Wl,--end-group into a separate set of ldflags instead
of keeping them wrapped around some of the ldlibs. So don't pass some of
the build system flags through the ldlibs checker.

Bug: 30898128
Change-Id: I332b42679695cdc5da3cb0036290b6a3544699c0
2016-09-13 17:48:07 +00:00
Ryan Campbell
81c9d29dad Implement path-based enabling of code coverage.
Native coverage is enabled by setting NATIVE_COVERAGE to true
and specifying a list of paths in the COVERAGE_PATHS
environment variable. Files are exported to a zip file in the
target out directory.

Change-Id: I66a2ddd88e849bec1cc0cdae1b51fe18a007e2c3
2016-09-13 10:27:25 -07:00
Dan Willemsen
8dadc2d2e6 Merge "Remove incremental workaround for aapt overlays" am: 946e58bdff
am: cd573e3aef

Change-Id: I7f90596676af64202fe17f76beb49f0a61a0dc1b
2016-09-13 04:38:22 +00:00
Yoshisato Yanagisawa
a2ca270502 goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set.
During the development of goma client, we sometimes need to use goma
compiler_proxy, which has already been running.

Test: NOSTART_GOMA=1 USE_GOMA=1 m.

Change-Id: Ifa969c40871325fd43ee6443ddbe3b18fde62c5a
2016-09-13 13:13:52 +09:00
Dan Willemsen
8e6e6fdba9 Remove incremental workaround for aapt overlays
This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.

Test: switch between product overlays that use add-resource, verify
      R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020
2016-09-12 20:30:12 -07:00
Dan Willemsen
50e79ad9ce Merge "Remove speex from the pathmap" am: fbfff3129e
am: 7da7001c18

Change-Id: I2af31462ac7a45c2ac0d3d5f5335c6081fbae7d2
2016-09-13 00:19:05 +00:00
Treehugger Robot
fbfff3129e Merge "Remove speex from the pathmap" 2016-09-13 00:07:28 +00:00
Dan Willemsen
208d3c2461 Remove speex from the pathmap
libspeexresampler uses LOCAL_EXPORT_C_INCLUDE_DIRS to export this path
to all of its users already.

Test: m libaudiopreprocessing libaudioutils
Change-Id: I682303142840d6f0f02c990de8e713620840bbda
2016-09-12 16:16:50 -07:00
Dan Albert
5eb8f65378 Merge "Update NDK gtest lib names." am: 56c2a18a50
am: 146540b535

Change-Id: I32717473ff1d38f8abca819eb0b21ccfc9153d59
2016-09-12 21:09:54 +00:00
Treehugger Robot
56c2a18a50 Merge "Update NDK gtest lib names." 2016-09-12 20:48:42 +00:00
Dan Willemsen
64deaba889 Merge "Fix libgcov.a dependency" am: f9d5fb97cb
am: 4b9f214a7b

Change-Id: Ia4aadb15b81c53014b135ff09d24b3641789b96b
2016-09-12 19:19:42 +00:00
Dan Willemsen
7db70a3b0a Fix libgcov.a dependency
Now that Soong is generating libgcov.a, we need a dependency here.

Change-Id: Ie8d97339fd584eed178cc57b9333d38754ab1135
2016-09-12 18:09:20 +00:00
David Brazdil
0976590e04 Merge "Update build rules for VDEX" am: 3a04e1b82f
am: 50513362fa

Change-Id: I41040711c09e7cd514c7df33ba3f33350990acd1
2016-09-12 15:09:08 +00:00
David Brazdil
3a04e1b82f Merge "Update build rules for VDEX" 2016-09-12 14:57:19 +00:00
Colin Cross
6b7762a458 Merge "Remove global linker search paths" am: 39c1c9ae12
am: 01d1c0b442

Change-Id: Ifd0478970be0ab37374f5445b5a9501a0c041123
2016-09-09 20:37:29 +00:00
Colin Cross
39c1c9ae12 Merge "Remove global linker search paths" 2016-09-09 20:27:21 +00:00
Colin Cross
067d781530 Remove global linker search paths
Remove the global linker search path, as it can cause spurious build
failures.  If a library with the same name as a system library is in the
process of being written to the directory in the global search path, and
the linker may try to read the partially-written built one instead of the
system one.  We already use full paths to libraries for target builds,
do the same for host builds.  Also remove the normalize library
functions, they are no longer necessary.

Test: m -j checkbuild
Bug: 31393456
Change-Id: If9fc631e111f568c700fd73e103445c30d7e9d11
2016-09-09 11:01:15 -07:00
David Brazdil
70470166c7 Update build rules for VDEX
ART now produces a new output file called VDEX, produced alongside the
existing OAT file. This patch updates the relevant build rules.

Bug: 30937355
Change-Id: Ib6be9f8f36c8f061dbbebd72cb55a5d4b6dc27eb
2016-09-09 09:41:10 +01:00
Dan Albert
f5d024d31a Update NDK gtest lib names.
The NDK gtest libs are always suffixed to simplify the make macro
that generates the test modules.

Bug: http://b/16574165
Change-Id: I1c9647e90aff2f1e9da4a88cad30199b1e423757
2016-09-08 23:10:20 -07:00
Dan Willemsen
27766efeaa Merge "Prevent Kati from seeing MAKEFLAGS" am: 6b363e24bd
am: 01784e0aef

Change-Id: I751acea9a09e67cb65954502cc562408d948a133
2016-09-09 01:38:22 +00:00
Dan Willemsen
5ad9ccaf2a Prevent Kati from seeing MAKEFLAGS
We never want Kati to see MAKEFLAGS, as forcefully overriding variables
is terrible. The variables in MAKEFLAGS are still available in the
environment, so if part of the build wants input from the user, it
should be explicitly checking for an environment variable or using ?=

This commit shouldn't actually change any behavior -- the version of
Kati checked into our tree doesn't actually read MAKEFLAGS (the latest
version does, which is why this change is necessary). We're also already
clearing MAKEFLAGS during makeparallel, so the USE_GOMA case already
doesn't pass through MAKEFLAGS.

Test: Manual $(warnings $(origin MYTEST) $(MYTEST)) with old and new Kati
Change-Id: I5e4ffa66b3539a539cc7a26da24645b11445c469
2016-09-08 17:14:43 -07:00
Dan Willemsen
e67d3d1c36 Merge "Blacklist the GOMACC_PATH environment variable" am: b2498a22c2
am: 4e3e6c76d0

Change-Id: Iec477fd5002a486d266b2926b21f901f5c8abf30
2016-09-08 20:55:04 +00:00
Dan Willemsen
b2498a22c2 Merge "Blacklist the GOMACC_PATH environment variable" 2016-09-08 20:47:19 +00:00
Chih-hung Hsieh
59ac695071 Merge "Define DEFAULT_TIDY_HEADER_DIRS." am: 9d66e2c2ef
am: 84be3dc50a

Change-Id: I2d331c92195714935093171af16bfde0788cca43
2016-09-08 20:37:03 +00:00
Chih-hung Hsieh
9d66e2c2ef Merge "Define DEFAULT_TIDY_HEADER_DIRS." 2016-09-08 20:24:07 +00:00
Dan Willemsen
c4f595e88f Blacklist the GOMACC_PATH environment variable
The clang compiler wrapper will be looking for this environment
variable, but it should only ever be set by the `gomacc` in CC_WRAPPER.
Make sure that it isn't otherwise set in the environment.

Change-Id: I4b26c7183bc47f71dffa7dfcc2e5b08e840a11b1
2016-09-08 12:45:15 -07:00
Colin Cross
ed5343b8ac Merge "Build symlinks for -host and -target phony modules" am: d81559e6ac
am: cf94d1dbdc

Change-Id: If14c8e7ca133f737638b48f70657903cca6d9a7e
2016-09-07 22:07:18 +00:00