Commit Graph

11973 Commits

Author SHA1 Message Date
Dan Albert
e2b92d809f Merge "Auto-generate PLATFORM_VERSION_ALL_CODENAMES."
am: 979dac690a

Change-Id: Ib4aa98fe335d90f1407ccb27fa4c57d5d30cbbf5
2017-03-31 23:09:42 +00:00
Treehugger Robot
979dac690a Merge "Auto-generate PLATFORM_VERSION_ALL_CODENAMES." 2017-03-31 23:03:20 +00:00
Andreas Gampe
dd8293b2e7 Merge "Build: Force system owner for ASAN in system"
am: 542c3d57d0

Change-Id: Ice7cfce4a62c636a1c97f9f4406a127564a7e552
2017-03-31 19:54:29 +00:00
Andreas Gampe
542c3d57d0 Merge "Build: Force system owner for ASAN in system" 2017-03-31 19:46:27 +00:00
Dan Albert
839db81b26 Auto-generate PLATFORM_VERSION_ALL_CODENAMES.
Test: Temporarily added additional codenames for OPD1 -> O and
      OPM1 -> O-MR1. Lunched aosp_sailfish-eng, built build.prop and
      checked that ro.build.version.all_codenames was "O". Then
      lunched aosp_sailfish-eng-PPR1 and checked that it was
      "O,O-MR1,P".
Bug: None

Change-Id: I51189f5b40e3e7f99e2fc08bb5616c51a23e3b19
2017-03-31 10:59:02 -07:00
Vishwath Mohan
f8f29940dc Merge "Refactor sanitized library on-disk layout - Make."
am: 41b0d9e146

Change-Id: I5de405c714fc96e6156b07a4f64b9e8457af8124
2017-03-31 16:41:19 +00:00
Treehugger Robot
41b0d9e146 Merge "Refactor sanitized library on-disk layout - Make." 2017-03-31 16:35:53 +00:00
Stephen Hines
2e51c40eca Merge "Switch to clang-3859424."
am: af077e293b

Change-Id: If60751ecdb6621dea37346237ac127a53a2d03b8
2017-03-31 04:56:07 +00:00
Colin Cross
cad1043266 Merge "Optimize out extra jar copies"
am: 678c77d9af

Change-Id: I17a8b9bc7281c37abc0bd905cd448d9002ff515a
2017-03-31 04:53:37 +00:00
Stephen Hines
af077e293b Merge "Switch to clang-3859424." 2017-03-31 04:51:10 +00:00
Colin Cross
678c77d9af Merge "Optimize out extra jar copies" 2017-03-31 04:49:13 +00:00
Vishwath Mohan
b285c46bbd Refactor sanitized library on-disk layout - Make.
This CL moves the location of ASAN-ified libraries on disk in the
following manner:
/data/lib* --> /data/asan/system/lib*
/data/vendor/* --> /data/asan/vendor/*

There are a couple of advantages to this, including better isolation
from other components, and more transparent linker renaming and
SELinux policies.

Bug: 36574794
Bug: 36674745
Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device
boots. All sanitized libraries are correctly located in /data/asan/*.

Change-Id: Ic6ba8e43e31df2ea92b85fd60f572823b6883ba2
2017-03-30 20:14:27 -07:00
Andreas Gampe
2c498a391b Build: Force system owner for ASAN in system
For tar-ed ASAN artifacts, enforce ownership by the system uid.

Bug: 36458146
Test: m && m SANITIZE_TARGET=true SANITIZE_TARGET_SYSTEM=true
Change-Id: I190cba3d160f15a89ef74f26e7aaa853a449929f
2017-03-31 03:04:19 +00:00
Colin Cross
0e53734035 Optimize out extra jar copies
Don't copy jar files for disabled stages.  Instead, set the name of
the output to the name of the input so the next stage will directly
pick up the output of the previous stage.

Test: m -j ANDROID_COMPILE_WITH_JACK=false java
Change-Id: Ib7268cbff7ea7ff2ad2caf994aa145e1b7a12b83
2017-03-30 19:35:15 -07:00
Jaekyun Seok
2f92aa78f4 Merge "Enforce RROs for all the build-time ROs"
am: 4b4e203a0b

Change-Id: I20085da5a39005733c9f10e751cef58ae20a9f7d
2017-03-30 03:43:31 +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
Andreas Gampe
4ec27c88f5 Merge "Build: ASAN in system"
am: 85473982fb

Change-Id: Ia64fbaba713c1d9d826872b62ca0dcb040f939c9
2017-03-30 01:21:51 +00:00
Treehugger Robot
85473982fb Merge "Build: ASAN in system" 2017-03-30 01:16:53 +00:00
Colin Cross
e088c648c7 Merge "Revert "Revert "Revert "Add soong_javac_filter to all javac commands""""
am: df69a927d8

Change-Id: I693e6d1d2abfe0efe94e113cc3ce56691ad7f7e3
2017-03-30 01:01:51 +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
8488228d9a Merge "Changing default Jack arguments."
am: cadf11068c

Change-Id: I63ba8fb0ec5991e63e8a2fb3246ba30da8eb9fe5
2017-03-29 08:53:51 +00:00
Benoit Lamarche
cadf11068c Merge "Changing default Jack arguments." 2017-03-29 08:49:32 +00:00
Stephen Hines
073ab0a707 Switch to clang-3859424.
Bug: http://b/36442361
Test: Build and run multiple devices/targets.
Change-Id: I161003f07982b1794ef5f1d1d61a48ddf45f6ab3
2017-03-28 22:11:52 -07:00
Dan Willemsen
a71a8c0ae3 Merge "Ensure that BOARD_VNDK_VERSION is current"
am: 4ef5040cc3

Change-Id: I79f43fa6db5f043122fc17c2d89c03bfc0690494
2017-03-29 04:40:05 +00:00
Treehugger Robot
4ef5040cc3 Merge "Ensure that BOARD_VNDK_VERSION is current" 2017-03-29 04:34:29 +00:00
Colin Cross
e611741d85 Merge "Add min and max supported versions"
am: ae4779e254

Change-Id: Ic6d0fb99e95d55253be00f7b191d3287a207c2c8
2017-03-29 00:49:20 +00:00
Colin Cross
8fb3f39bcd Merge "Move comments to the previous line"
am: 906a3ea5d6

Change-Id: I70787abb1a80987fb89a4444c68b9658c80c0622
2017-03-28 22:27:44 +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
0a069a74c2 Merge "Add USE_FILESLIST_GO to switch to fileslist.go"
am: d625ef2894

Change-Id: I6d869be0b7ab9084168803ceaaf58fc2ba3c8da5
2017-03-28 16:50:21 +00: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
Steve Muckle
9c0198e6e9 Merge "Fix modules.dep breakage with multiple module dependencies"
am: 73461abd0c

Change-Id: I96080a797abb1f9d9887ab993082ce0c10a931ca
2017-03-28 01:21:57 +00:00
Treehugger Robot
73461abd0c Merge "Fix modules.dep breakage with multiple module dependencies" 2017-03-28 01:11:39 +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
Dan Willemsen
eb90e156e1 Merge "Fix fileslist for system other image"
am: b05fe25b9f

Change-Id: I63edd0d9aa171189911948a9da80b5b5e6368109
2017-03-24 23:17:12 +00: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
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
Dan Willemsen
e9e4001b34 Merge "Depend on (bs|img)diff for target-files-package"
am: 90151623fc

Change-Id: I99856e5d45ce90f36a2432fb8d05360384e3f2b9
2017-03-24 07:29:42 +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
Colin Cross
7b5dc8ad3e Merge "Add TARGET_PLATFORM_VERSION to lunch"
am: a007142381

Change-Id: Ic9b38a74041f839300f82a4ecfb724079b62a900
2017-03-24 00:24:16 +00:00
Treehugger Robot
a007142381 Merge "Add TARGET_PLATFORM_VERSION to lunch" 2017-03-24 00:14:01 +00:00
Dan Willemsen
5179e70cc3 Merge "Ensure /system/vendor symlink exists in target-files-package"
am: ac8b2ab702

Change-Id: Iff5b31f1b46c9d1740d5d26e48e3cae5fed48602
2017-03-23 21:57:02 +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
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
Colin Cross
ce9dfdeee6 Merge "Desugar when javac version is 1.7"
am: ed44a54991

Change-Id: I71b868d277fbf81700cd85e45a1f852c90247120
2017-03-23 02:57:24 +00:00
Treehugger Robot
ed44a54991 Merge "Desugar when javac version is 1.7" 2017-03-23 02:49:40 +00:00