Starting from the P VNDK snapshot, the linker config file will be
built and installed from the source tree at the time the VNDK
snapshot is installed to the system.img (of Q+), rather than
installing the prebuilt from /prebuilts/vndk/v{VER}. The installed
linker config file is used for both system and vendor processes,
thus should be built from the most up-to-date ld.config.txt
template in the source tree of the system partition.
Test: python gen_buildfiles.py 28 -vv
Test: m -j vndk_v28_arm64; check /system/etc/ld.config.28.txt
Bug: 74658756
Merged-In: I86034e6bbbab6a096814389332c26920ef7d40fc
Change-Id: I86034e6bbbab6a096814389332c26920ef7d40fc
(cherry picked from commit e020f7131e)
Starting in VNDK snapshot v28 (P), prebuilts built for 32-bit
binder interface are isolated in separate 'binder32' subdirectory
under prebuilts/vndk/v{VER}/{ARCH}/. All other prebuilts are
assumed to use 64-bit binder interface.
To differentiate prebuilts per binder bitness, the following
changes are made:
1) a new 'binder32bit' property added to the Android.bp files
autogenerated for the vndk_prebuilt_shared soong module
2) new phony modules, vndk_v{ver}_{arch}_binder32, defined for
32-bit binder prebuilts,
3) 'binder32' suffix added to the prebuilt versioned name,
e.g. libfoo.vndk.{ver}.{arch}.binder32.vendor
Test: python gen_buildfiles.py 28 -vv
Test: python gen_buildfiles.py 27 -vv
Bug: 78279738
Change-Id: I283fe25a34d3381d13097ede34c428c83dffe11e
Change logic that handles the manifest file so that the manifest
is not added to the prebuilts/ directory but remains in a
temporary dir for GPL checking. At the end of the update.py script,
the manifest file is deleted when the temporary dir is deleted.
Also modify how check_gpl_license.py is run independently since
the manifest file has to be fetched first.
Test: python update.py -b oc-mr1-treble-dev --build 4728343 -vv 27
Bug: 77546642
Change-Id: I7749e2998cd12325b9c6275da5e697e328137b73
(cherry picked from commit a2504712de)
VNDK snapshot now packages not only the primary abi but also the
secondary abi for each build target. To distinguish 32bit srcs
built from 64bit vs 32bit TARGET_ARCHs, each prebuilt is defined
per TARGET_ARCH and included in corresponding phony package,
vndk_v$VER_$ARCH.
Test: python update.py [options]
Bug: 71370248
Change-Id: I1be1d4421b97855a95be6ca0b8efb62e50205a7d
ETC modules ld.config.txt, llndk.libraries.txt, and
vndksp.libraries.txt are now versioned as such:
*.$PLATFORM_VNDK_VERSION.txt
Change the logic for autogenerating Android.mk build rules
for ETC files to reflect this change in file names.
Bug: 70918357
Test: python gen_buildfiles.py
Change-Id: Ia1d062a1be7fd47a78ad338c252e556d27f308b3
Checks that the source tree to which the VNDK snapshot is being
installed has the sources for all GPL prebuilts by confirming
the git projects have the SHA values recorded in manifest.xml.
Bug: 70603439
Test: python update.py [options]
Test: python check_gpl_license.py [options]
Change-Id: I5b34271cd0dab737187211f52b2fdce6dbd94e2e
Test: development/vndk/snapshot/build.sh && python update.py 27
--local -vv && m -j PRODUCT_EXTRA_VNDK_VERSIONS=27, then make sure
NOTICE files for /system/lib[64]/vndk[-sp]-27 are included in
/system/etc/NOTICE.xml.gz
Bug: 70603439
Change-Id: I54dd13e1c3c46c4f690d62604544c61585807160