Commit Graph

16286 Commits

Author SHA1 Message Date
Andreas Gampe 875a95a494 Merge "Revert "Build: Support for compiled-classes file"" am: 1cd44482db
am: 7033cc2c6f

Change-Id: I83a5d50c39dc0c83f133121f0680d99388e17daa
2018-04-16 11:17:24 -07:00
Treehugger Robot 1cd44482db Merge "Revert "Build: Support for compiled-classes file"" 2018-04-16 16:33:24 +00:00
Chih-Hung Hsieh 3dd4d3ebbc Merge "Fix typo." am: 5576f9a6ca
am: ffcdc18a8c

Change-Id: I1c107e3e18602da8dfbb8ca48426252e86161db5
2018-04-14 16:06:14 -07:00
TreeHugger Robot 18fbe81b9f Merge "Mark version_defaults as readonly" into pi-dev-plus-aosp 2018-04-13 21:39:43 +00:00
Wale Ogunwale 040ba07736 Merge "Finalizing P SDK" into pi-dev
am: 5de065e3ec

Change-Id: I552ebda180de398512b91addde17d8d48ec60624
2018-04-13 14:06:43 -07:00
Wale Ogunwale 5de065e3ec Merge "Finalizing P SDK" into pi-dev 2018-04-13 20:53:03 +00:00
Chih-Hung Hsieh d1caff4b2b Fix typo.
Bug: 73768157
Test: make checkbuild
Change-Id: Icf3a142500aa3f9849250ae0a895a61797b95376
2018-04-13 13:15:46 -07:00
Andreas Gampe 35ab4203ef Revert "Build: Support for compiled-classes file"
This reverts commit 96a522037f.

Bug: 76145463
Test: m
Change-Id: I5a368cd01812e16869352ec219eae095df4919c4
2018-04-13 13:08:13 -07:00
Chih-hung Hsieh 4991178be2 Merge "Add USE_CLANG_LLD and LOCAL_USE_CLANG_LLD" am: a72e1518e7
am: db18e11b86

Change-Id: I7f8fafc80a9be06fad05f801edad4510be2ed3f8
2018-04-13 12:44:10 -07:00
Chih-hung Hsieh a72e1518e7 Merge "Add USE_CLANG_LLD and LOCAL_USE_CLANG_LLD" 2018-04-13 19:26:04 +00:00
Wale Ogunwale 07a54b7fba Finalizing P SDK
Bug: 77588754
Test: builds
Merged-In: Iebb43a246016774150a3053f10bdedb0278b3e5d
Change-Id: Ied2e381795643aaf8c48e6c89d8ee66b8b5b15ed
2018-04-13 14:59:03 +00:00
Dan Willemsen 693c7fb31b Mark version_defaults as readonly
These shouldn't be changed by anyone after this point, and this will
prevent random Android.mk from re-including this file.

Test: m nothing
Test: failed on hikey w/o https://android-review.googlesource.com/662764
Change-Id: I7ba4db3594af5b18b98fafee81b64531a40df396
2018-04-12 23:37:46 +00:00
Jiyong Park 0fa0052583 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
Merged-In: Idb13d5db71f4dfd542658483b6a24e7ece18ce26
Change-Id: Idb13d5db71f4dfd542658483b6a24e7ece18ce26
(cherry picked from commit 49a5b9785f)
2018-04-13 07:50:31 +09:00
Mathieu Chartier 1401d9cf81 Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" am: 65ba0bf59c
am: 4157c834db

Change-Id: I19f13a153e403b96c82d9f72a82042a2c5772288
2018-04-12 15:33:48 -07:00
Mathieu Chartier 65ba0bf59c Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" 2018-04-12 22:10:57 +00:00
Chih-Hung Hsieh 32427d6903 Add USE_CLANG_LLD and LOCAL_USE_CLANG_LLD
* Current default is not using lld.
* When USE_CLANG_LLD or LOCAL_USE_CLANG_LLD is true or 1,
  * Use *GLOBAL_LLDFLAGS instead of *GLOBAL_LDFLAGS.
    GLOBAL_LLDFLAGS should call lld and with correct lld flags.
  * set my_pack_module_relocations to false.

Bug: 73768157
Test: make checkbuild
Change-Id: I3e63cf8ae0865d01d2bc1f36e9304f4a5d092cb8
2018-04-12 11:00:06 -07:00
Jiyong Park a8750f0dfb Merge "Allow native:vendor to vendor apks" am: f2fc1418d3
am: 16a4fb198b

Change-Id: Ie5bbf02c8e8452381b38323d96d887126d268b86
2018-04-12 10:40:29 -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 0cf73852fc Merge "Add vendor properties blacklist" am: 2e2290cf1a
am: 869d4e5869

Change-Id: I43f875870aac9665fc3684a468f57bc669d05c3e
2018-04-12 03:18:23 -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
John Muir e3ebfbc16a Merge "notice_files: Disable NOTICE files for FAKE modules." am: 57fdba09a9
am: dd38cece28

Change-Id: Iad7afe5af043be949fb0833bd7141d2e8ad1f708
2018-04-11 15:48:02 -07: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
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 395092db03 Merge "Consolidate the logic for the sdk prebuilt module names." am: 9b72b53a24
am: 762e03ad41

Change-Id: I79ba2766028f2f26836a3a6d99eb5e8311f31921
2018-04-11 02:27:37 -07:00
Anton Hansson 9b72b53a24 Merge "Consolidate the logic for the sdk prebuilt module names." 2018-04-11 09:10:33 +00:00
TreeHugger Robot 0028485c94 Merge "Disable warnings for unknown modules in package-modules.mk" into pi-dev 2018-04-11 07:32:24 +00:00
TreeHugger Robot 6536add287 Merge "Delay eval to save memory use in create-suite-dependencies" into pi-dev 2018-04-11 07:15:17 +00:00
Dan Willemsen 5046d4c749 Disable warnings for unknown modules in package-modules.mk
We've had these warnings for a while, but we've still got a lot of
warnings that people have been trained to ignore. Lets just silence them
for now.

The Merged-In is just a random change from AOSP that isn't in pi-dev, to
stop this from being merged to master, where I'm just fixing the
warnings.

Bug: 77883700
Test: m  <fewer warnings>
Change-Id: I00d8173a527760d62dca5837bcc86d5f03b87e83
Merged-In: I78ca65e6f0c81f09e7da848eda797b3a8f97a521
2018-04-10 22:44:28 -07:00
Colin Cross 17de09f74d 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
Merged-In: Id960ee211b89a9a5f5104cdcac23bc3124742145
(cherry picked from commit ac48f41ba5)
2018-04-10 22:28:43 -07:00
Dan Willemsen 4cfebe0ac4 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).

Bug: 77879502
Test: build-aosp_arm.ninja is identical
Change-Id: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
Merged-In: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
(cherry picked from commit a4155e8512)
2018-04-10 22:16:49 -07:00
Colin Cross c455d63948 Merge "Don't depend on R.txt)" am: 2754a92f2c
am: 54340d913e

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

Change-Id: I5abe5931423d25a8314914bc81ba2a38a3439a94
2018-04-10 18:58:05 -07: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
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
Dan Willemsen 5863fce2fb Merge "Delay eval to save memory use in create-suite-dependencies" am: f05573eb91
am: 239974e95a

Change-Id: Ie5c3b655d9cf9b8192b59583b4fe473a3a3a7f09
2018-04-09 19:50:15 -07: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
Ian Pedowitz 16ac20d21b Bump PLATFORM_PREVIEW_SDK_VERSION to 2 for P-Beta1
am: 191badd71b

Change-Id: I1745660da2ad8ab305f2525392a4dce1f03a8101
2018-04-09 13:20:26 -07:00
Ian Pedowitz 191badd71b Bump PLATFORM_PREVIEW_SDK_VERSION to 2 for P-Beta1
Change-Id: Ic4e94c90fb1f86283858a88777a92ae75d6b65ed
Fixes: 77801171
Test: N/A
2018-04-09 09:36:58 -07:00
Dan Willemsen e64f5300ea Merge "Remove our binary of ccache" am: 060067e341
am: dbff0730d6

Change-Id: Ic9a885f986ccfbe28ece85e32dbd495573ff561b
2018-04-06 15:02:13 -07:00
Treehugger Robot 060067e341 Merge "Remove our binary of ccache" 2018-04-06 21:47:38 +00:00
Dan Willemsen d9a2594d1f Merge "Allow boards to turn overriding commands into an error" am: 3c93dbfa61
am: 1533d14754

Change-Id: I032fbc08fc17fb4c4f5d7f4e1f2ace0560407276
2018-04-06 09:12:29 -07: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 4b44087f6b Merge "Support manifest fragments." am: e543e409d2
am: b1f4a0d379

Change-Id: I94f8dd57206c5a8f37798e1d0b36bb1b9015ab3a
2018-04-05 16:24:25 -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
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