Commit graph

41698 commits

Author SHA1 Message Date
Colin Cross
ac48f41ba5 Don't depend on R.txt)
There is an extra ) in the implicit output path for R.txt, which causes
the rule to rerun every time because of a missing output file.  There
is already an implicit output for R.txt on line 180 (which is why
the incorrect path didn't cause an immediate "No rule to generate R.txt"
error), so just remove the incorrect one.

Bug: 77244156
Test: m checkbuild && m checkbuild
Change-Id: Id960ee211b89a9a5f5104cdcac23bc3124742145
2018-04-10 16:27:53 -07:00
Dan Willemsen
eaacf5b285 Add variables for configuring Soong plugins
See the Soong commit for detailed usage.

Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
2018-04-10 15:51:53 -07:00
Elliott Hughes
d5ad9346fb Move logwrapper to shell_and_utilities.
Bug: https://issuetracker.google.com/77284669
Test: builds
Change-Id: I22549e321d88007480e7d9d961e41db2b9a26a41
2018-04-10 14:50:13 -07:00
Anton Hansson
400673cf1e Consolidate the logic for the sdk prebuilt module names.
I'm making some changes to it, and found the names are scattered
in various places. Make a macro and re-use the logic instead.

Bug: 77525052
Test: make droid
Change-Id: I0f2da80b8b4d427353509b27ec720d024eee7a6e
2018-04-10 18:53:30 +01:00
Justin Yun
ac5527f765 Update current.txt for vndk
Update the current.txt for vndk libs in aosp.

Bug: 77816590
Test: m check-vndk-list
Change-Id: Ie90111c10781cc366faa711027f279601709fe56
2018-04-10 18:24:16 +09:00
Treehugger Robot
f05573eb91 Merge "Delay eval to save memory use in create-suite-dependencies" 2018-04-10 02:38:06 +00:00
Dan Willemsen
a4155e8512 Delay eval to save memory use in create-suite-dependencies
Instead of passing the entire contents of
$(COMPATIBILITY.$(suite).FILES) to eval, which may keep that string
around, delay the evaluation of that, and the new files until inside the
eval.

This saves ~2.8GB: 7.4GB -> 4.6GB of ckati max resident memory for a
relatively small internal build. It also saves ~10% of the makefile
loading time (81 -> 73 seconds).

Test: build-aosp_arm.ninja is identical
Change-Id: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
2018-04-09 16:30:06 -07:00
Treehugger Robot
5c19615b55 Merge "Revert "Remove flags to turn overriding commands into errors"" 2018-04-07 00:06:22 +00:00
Treehugger Robot
060067e341 Merge "Remove our binary of ccache" 2018-04-06 21:47:38 +00:00
Dan Willemsen
07a7227776 Revert "Remove flags to turn overriding commands into errors"
This reverts commit 1d8e86139c.

Reason for revert: fixed art + mac bug

Change-Id: I53a4d490ef32270aaaa8051f5c44958d0bec6469
Test: on mac: m nothing
2018-04-06 21:00:17 +00:00
Dan Willemsen
dc348501f0 Merge "Remove flags to turn overriding commands into errors" 2018-04-06 17:54:36 +00:00
Dan Willemsen
1d8e86139c Remove flags to turn overriding commands into errors
This is a partial revert of I43b645658f468c23a5b9ebcfcd9d4516537db540

On at least a generic_x86 build internally:

art/build/Android.gtest.mk:121: error: overriding commands for target `Uncompressed', previously defined at art/build/Android.gtest.mk:101

Bug: 77611511
Test: none
Change-Id: I78ca65e6f0c81f09e7da848eda797b3a8f97a521
2018-04-06 10:50:45 -07:00
Treehugger Robot
3c93dbfa61 Merge "Allow boards to turn overriding commands into an error" 2018-04-06 16:02:08 +00:00
Dan Willemsen
ac406f5c68 Allow boards to turn overriding commands into an error
Many boards have warnings like this, saying that we defined a build
rule, but later something else came in and overrode it with something
else:

art/build/Android.gtest.mk:677: warning: overriding commands for target `test-art-target-gtest-cmdline_parser_test'
art/build/Android.gtest.mk:674: warning: ignoring old commands for target `test-art-target-gtest-cmdline_parser_test'

Beyond the obvious problem of replacing the rule with something else,
target-specific variables can be combined as well, leading to some very
strange problems.

Since so many boards still have problems like this, but we don't
currently have any global problems, add a flag so that we can mark
boards as not broken. This should prevent regressions while we clean up
the individual problems.

Once the non-broken devices number significantly more than the broken
devices, we'll switch this default. And once they're all cleaned up this
variable will become obsolete, and these warnings will always be errors.

Bug: 77611511
Test: lunch aosp_arm-eng; m nothing
Test: lunch aosp_marlin-eng; m nothing
Test: build_test on all downstream branches
Change-Id: I43b645658f468c23a5b9ebcfcd9d4516537db540
2018-04-05 17:26:35 -07:00
Treehugger Robot
e543e409d2 Merge "Support manifest fragments." 2018-04-05 23:09:14 +00:00
Dan Willemsen
7556703f0d Remove our binary of ccache
Our binary was rather old, and for a variety of reasons we haven't kept
it updated. We've been running into a handful of reliability issues that
would have been fixed with an update, and a few reproducibility /
correctness issues that may or may not be fixed with newer versions.

For local no-change full rebuilds, ccache can still save ~35% of the
build time (but adds a few minutes to initially populate the cache). But
most local uses should be using incremental builds anyways, not clean
rebuilds. Or you're doing builds of different configurations, which
wouldn't be cache hits either, and would make your cache even larger.

At a large scale, we haven't seen a significant performance difference
between having ccache on or off. This may be different if you've got
very good build locality, or a very large cache -- but if you've got
good build locality, it's reasonable to do incremental builds (not for
release builds, and while running `m installclean` in between builds).

So for our cases, we'd prefer the stability and correctness of not using
ccache, but if you still want to use ccache, continue setting USE_CCACHE
and also set CCACHE_EXEC to the path of your ccache executable.

Bug: 32748498
Bug: 72408185
Test: performance testing of USE_CCACHE=false vs true locally
Test: turned off ccache for a collection of targets
Test: CCACHE_EXEC=/usr/bin/ccache USE_CCACHE=true m
Change-Id: I7117fe3107bd98521051ae343038a38f7e855502
2018-04-05 15:25:59 -07:00
Calin Juravle
6607ce7efa Merge "Change the default compiler filter for install to speed-profile" 2018-04-05 21:51:46 +00:00
Steven Moreland
3629aa77da Support manifest fragments.
LOCAL_VINTF_FRAGMENTS/vintf_fragments are
used to specify what manifest fragments should be installed
by a target.

Test: fragments get installed to the right location
Test: broken fragment gets detected
Test: boot device and verify service is working and manifest is updated
Test: verify OTA package contains fragments
Bug: 66917623
Change-Id: I21abe65a31b8c3d255c8ccd80e102ff3acb23105
2018-04-05 11:26:35 -07:00
Treehugger Robot
a975fe9c24 Merge "Start moving add_lunch_combo to Make" 2018-04-05 03:14:07 +00:00
Dan Willemsen
af2e1f8487 Start moving add_lunch_combo to Make
Start deprecating add_lunch_combo, preferring a list of common choices
in each AndroidProducts.mk file.

This list will be validated so that we don't have typos:

https://android-review.git.corp.google.com/c/device/generic/car/+/619533

Or targets that no longer exist.

Bug: 77599627
Test: lunch
Test: lunch 34
Test: lunch aosp_x86_64-eng
Test: lunch aosp_<tab>
Change-Id: Ie0ddaa94cbd6cee26584f56f1706a8ec1333f87e
2018-04-04 17:14:47 -07:00
Tom Cherry
946b5c5e7f Merge "Convert liboemaids to oemaids_headers as a headers only library" 2018-04-04 23:02:34 +00:00
Elliott Hughes
fc1471cd29 Merge "Move adb/fastboot bash completion to their projects." 2018-04-04 19:44:37 +00:00
Tom Cherry
7a95c15c15 Convert liboemaids to oemaids_headers as a headers only library
Bug: 77298768
Test: test that config.fs AIDs are visible through this library
Change-Id: Ifbf3276212ea6904533ac23021bfce29d9a3c5d9
2018-04-04 12:29:14 -07:00
Treehugger Robot
a77e2acd6b Merge "Fix mini_debug_info stripping when no symbols should be kept." 2018-04-04 04:28:52 +00:00
Elliott Hughes
ce18dd448f Move adb/fastboot bash completion to their projects.
Bug: http://b/74443706
Test: bash completion still works
Change-Id: I21e6407f5114b438f5548be259a65d903ea73b62
2018-04-03 13:49:48 -07:00
Calin Juravle
b5dadc3a18 Change the default compiler filter for install to speed-profile
The install filter is speed-profile in order to enable the use of profiles
from the dex metadata files. Note that if a profile is not provided or if
it is empty speed-profile is equivalent to (quicken + empty app image).

Test: build & install an app
Bug: b/30934496
Change-Id: I895b5e2a1d8ff478f56b0f08cb589789d0743b54
2018-04-03 12:43:04 -07:00
Treehugger Robot
3790f8b23f Merge "Add components to enable CFI for." 2018-04-02 23:58:44 +00:00
Treehugger Robot
fe3983963f Merge "Fix the comment for find-test-data-in-subdirs." 2018-04-02 23:14:11 +00:00
Treehugger Robot
a61f0042d1 Merge "Enable integer_overflow flag for static targets." 2018-04-02 22:36:42 +00:00
Vishwath Mohan
e003a0a6ce Add components to enable CFI for.
This CL adds a list of components to enable CFI for on Arm64 product
configs.

This list is not directly used anywhere, but product configs can
inherit this to easily enable CFI for all tested components.

Bug: 63926619
Test: Inherit the product config; m -j60; verify that CFI is enabled
Change-Id: I56b6dfd5495639974a19623bc7aea9efeb9acff6
2018-04-02 14:35:31 -07:00
Treehugger Robot
c22e207c50 Merge "Add PRODUCT_PACKAGES_DEBUG_ASAN" 2018-04-02 21:15:59 +00:00
Tao Bao
160bb70c4c Fix the comment for find-test-data-in-subdirs.
The function along with LOCAL_TEST_DATA are very helpful, but it took me
some extra minutes to figure out the issue with the arguments.

Test: N/A
Change-Id: I2c2878fca99ab77ea881d86635c27c34f9ecf855
2018-03-30 20:06:36 -07:00
Zach Riggle
9323b7faf3 Add PRODUCT_PACKAGES_DEBUG_ASAN
This is a list of modules which should be installed by default, but only on
builds which are set up for Address Sanitizer (via SANITIZE_TARGET=address).

Additionally, add sanitizer-status to PRODUCT_PACKAGES_DEBUG so that all
userdebug builds will have the binary.  Currently, the module has the
"debug" tag but it may go away in the future.

Change-Id: I0bea4faf9c2a65380292471437e51ef8324b5af3
2018-03-30 21:09:50 +00:00
Treehugger Robot
802eecc01c Merge "Add TOT_SEPOLICY_VERSION = 10000.0" 2018-03-30 17:11:36 +00:00
Treehugger Robot
fb6389d720 Merge "Allow platform modules to link to vendor public libraries" 2018-03-30 03:41:22 +00:00
Vishwath Mohan
f39badf5f8 Merge "Revert "Change PRODUCT_CFI_INCLUDE_PATHS to opt-out (Make)"" 2018-03-30 02:58:32 +00:00
Vishwath Mohan
21204e4921 Revert "Change PRODUCT_CFI_INCLUDE_PATHS to opt-out (Make)"
This reverts commit f03a265786.

Change-Id: I3ca0e2f9e3938b49919a8530b393ba3dba4f118c
2018-03-30 02:55:05 +00:00
Jiyong Park
c3f1356a3a Allow platform modules to link to vendor public libraries
Normally, when building with VNDK, platform modules are not allowed to
link against vendor libraries, because the ABI of the vendor libraries
are not guaranteed to be stable and may differ across multiple vendor
images.

However, the vendor public libraries are the exceptions. Vendor public
libraries are vendor libraries that are exposed to 3rd party apps and
listed in /vendor/etc/public.libraries.txt. Since they are intended to
be exposed to public, their ABI stability is guaranteed (by definition,
though it is up to the vendor to actually guarantee it).

This change allows platform modules to link to vendor public libraries.
When the name of a vendor public libraries (whose stub is defined via
vendor_public_library in Android.bp) is listed in
LOCAL_SHARED_LIBRARIES, it is actually linked to the stub library which
is available to platform modules.

Bug: 74275385
Test: m -j
Change-Id: I063b43431196190b59332b1bcad59f267073f89f
2018-03-30 10:12:30 +09:00
Treehugger Robot
a143397aee Merge "Change PRODUCT_CFI_INCLUDE_PATHS to opt-out (Make)" 2018-03-29 22:55:35 +00:00
Elliott Hughes
e67bbf39fc Merge "Remove unused dalvik.vm.stack-trace-dir." 2018-03-29 21:15:16 +00:00
Vishwath Mohan
f03a265786 Change PRODUCT_CFI_INCLUDE_PATHS to opt-out (Make)
This CL changes PRODUCT_CFI_INCLUDE_PATHS to be included in all
product configs by default. To maintain the status quo, the sanitizer
logic has been modified to only respect this product config for Arm64
devices (where this was previously enabled).

Bug: 63926619
Test: m -j60 # the device still has CFI enabled thanks to the default
opt-in

Change-Id: I22788d92be881d3290568488f5458c85e02ee8c7
2018-03-29 13:07:10 -07:00
Treehugger Robot
ef364228d7 Merge "emulator: update fstab.ranchu installation for arm images" 2018-03-29 06:04:41 +00:00
Ryan Prichard
a45f5833c0 Fix mini_debug_info stripping when no symbols should be kept.
If there are no symbols to keep (i.e. all function symbols are also in
the dynsym table), then the $@.keep_symbols file has size 0.
When objcopy parses a --keep-symbols file, it has a special case for
0-sized files where it silently fails (exits with status 1, no error
message). On the other hand, objcopy is happy with a file containing no
symbols, as long as there is some whitespace or a comment. Avoid the
special case by appending a newline to keep_symbols.

Bug: b/62815515
Bug: b/77242617
Test: manual
Change-Id: I348593164fe78ece5c85db3d28c7daccce3a52fb
2018-03-29 01:39:07 +00:00
Treehugger Robot
df2a21794c Merge "Allow addition of recovery DTBO to recovery image" 2018-03-29 00:02:57 +00:00
bohu
acc16846e3 emulator: update fstab.ranchu installation for arm images
Now init.ranchu.rc picks up fstab.ranchu from vendor/etc
instead of from /

BUG: 77233572
Change-Id: Ifd8639ac4cb883402c90de45b15b11077a60fa5f
2018-03-28 15:39:28 -07:00
Elliott Hughes
f12e8f81bd Remove unused dalvik.vm.stack-trace-dir.
Bug: http://b/73140330
Test: boots
Change-Id: I6145b7af8224165546b1fbdb95b4d2ac2c1f0997
2018-03-28 14:57:58 -07:00
Alexey Polyudov
ce81400244 Merge "Do not use UBSAN library on HOST or AUX targets" 2018-03-28 17:47:50 +00:00
Alexey Polyudov
e98e5625ad Do not use UBSAN library on HOST or AUX targets
AUX modules are not necessarily using the same toolchain
as the TARGET modules. they don't have to depend on
this library.

Change-Id: Ib50cf0eb26c257ae3eb69a43aa1a12c41d5d39b0
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2018-03-27 17:21:23 -07:00
Tri Vo
d9c8e956ac Add TOT_SEPOLICY_VERSION = 10000.0
This variable is equal to the sepolicy version for tip-of-tree development.

Bug: 74622750
Test: ./build/soong/soong_ui.bash  --dumpvars-mode -vars PLATFORM_SEPOLICY_VERSION
is unchanged.
Change-Id: I2a62f7399fe245ec0c681e9a789da6b1b83dd9d8
2018-03-27 17:11:38 -07:00
Tobias Thierer
c209fb1799 Merge "javadoc/droidoc: Don't add .jar files to sourcepath." 2018-03-27 09:54:13 +00:00