Commit Graph

32776 Commits

Author SHA1 Message Date
Treehugger Robot 4b4e203a0b Merge "Enforce RROs for all the build-time ROs" 2017-03-30 03:39:09 +00:00
Jaekyun Seok 39f97ae22a Enforce RROs for all the build-time ROs
This CL is to generate every static RRO package for its target package
automatically at build-time.

BOARD_ENFORCE_RRO build variable is added to specify whether enforcing
RRO is required or not.

BOARD_ENFORCE_RRO_EXEMPT_SOURCES build variable is added to specify
the module list of which item should be exempt from enforcing RRO.

Test: tested on bullhead and sailfish
Bug: 34097942
Change-Id: I455b2ce34e66c57a540c299b5e378b7c4e78d5b8
(cherry picked from commit 3070610b72)
2017-03-30 10:43:38 +09:00
Treehugger Robot 85473982fb Merge "Build: ASAN in system" 2017-03-30 01:16:53 +00:00
Treehugger Robot df69a927d8 Merge "Revert "Revert "Revert "Add soong_javac_filter to all javac commands"""" 2017-03-30 00:53:06 +00:00
Andreas Gampe 039b5c779f Build: ASAN in system
Add build system support for asan.tar.bz in the system image. This
is triggered by SANITIZE_TARGET_SYSTEM=true.

Bug: 36458146
Test: m && m SANITIZE_TARGET=true SANITIZE_TARGET_SYSTEM=true
Change-Id: I725f99f16a8c9182b1c7ad26580c73d3708f8554
2017-03-29 16:19:28 -07:00
Colin Cross fc8ead6609 Revert "Revert "Revert "Add soong_javac_filter to all javac commands"""
This reverts commit 440079b84b.

Adding the pipe interferes with error codes, which results
in an empty classes-full-debug.jar output file being left
after the failure.  The next build sees the output file with
an up-to-date timestamp and doesn't rerun the failing rule.

Bug: 36666657
Change-Id: I6658edb766d8ba3120f88e3d8d6eda6ea6c691da
2017-03-29 21:01:24 +00:00
Benoit Lamarche cadf11068c Merge "Changing default Jack arguments." 2017-03-29 08:49:32 +00:00
Treehugger Robot 4ef5040cc3 Merge "Ensure that BOARD_VNDK_VERSION is current" 2017-03-29 04:34:29 +00:00
Treehugger Robot ae4779e254 Merge "Add min and max supported versions" 2017-03-29 00:42:47 +00:00
Treehugger Robot 906a3ea5d6 Merge "Move comments to the previous line" 2017-03-28 22:17:52 +00:00
Colin Cross c901659377 Add min and max supported versions
Add MIN_PLATFORM_VERSION and MAX_PLATFORM_VERSION to track
the range of releases that are expected to be released from
the current branch.

Also simplify version_defaults.mk by moving most of the code
to envsetup.mk.

Test: build/make/tests/envsetup_tests.sh
Change-Id: I4f19c31c267e202f8f5ba1384a8b4385d725f9d7
2017-03-28 13:32:04 -07:00
Colin Cross 349a7a7f1a Move comments to the previous line
End-of-line comments cause the variable to be set to a space, which
confuses using ifdef on it.

Test: builds
Change-Id: I7b1eb3b9febff1a5a5fca1e6623b2b36d538dacc
Merged-In: I7b1eb3b9febff1a5a5fca1e6623b2b36d538dacc
2017-03-28 13:24:45 -07:00
Makoto Onuki d625ef2894 Merge "Add USE_FILESLIST_GO to switch to fileslist.go" 2017-03-28 16:41:05 +00:00
Denis Vnukov 562ac35058 Changing default Jack arguments.
This change sets Jack default arguments to enable some of lambda
optimizations, namely: lambda grouping in scope of a single package
and using singletin lambda objects for stateless lambdas.

Test: tested manually

Change-Id: Id2d0c37e3462f1e3137cfef2684cf6e74df6089b
2017-03-28 12:13:32 +02:00
Dan Willemsen 2c3289bf37 Ensure that BOARD_VNDK_VERSION is current
BOARD_VNDK_VERSION controls which version of the VNDK is used for the
build. We only support compiling against the current VNDK, and we don't
support installing old prebuilt VNDK libraries yet, so ensure this
variable is set to "current".

Once we support installing old prebuilt VNDK libraries, we'll also need
to disable building modules that use the VNDK.

Test: build-aosp_arm.ninja is the same before/after
Test: Ensure there are no boards that set BOARD_VNDK_VERSION
Test: Set BOARD_VNDK_VERSION := invalid
Change-Id: Ic26c9f44e356a0734f522b4538cb866d5b901d43
2017-03-27 22:55:21 -07:00
Treehugger Robot 73461abd0c Merge "Fix modules.dep breakage with multiple module dependencies" 2017-03-28 01:11:39 +00:00
Mark Salyzyn 058e2f7b19 Merge "fs_config_generate: README" 2017-03-27 23:29:02 +00:00
Steve Muckle b74e0b9b0d Fix modules.dep breakage with multiple module dependencies
If a module has multiple dependencies, the current regexp for making
the dependencies absolute paths only modifies the first dependency.

Test: build sailfish with module configuration including multiple
      dependencies
Change-Id: I8f2b40c8c5ec228aa8f831086bcdd561c8714910
2017-03-27 13:48:28 -07:00
Treehugger Robot b30c12df3e Merge "embedded.mk: Make phony selinux_policy" 2017-03-27 20:03:04 +00:00
Jeff Vander Stoep 2064364765 embedded.mk: Make phony selinux_policy
Moves selinux policy build decisions to system/sepolicy/Android.mk.
This is done because the PRODUCT_FULL_TREBLE variable isn't available
in embedded.mk and TARGET_SANITIZE isn't available to dependencies of
init.

Test: Build/boot Bullhead PRODUCT_FULL_TREBLE=false
Test: Build/boot Marlin PRODUCT_FULL_TREBLE=true
Test: Build Marlin TARGET_SANITIZE=address. Verify asan rules are
      included in policy output.

Bug: 36138508
Change-Id: I792786cd867bae3e1baeb824167a848948a719df
2017-03-26 14:51:38 -07:00
Tianjie Xu 36bcb78eb9 Merge "Fix unittest for blockimgdiff" 2017-03-26 05:25:48 +00:00
Treehugger Robot 86559441a1 Merge "Add ld.config.txt to rootdir/etc" 2017-03-25 05:17:32 +00:00
Tianjie Xu a011dec9b2 Fix unittest for blockimgdiff
The test broke due to api change in constructor of Transfer.

Bug: 36456381
Test: blockimgdiff test passes
Change-Id: Ic73b66f8fb6141ff6f50c113b0d8cc55d34e0b5d
2017-03-24 16:28:16 -07:00
Makoto Onuki 9fe97e231b Add USE_FILESLIST_GO to switch to fileslist.go
fileslist.go is still disabled by default.  To enable, use:
USE_FILESLIST_GO=true m -j

Bug: 36274890
Test: Manual, with m -j

Change-Id: I722e17fa7fb6ba91e2b2c44cd7524d974cbe4a56
2017-03-24 16:12:16 -07:00
Treehugger Robot b05fe25b9f Merge "Fix fileslist for system other image" 2017-03-24 23:10:02 +00:00
Dan Willemsen 5c8542e1b4 Fix fileslist for system other image
This got lost from the previous backport, since systemotherimage wasn't
in AOSP yet.

(The Merged-In is a random Change-Id only on master so that this only
merges up to master)

Test: lunch aosp_marlin-eng; m -j systemotherimage
Change-Id: I92c05f27c92d877f3b83e5c5ae2e76728eb162bd
Merged-In: Iafed66e19bc114552b0261dd299379dbb37873c6
2017-03-24 21:26:21 +00:00
Christopher Ferris fd0cb496b1 Merge "Small fixes for environment variables." 2017-03-24 16:15:07 +00:00
Mark Salyzyn 87ba0144f8 fs_config_generate: README
Test: none
Bug: 36071012
Change-Id: If30461fb9c522f705874fdfdc2b7cd54a5c3732e
2017-03-24 08:57:27 -07:00
Dan Willemsen 90151623fc Merge "Depend on (bs|img)diff for target-files-package" 2017-03-24 07:24:36 +00:00
Dan Willemsen d79a08f9fb Depend on (bs|img)diff for target-files-package
add_img_to_target_files may use these to create the recovery patch, so
add a dependency. They were previously a transitive dependency through
the system image to the standalone recovery patch creation.

Bug: 36575896
Test: rm out/host/linux-x86/bin/imgdiff; m -j target-files-package
Change-Id: I2a43220e94c09393e88e1d9950032f5665a0d2ce
2017-03-23 22:09:06 -07:00
Treehugger Robot a007142381 Merge "Add TARGET_PLATFORM_VERSION to lunch" 2017-03-24 00:14:01 +00:00
Treehugger Robot ac8b2ab702 Merge "Ensure /system/vendor symlink exists in target-files-package" 2017-03-23 21:42:28 +00:00
Dan Willemsen f75d7fa8ea Ensure /system/vendor symlink exists in target-files-package
This used to happen in the system image creation, but the target-files
didn't really depend on the system image, so I removed that dependency.
But then we weren't creating the symlink all the time.

This should be safe to run in parallel with the same link step in the
system creation.

Bug: 36540023
Test: m -j target-files-package, ensure vendor symlink is created
      without system.img.
Change-Id: I37059fa1ce759a0870dc4c65c5515050992245e2
2017-03-23 13:22:46 -07:00
Christopher Ferris 55257d2b78 Small fixes for environment variables.
Fix all of the leaking of local variables by marking locals properly.

Fix a case where ANDROID_TOOLCHAIN_2ND_ARCH is set incorrectly.

Test: lunch'd aosp_angler-userdebug and then aosp_fugu-userdebug
Test: and verified ANDROID_TOOLCHAIN_2ND_ARCH is set properly after
Test: the first lunch and unset after the second lunch.
Test: Also attempt to build the two targets.
Change-Id: I49548e0d6654bfb1105a6ecaf2705825b9ddf3a5
2017-03-23 11:12:04 -07:00
Colin Cross 8873713f36 Add TARGET_PLATFORM_VERSION to lunch
lunch can now take combos in the form:
$TARGET_PRODUCT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT-$TARGET_PLATFORM_VERSION

If all 3 are not specified the unspecified ones will take the
default values provided by the build system (eng, and currently
OPR1).

In addition, error handling for invalid products, variants and
versions is moved to the build system.

Bug: 34972208
Test: build/make/tests/envsetup_tests.sh
Change-Id: Ib0aaa98633448ba9bd8df911704c9cb3a8ebbe85
2017-03-23 09:44:08 -07:00
Treehugger Robot ed44a54991 Merge "Desugar when javac version is 1.7" 2017-03-23 02:49:40 +00:00
Treehugger Robot bfc4f5e339 Merge changes I84e4f878,I37b65eb9
* changes:
  Parallelize system*.img and target-files-package
  Add missing dependencies of targets-files-package
2017-03-23 02:16:35 +00:00
Colin Cross 200951bdb7 Desugar when javac version is 1.7
Modules compiled with javac 1.7 may have LOCAL_STATIC_JAVA_LIBRARIES
pointing to jars that contain code compiled with javac 1.8, and may
need desugaring.

Test: m -j ANDROID_COMPILE_WITH_JACK=false checkbuild
Change-Id: I470fc0a2fba51179a3ef95986cb3030194cd8f1c
2017-03-22 18:37:53 +00:00
Treehugger Robot 2c280271ac Merge "Add a missing default value for OPTIONS.extracted_input." 2017-03-22 07:34:15 +00:00
Tao Bao 5f8ff9319b Add a missing default value for OPTIONS.extracted_input.
Test: ota_from_target_files.py without --extracted_input_target_files.
Change-Id: Ieaba43fa557b544b24f3eeccd68ac289d1fe3d31
2017-03-21 22:36:20 -07:00
Dan Willemsen 47ba4239c8 Merge "Speed up non-AB ota_from_target_files in the build system" 2017-03-22 01:41:39 +00:00
Treehugger Robot 53d66b5903 Merge "Use new naming scheme for TARGET_PLATFORM_VERSION" 2017-03-22 01:19:53 +00:00
Jaesoo Lee 946af3fa5d Merge "removed "android.hardware.configstore@1.0-impl" from PRODUCT_PACKAGES" 2017-03-22 00:42:33 +00:00
Colin Cross 9efe51f27a Use new naming scheme for TARGET_PLATFORM_VERSION
Replace the current naming scheme for TARGET_PLATFORM_VERSION
(O, ODR1, OMR1, P) with one that matches the user-visible
branch version (OPR1, OPD1, OPM1, PPR1).

Temporarily map P -> PPR1 to decouple this change from updating
the build servers.

Bug: 34972208
Test: m -j TARGET_PLATFORM_VERSION=PPR1
Test: m -j TARGET_PLATFORM_VERSION=P
Change-Id: Ib00b13abe79a744e344b88bb1d800524ab09d585
Merged-In: Ib00b13abe79a744e344b88bb1d800524ab09d585
2017-03-21 23:38:02 +00:00
Dan Willemsen aadd499bc3 Parallelize system*.img and target-files-package
We don't actually need to build the system image before
target-files-package, we just need to make sure everything is present in
$(PRODUCT_OUT)/system. So switch the dependencies around.

This can't be done as easily for the vendor image, since it may be a
prebuilt, or we may need to install some kernel modules into
$(PRODUCT_OUT)/vendor when building vendor.img. It tends to be smaller
anyway, so the time savings isn't as big.

Test: Make sure the build server outputs the same files
Test: Ensure target-files-package is identical before/after.
Change-Id: I84e4f878491ab2b71582f4f49418dbfbba75590f
2017-03-21 16:36:14 -07:00
Dan Willemsen 653bea928a Add missing dependencies of targets-files-package
And move simple cases of $(ACP) to cp. That does change OTA/bin/updater
from 0640 to 0700, but that's more consistent anyways.

Test: m -j target-files-package; ensure it's the same before/after.
Change-Id: I37b65eb9ddccd2f360aa007f929ece35c9e44f9b
2017-03-21 16:32:43 -07:00
Dan Willemsen cea5cd210e Speed up non-AB ota_from_target_files in the build system
We've just created the target files package and still have the extracted
directory, so pass that to ota_from_target_files so that it doesn't have
to re-extract what we just compressed.

This saves a little bit of time -- for bullhead-userdebug on internal
master, this brings the time to build an OTA from ~340s -> ~310s. Much
of the time is still spent generating and signing the OTA.

Test: lunch bullhead-userdebug; m -j otapackage
Test: bullhead-ota-*.zip is identical before/after
Change-Id: Ib51cf6b02123e9c49280e9957c6590645470a52c
2017-03-21 15:34:27 -07:00
Treehugger Robot 8b6458e9a9 Merge "Fixed the issue that dirname: META got zipped twice." 2017-03-21 22:15:19 +00:00
Nan Zhang cabecd9c55 Fixed the issue that dirname: META got zipped twice.
When building target-files-package, dir: META has to be copied first
to help early validation of the .zip file.

In order to prevent $(zip_root)/META from getting copied twice to $@.list,
use the method (find -path -prune -o -print) instead of (grep pattern -v).

Test: m target-files-package
Bug: b/31676493
Change-Id: Id6b4d77fb62aa136253de88573cc51a575b90be2
2017-03-21 20:07:41 +00:00
Colin Cross 767cb900a1 Merge changes I0508b2cc,I3d6bbc36
* changes:
  Don't desugar static java libraries
  Use DEFAULT_APP_TARGET_SDK for dx and desugar
2017-03-21 19:30:46 +00:00