Commit graph

36399 commits

Author SHA1 Message Date
Dan Willemsen
58760e47aa Support split /system and /vendor modules from Soong
Soong modules may be split into both /system and /vendor variants.
Ensure that Make libraries link against the correct version based on
whether LOCAL_USE_VNDK is set.

Bug: 36426473
Bug: 36079834
Test: build-aosp_arm64.ninja files are the same before/after
Test: attempt building with BOARD_VNDK_VERSION:=current
(cherry picked from commit 9d2b3280e8)
Merged-In: I229bc290373743406275f3ca16081eae04c27987
Change-Id: I229bc290373743406275f3ca16081eae04c27987
2017-04-11 13:17:48 -07:00
Steven Moreland
5643689385 Merge "Add LLNDK support for the VNDK" into oc-dev 2017-04-10 15:30:04 +00:00
Dan Willemsen
e0b40f6368 Add LLNDK support for the VNDK
Instead of using the NDK headers and libraries, add LL-NDK specific
headers and library stubs for VNDK users. This allows us to provide an
expanded liblog interface.

Test: aosp_arm; m -j
Test: Enable BOARD_VNDK_VERSION on aosp_arm; m -j
Change-Id: I0197f44c91218c73b9567a05320c91a2baaae39b
(cherry picked from commit ffa3258f6c)
2017-04-07 20:35:09 -07:00
TreeHugger Robot
b70a93465a Merge "Specialize oc-dev into OPR1" into oc-dev 2017-04-08 02:05:22 +00:00
Martijn Coenen
1fe4f23a04 Add 'vndservice' to default builds.
To query vndservicemanager and its services.

Bug: 36987120
Test: vndservice present and works
Change-Id: Ic65acbde17a1be5b728eeeac0f799a86c1d8c1fa
2017-04-07 10:49:22 -07:00
TreeHugger Robot
8a6d7fabc3 Merge "Ensure that BOARD_VNDK_VERSION is current" into oc-dev 2017-04-05 22:42:18 +00:00
TreeHugger Robot
87bbe36728 Merge "Exclude ndk stubs from notice file list" into oc-dev 2017-04-05 22:42:18 +00:00
TreeHugger Robot
0192aaedad Merge "Add LOCAL_EXPORT_CFLAGS for Soong" into oc-dev 2017-04-05 22:42:18 +00:00
Dan Willemsen
2af509ba3d 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
(cherry picked from commit 2c3289bf37)
2017-04-05 09:59:10 -07:00
Dan Willemsen
593026b28b Add LOCAL_EXPORT_CFLAGS for Soong
This lets Soong pass -isystem or -I as necessary (or potentially, even
other cflags in the future).

This is not available for Android.mk use, nor exposed directly to
Android.bp users.

Test: m -j
Change-Id: Id37d4692d5fbddce467bd777903b20169f44dd6e
2017-04-05 09:49:48 -07:00
Dan Willemsen
58386bab15 Exclude ndk stubs from notice file list
There are many references to ndk stub libraries in the third party
notices:

out/soong/ndk/platforms/android-10/arch-arm/usr/lib/libc.so
out/soong/ndk/platforms/android-10/arch-arm/usr/lib/liblog.so
...

These are just stub libraries, and aren't distributed on the device. The
real versions of these libraries will be distributed on the device, and
already have the license information.

So let Soong set LOCAL_NO_NOTICE_FILE to prevent these from appearing.

Bug: 36867708
Test: Diff aosp_arm's system/etc/NOTICE.html.gz file before/after
Change-Id: Ifa3693bde7d3b6b9dc7a83122f9cfa24997fac50
(cherry picked from commit 2be559488d)
2017-04-05 09:47:37 -07:00
Martijn Coenen
a4f90284c7 Merge "Add vndservicemanager to default builds." into oc-dev 2017-04-05 15:54:45 +00:00
Nicolas Geoffray
857d889950 Make the default preopt 'interpret-only'.
bug:33799337
bug:36534079

Test: m -j32 bullhead/angler/marlin/sailfish

Change-Id: I30d9234334dbd520194993aa0e4603e2d415c603
(cherry picked from commit e0848c8b7f)
2017-04-05 12:29:41 +00:00
Martijn Coenen
ca1fd78190 Add vndservicemanager to default builds.
vndservicemanager will be used for AIDL/binder
communication between processes running from
the /vendor partition. While technically only
required on full-treble devices, it is useful
to have on Android devices by default, since it
allows vendors to distribute a single binary talking
to vndservicemanager, instead of having to maintain
two versions that talk to different servicemanagers.

On devices that don't have a new kernel prebuilt with
/dev/vndbinder yet, vndservicemanager will simply
block indefinitely.

Also add new vndservice_contexts target, that
defines the service contexts for vendor services.

Bug: 36052864
Test: Marlin boots with and without /dev/vndbinder
Change-Id: I7334b5cb357dc6d4c5de8632e835dd892cd2f174
2017-04-04 14:06:04 -07:00
Colin Cross
096aaeee16 Specialize oc-dev into OPR1
Only allow building OPR1 in oc-dev.

Bug: 36891159
Change-Id: Ib778ad5232a8e33e312d467f6f6970a8027c81c1
Merged-In: I546d1c25a2b1d948a0e7da796f59e734a98635da
Test: treehugger
2017-04-04 12:38:55 -07:00
Jin Qian
abcec5e0bf Makefile: copy mke2fs.conf to ota root
Bug: 34947454
Change-Id: I99999c4f56df295c0bb028daf3dcc0898176c5ed
(cherry picked from commit 53524b5da9)
2017-04-04 18:19:45 +00:00
Steven Moreland
ef8716c93a Merge "ENABLE_TREBLE is deprecated" into oc-dev 2017-04-04 16:31:28 +00:00
TreeHugger Robot
74e7a2dbeb Merge "Use product-based inclusive rule for enforcing RRO" into oc-dev 2017-04-04 02:27:01 +00:00
Colin Cross
7ef1ce5eb8 Merge changes Ib7268cbf,I6658edb7,I4f19c31c into oc-dev
* changes:
  Optimize out extra jar copies
  Revert "Revert "Revert "Add soong_javac_filter to all javac commands"""
  Add min and max supported versions
2017-04-03 16:47:32 +00:00
Steven Moreland
417fc4f445 ENABLE_TREBLE is deprecated
ENABLE_TREBLE is deprecated...removing obsolete code fragments related
to the flag.

Test: marlin boots/works
aosp_arm64_ab boots/works on sailfish/marlin

Bug: 32978887
Change-Id: I59b4509e4e7ec11cfa138200bccc4418c10b44f3
2017-04-03 12:27:51 +09:00
TreeHugger Robot
7442f7bdaa Merge "Fix typo in build_rro_package.mk" into oc-dev 2017-04-01 09:34:22 +00:00
TreeHugger Robot
07029188f6 Merge "Refactor sanitized library on-disk layout - Make." into oc-dev 2017-04-01 04:18:34 +00:00
Stephen Hines
f770f1f169 Merge "Switch to clang-3859424." into oc-dev 2017-04-01 03:53:16 +00:00
TreeHugger Robot
e66d75164c Merge "Build: Force system owner for ASAN in system" into oc-dev 2017-04-01 02:36:34 +00:00
Colin Cross
71b86c6201 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
(cherry picked from commit 0e53734035)
2017-03-31 18:39:33 -07:00
Colin Cross
37a1d5bc93 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
(cherry picked from commit fc8ead6609)
2017-03-31 18:39:33 -07:00
Colin Cross
f658305484 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
(cherry picked from commit c901659377)
2017-03-31 18:39:12 -07:00
Vishwath Mohan
62720dacbc 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.

(cherry picked from commit b285c46bbd)

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-31 17:22:14 -07:00
TreeHugger Robot
4afcb8c6b6 Merge "Add vr binary to commands" into oc-dev 2017-03-31 23:48:25 +00:00
Andreas Gampe
e5339ae1d2 Build: Force system owner for ASAN in system
For tar-ed ASAN artifacts, enforce ownership by the system uid.

(cherry picked from commit 2c498a391b)

Bug: 36458146
Test: m && m SANITIZE_TARGET=true SANITIZE_TARGET_SYSTEM=true
Change-Id: I190cba3d160f15a89ef74f26e7aaa853a449929f
2017-03-31 16:44:09 -07:00
Karthik Ravi Shankar
35aed3da10 Add vr binary to commands
Bug: 36071574

Change-Id: I8a953950a4eb96d9ffa2ee5789e3c8cd98b4dd0e
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2017-03-31 11:17:59 -07:00
Hung-ying Tyan
d4bee6cd32 Fix typo in build_rro_package.mk
S should be $

Bug: 36797383
Test: build sailfish
Change-Id: I06abfd76c6524368c318c965086cee6d029c4b48
2017-03-31 15:33:45 +08:00
Stephen Hines
9cfaf52cc3 Switch to clang-3859424.
Bug: http://b/36442361
Test: Build and run multiple devices/targets.

(cherry picked from commit 073ab0a707)

Change-Id: Ia057cfac4cb8185d6c6057390a9790a4657156a9
2017-03-30 22:43:53 -07:00
Jaekyun Seok
2a209997e8 Use product-based inclusive rule for enforcing RRO
Board-based rule can cause unexpected regression because build-time overlays
are different among products. So each product should be tested with its own
product-based rule considering its build-time overlays before applying
enforcing RRO.

Additionally RRO conversion is mandatory only for overlays of which target is
included in AOSP system image and is critical for CTS/VTS tests with AOSP
system image. So inclusive rule is more suitable instead of exclusive rule
to avoid unexpected regression due to unnecessary RRO conversion.

Note that we still support conversion for all the overlays by specifying
PRODUCT_ENFORCE_RRO_TARGETS as "*".

Test: building succeeded and tested with auto-generated RROs.
Bug: 36231603
Change-Id: I8e1d701d4f78b818c89ef3e7638110105370c5bc
2017-03-31 07:11:09 +09:00
TreeHugger Robot
2100bc6835 Merge "Build: ASAN in system" into oc-dev 2017-03-30 16:41:35 +00:00
Nicolas Geoffray
41547f5de4 Merge "Don't preopt system server apps in system_other." into oc-dev 2017-03-30 13:52:01 +00:00
Nicolas Geoffray
eaa9d88cf4 Don't preopt system server apps in system_other.
bug:36532541
bug:33799337

Test: m -j32 && find out/target -name \*.odex

Change-Id: Id5a153efd303d47612b238833f6205949bf2812f
(cherry picked from commit a2c6c0b11e)
2017-03-30 11:49:25 +00:00
Nicolas Geoffray
7d32b8bb4f Introduce a whitelist for core apps used by system server.
And by default 'speed' compile those apps at build time.

bug:33799337
Test: m -j32
Change-Id: I7be3bbfef59c020a34b9a82ef038bd27210bc9d7
(cherry picked from commit 9af483488a)
2017-03-30 11:47:13 +00:00
Jiyong Park
6fdf938751 Remove marlin/sailfish specific sepolicy
Don't use sepolicy dir for marlin/sailfish.

Bug: 36231802
Test: aosp_arm64_ab should boot
Change-Id: I0e76841530cec2c51b61251ffde802bd7ec10663
2017-03-30 14:25:41 +09:00
Andreas Gampe
a92434f4c0 Build: ASAN in system
Add build system support for asan.tar.bz in the system image. This
is triggered by SANITIZE_TARGET_SYSTEM=true.

(cherry picked from commit 039b5c779f)

Bug: 36458146
Test: m && m SANITIZE_TARGET=true SANITIZE_TARGET_SYSTEM=true
Change-Id: I725f99f16a8c9182b1c7ad26580c73d3708f8554
2017-03-29 18:36:24 -07:00
TreeHugger Robot
8f5c5fd7fe Merge "Including WallpaperPicker in SDK build" into oc-dev 2017-03-29 06:46:25 +00:00
Sunny Goyal
4f49a94fe7 Including WallpaperPicker in SDK build
Bug: 35724630
Test: None
Change-Id: I5b066171b70899d4d980d3cdedd32ad58ade9b90
2017-03-29 01:32:47 +00:00
Makoto Onuki
fe3d3490fb Merge "Add USE_FILESLIST_GO to switch to fileslist.go" into oc-dev 2017-03-28 21:15:24 +00:00
Makoto Onuki
517d32d4da 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
(cherry picked from commit 9fe97e231b)
2017-03-28 13:19:03 -07:00
Colin Cross
8204eb1a87 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
2017-03-28 17:05:18 +00:00
Esteban Talavera
deb26ad395 Revert "Remove resource overlays"
This reverts commit 1dcf689c3b.

The CL broke git_master/sailfish-userdebug_P and oc-release/marlin_svelte

Bug: 36231603
Test: "make" works again for oc-release/marlin_svelte after reverting both CLs from this topic

Change-Id: I861b8b11c29293fb4a0c746768c03bc4eb986807
2017-03-28 17:02:20 +01:00
Steve Muckle
5c06e9702a Merge "Fix modules.dep breakage with multiple module dependencies" am: 73461abd0c am: 9c0198e6e9
am: f54833b9d9

Change-Id: I23e179b3442365eaa5862fb2a1f08b3d9f600279
2017-03-28 01:30:58 +00:00
Steve Muckle
f54833b9d9 Merge "Fix modules.dep breakage with multiple module dependencies" am: 73461abd0c
am: 9c0198e6e9

Change-Id: I4e1ecf13d31bec16a4fe44358c1dd8def0203916
2017-03-28 01:26:57 +00: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