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
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)
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)
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
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)
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
Only allow building OPR1 in oc-dev.
Bug: 36891159
Change-Id: Ib778ad5232a8e33e312d467f6f6970a8027c81c1
Merged-In: I546d1c25a2b1d948a0e7da796f59e734a98635da
Test: treehugger
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
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)
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)
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)
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
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
Bug: http://b/36442361
Test: Build and run multiple devices/targets.
(cherry picked from commit 073ab0a707)
Change-Id: Ia057cfac4cb8185d6c6057390a9790a4657156a9
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
And by default 'speed' compile those apps at build time.
bug:33799337
Test: m -j32
Change-Id: I7be3bbfef59c020a34b9a82ef038bd27210bc9d7
(cherry picked from commit 9af483488a)
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
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)
End-of-line comments cause the variable to be set to a space, which
confuses using ifdef on it.
Test: builds
Change-Id: I7b1eb3b9febff1a5a5fca1e6623b2b36d538dacc
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