Commit Graph

16 Commits

Author SHA1 Message Date
Kiyoung Kim
b04fe60b64 Install vndkcore and vndkprivate library list
New linkerconfig generator requires vndkcore and vndkprivate library
list file to create ld.config.txt dynamically. However, existing vndk
snapshot does not install those two files, thus fail to be executed.
This change adds two files to system image.

Bug: 142072719
Test: VNDK snapshot generated with updated file
Change-Id: Id42e6a9acf40d8e16a3e76fd76ad84422d35d519
2019-10-07 13:46:21 +09:00
Justin Yun
b59da8f618 vndk-snapshot: add version suffix for v27 files
To use ld.config.txt template, change the file names of v27 config
files to include version suffix.

Bug: 74658756
Bug: 123209911
Test: PRODUCT_EXTRA_VNDK_VERSIONS=27 m -j vndk_snapshot_package
Change-Id: Icc9f9970cf95fb4e888555ec0b080c44c81a0622
2019-01-23 19:25:05 +09:00
Justin Yun
5ff8cc25ce vndk-snapshot: Make the remote name settable
To check license, we need to fetch revision from parent git
repository. Using '--remote' option we may manually set the remote
name. Default value is 'aosp'.

Test: run update.py to fetch vndk snapshot files.
Change-Id: I1456eb4306950da3d25ec2b4d9fc4efc4b5bcd81
2019-01-22 11:00:37 +09:00
Jaewoong Jung
6a5aaca7bf Use Soong to build to etc modules.
This is the final piece of mk to bp conversion effort for vndk.

Bug: 122332178
Test: Locally ran the test script and built the phony targets.
Change-Id: I9988cc840c0660cc4fb47129ea16cfacb4c0a7ba
2019-01-17 15:46:50 -08:00
Jaewoong Jung
6fbb9d2a24 Use filegroup for notice files.
Update gen_buildfiles.py so that it generates filegroup-based notice
references. The previous usage that relied on the parent directory
pattern, '../', is no longer supported.

Test: Built successfully
Change-Id: Iddf334ed9c4e6139cc896a77e07b9eeb596c257e
2018-11-29 22:18:06 -08:00
Jae Shin
af0c00328a Support new binder32bit property
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
2018-06-25 17:58:35 +09:00
Jae Shin
bd82ebbe49 Expand a leading '~' to $HOME in arg for --local
Test: python update.py --local=~/some/local/path
Bug: 78279738
Change-Id: Iabef0b10ff9ad7a5008f63a1b558351a240b4227
2018-06-25 17:45:34 +09:00
Jae Shin
01268ffbea Allow user to specificy local_dir value
Previously the --local option assumed the local dir to be DIST_DIR.
Since in the actual use case, the branch where the VNDK snapshot is
built is different from the branch where this VNDK snapshot is
uploaded to, allow the user to specify the local dir as a command
line parameter.

Test: python update.py --local=<path to local dir> 28 -vv
Bug: 78279738
Change-Id: I98a86296076994c951b98457ef47c384d4cc940c
2018-06-19 20:50:49 +09:00
Jae Shin
940752124d Allow logging across modules
Test: confirm logging from different modules
Bug: 78279738
Change-Id: If51918fd7a4ad3ea3408109a39a293bcd56f71db
2018-06-18 14:45:54 +09:00
Jae Shin
25d3abf478 Prevent manifest file from being added to prebuilts
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)
2018-04-24 09:50:30 +09:00
Jae Shin
89e386f367 Fix linker config file processing logic for O-MR1
Since ld.config.VER.txt files are not versioned, ${VNDK_VER}
previously appended to the VNDK directories is replaced with
the actual VER number.

Test: python update.py 27 --branch oc-mr1-treble-dev
--build 4546415
Bug: 70603313

Change-Id: Ibb7acae183b355529bb83e8860277f453f01ffe3
2018-01-17 16:16:09 +09:00
Jae Shin
4db81a5f93 Generate separate Android.bp per snapshot variant
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
2018-01-09 04:37:56 +00:00
Jae Shin
6e1a79667f Add post-processing logic for O-MR1 ld.config.txt
VNDK snapshot prebuilts are installed under versioned VNDK
directories: /system/lib/vndk[-sp]${VNDK_VER}. The corresponding
change to the linker config file, ld.config.txt, was not applied
to O-MR1, therefore ld.config.txt needs to be post-processed for
O-MR1 snapshot such that the unversioned VNDK directories
(e.g. /system/${LIB}/vndk) are replaced by versioned ones
(e.g. /system/${LIB}/vndk${VNDK_VER}).

Bug: 70918357
Test: python update.py [options]
Change-Id: I12322a48b7787a11a22917493472bb97da2ecf5f
2017-12-26 13:38:53 +09:00
Jae Shin
5233fe115b Add script to check GPL projects have released SHA
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
2017-12-21 05:10:27 +00:00
Jae Shin
ba7456d513 Add 'notice' attribute to prebuilts in Android.bp
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
2017-12-18 22:52:10 +09:00
Jae Shin
ca625dd05a Add scripts to install VNDK snapshot to prebuilts/vndk
update.py does the following:
1) fetches VNDK snapshot build artifact from Android
Build server,
2) installs snapshot under prebuilts/vndk/v{VNDK_VERSION},
3) autogenerates build files Android.mk and Android.bp
(using gen_buildfiles.py)

Test: python development/vndk/snapshot/update.py [options] &&
m -j vndk_v27
Bug: 69950927
Bug: 70125075
Change-Id: I81c8bd5060601a983da0c05bd63232b5631185b6
2017-12-12 01:33:51 +00:00