Commit Graph

41940 Commits

Author SHA1 Message Date
Mathieu Chartier 4157c834db Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set"
am: 65ba0bf59c

Change-Id: I56882452ae7e794d2cbee8f3e4c04fc1d11e1fe1
2018-04-12 15:26:32 -07:00
Mathieu Chartier 65ba0bf59c Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" 2018-04-12 22:10:57 +00:00
Jiyong Park 16a4fb198b Merge "Allow native:vendor to vendor apks"
am: f2fc1418d3

Change-Id: I36e8d2d7cbb16f183cf0cfeb0fc33f8360984af4
2018-04-12 10:35:21 -07:00
Treehugger Robot f2fc1418d3 Merge "Allow native:vendor to vendor apks" 2018-04-12 17:21:59 +00:00
Mathieu Chartier aaca16f0f7 Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set
Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.

Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
2018-04-12 17:02:30 +00:00
Ivan Podogov 869d4e5869 Merge "Add vendor properties blacklist"
am: 2e2290cf1a

Change-Id: I272d57b1b7729304a382c0d190e10da7180ca0ac
2018-04-12 03:14:17 -07:00
Treehugger Robot 2e2290cf1a Merge "Add vendor properties blacklist" 2018-04-12 10:08:10 +00:00
Jiyong Park 49a5b9785f Allow native:vendor to vendor apks
Vendor apks should be able to reference native vendor libraries.
Vendor apks have worked around this by building without
LOCAL_SDK_VERSION, which then allowed to use all libs. However,
since vendor apks now needs to be built with SystemSDK, that
workaround can no longer be used.

Bug: 76398918
Test: BOARD_SYSTEMSDK_VERSION=P m -j
Change-Id: Idb13d5db71f4dfd542658483b6a24e7ece18ce26
2018-04-12 17:14:48 +09:00
Justin Yun 9596790645 Merge "Exclude libclang_rt from checking vndk list"
am: e1f78121c4

Change-Id: I94d1ec6e3b406b6e9d95275a205600a76137ad40
2018-04-12 00:50:39 -07:00
Treehugger Robot e1f78121c4 Merge "Exclude libclang_rt from checking vndk list" 2018-04-12 07:37:02 +00:00
Justin Yun 492c519a86 Merge "Update current.txt for vndk libs list"
am: 189b97e652

Change-Id: Ie3b36e8b0d8ef40e7424bce01bab13423d282b6a
2018-04-11 23:20:48 -07:00
Justin Yun 016020923a Exclude libclang_rt from checking vndk list
libclang_rt libs are prebuilt libs that have different names by the
architecture they are built.

Bug: 77931086
Bug: 77816590
Bug: 67002788
Test: 'm check-vndk-list' for various architectures.
Change-Id: Iacb3979b6e5df7e9ba8073470aab23c603b4db55
2018-04-12 06:17:23 +00:00
Justin Yun 189b97e652 Merge "Update current.txt for vndk libs list" 2018-04-12 06:04:16 +00:00
Justin Yun ef2261475a Update current.txt for vndk libs list
Update latest vndk libraries list to exclude architecture
dependent libraries.

Bug: 77931086
Test: m check-vndk-list
Change-Id: I205262bef549cff508071da5a4d02c0b115d33e3
2018-04-12 14:34:31 +09:00
John Muir dd38cece28 Merge "notice_files: Disable NOTICE files for FAKE modules."
am: 57fdba09a9

Change-Id: I7fe3921c6dae61c0b5ef11e71e164d1def8f1837
2018-04-11 15:44:29 -07:00
Treehugger Robot 57fdba09a9 Merge "notice_files: Disable NOTICE files for FAKE modules." 2018-04-11 22:34:34 +00:00
Ivan Podogov d572632f3d Add vendor properties blacklist
This change allows removing some vendor properties from
(vendor|system/vendor)/build.prop file based on a blacklist.

For WearOS Unified Builds, which can change the product name depending on
the chosen locale, we use runtime-generated value for ro.build.fingerprint,
but since the ro.vendor.build.fingerprint cannot be generated the same way,
we always hit a "Mismatched fingerprints" error.

Bug: 71555551
Test: manual
Change-Id: Ifad793187e930a28fbf9325b03468c7ea86076b7
2018-04-11 23:33:07 +01:00
Elliott Hughes 97e6bd49be Merge "Move logwrapper to shell_and_utilities."
am: 3204fd4bed

Change-Id: I454844357e9d190aaf89d0fd74f6ceb27a54d7b8
2018-04-11 15:27:56 -07:00
Elliott Hughes 3204fd4bed Merge "Move logwrapper to shell_and_utilities." 2018-04-11 22:14:28 +00:00
John Muir 58d96b150e notice_files: Disable NOTICE files for FAKE modules.
Currently the build system will automatically attribute a NOTICE
file with the target of $(BUILD_PHONY_PACKAGE). This shouldn't
be the case.

Disable notice file inclusion for fake targets so that the
/fake_packages/blah_blah-timestamp paths don't show up in
NOTICE.xml.gz.

Bug: 77910458
Test: NOTICE files are not attributed to fake targets.
Change-Id: Ia942cac41b750efbd5a23d896d85ac0820ee8b4e
2018-04-11 13:07:13 -07:00
Anton Hansson 762e03ad41 Merge "Consolidate the logic for the sdk prebuilt module names."
am: 9b72b53a24

Change-Id: Ib02ff60a9d4539920a9bc3e34966be1132e53607
2018-04-11 02:21:27 -07:00
Anton Hansson 9b72b53a24 Merge "Consolidate the logic for the sdk prebuilt module names." 2018-04-11 09:10:33 +00:00
Colin Cross 54340d913e Merge "Don't depend on R.txt)"
am: 2754a92f2c

Change-Id: I0330408470fa28549358b0695e4a65f9ac33a92c
2018-04-10 21:12:34 -07:00
Treehugger Robot 2754a92f2c Merge "Don't depend on R.txt)" 2018-04-11 04:03:50 +00:00
Dan Willemsen 3ae1f7af36 Merge "Add variables for configuring Soong plugins"
am: de61b23ffc

Change-Id: I4ee0ad56c022bf40233b2ebb9266d37331c35f98
2018-04-10 18:52:29 -07:00
Dan Willemsen de61b23ffc Merge "Add variables for configuring Soong plugins" 2018-04-11 01:45:49 +00:00
Justin Yun ac44bf7152 Merge "Update current.txt for vndk"
am: 5f6cd275db

Change-Id: I30a27fb3ac338da9edc443ba30fa38a690f926e2
2018-04-10 17:36:05 -07:00
Treehugger Robot 5f6cd275db Merge "Update current.txt for vndk" 2018-04-11 00:24:28 +00:00
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
Dan Willemsen 239974e95a Merge "Delay eval to save memory use in create-suite-dependencies"
am: f05573eb91

Change-Id: Id156daa483e3b0c59de1d1f0a76a49a2b5367491
2018-04-09 19:44:54 -07: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
Dan Willemsen 36850e37c9 Merge "Revert "Remove flags to turn overriding commands into errors""
am: 5c19615b55

Change-Id: I1fb43f716921f4e30eede71205a8457f79470684
2018-04-06 17:10:12 -07:00
Treehugger Robot 5c19615b55 Merge "Revert "Remove flags to turn overriding commands into errors"" 2018-04-07 00:06:22 +00:00
Dan Willemsen dbff0730d6 Merge "Remove our binary of ccache"
am: 060067e341

Change-Id: Ifd3fc2f5435c2e28d90605354f7d022d497e4e13
2018-04-06 14:57:42 -07: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 9ea760ecd2 Merge "Remove flags to turn overriding commands into errors"
am: dc348501f0

Change-Id: I165afed0d34e170c9e81a76c80df849d5350fc51
2018-04-06 11:36:20 -07: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
Dan Willemsen 1533d14754 Merge "Allow boards to turn overriding commands into an error"
am: 3c93dbfa61

Change-Id: Ifa935de12bf7c0ff1d05ff2427de590af801232d
2018-04-06 09:09:08 -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
Steven Moreland b1f4a0d379 Merge "Support manifest fragments."
am: e543e409d2

Change-Id: I5b6ca6b1c5de82f2dc065c6bc499c6a8b3b7c7c8
2018-04-05 16:17:49 -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