Commit graph

19 commits

Author SHA1 Message Date
Kiyoung Kim
a5cf894978 Deprecate VNDK-Lite
Android S would not support upgrade from O-MR1 devices, so VNDK Lite
configuration is no more valid. This change removes all VNDK-Lite
related steps and makr BOARD_VNDK_RUNTIME_DISABLE as deprecated
variable.

Bug: 158719241
Test: m -j passed
Change-Id: Ifb355da936933843862426e7ddfce9c7f69cea61
2020-07-16 13:42:23 +09:00
Inseob Kim
c465e20400 Implement vendor snapshot
Vendor snapshot can be captured with "m dist vendor-snapshot". With
vendor snapshot and vndk snapshot, older version of /vendor and newer
version of /system will be able to be built together by setting
BOARD_VNDK_VERSION to past vendor's version.

Only vendor modules under AOSP are to be captured. In detail, modules
under following directories are ignored:
- cts/
- device/
- external/clang/
- external/llvm/
- hardware/, except for:
    - interfaces/, libhardware/, libhardware_legacy/, ril/
- vendor/

Bug: 65377115
Test: m dist vendor-snapshot
Change-Id: Ib5859e409f8ab281ca137cae21e9ea08abd8a0b1
2020-01-23 21:51:08 +09:00
Inseob Kim
65c91ff15a Fix and generate vndk snapshot entirely in Soong
- VNDK snapshot now respects stem and suffix.
- ld.config.txt is removed from snapshot as linkerconfig has become default.
- Soong builds entire snapshot, and make just calls dist-for-goals.

Bug: 142589718
Test: build and install snapshot
Test: development/vndk/snapshot/update.py with past version of snapshot
Change-Id: Ib99f1006d3553b1871b86ab168b1706fe47e1afb
2019-10-23 15:54:08 +09:00
Jooyung Han
f251232bb1 cleanup: remove unused variable
removing an unused variable: vndk_snapshot_configs_out in
core/tasks/vndk.mk

Test: m vndk
Change-Id: I2dc76ec7e41c8b1e818ecd056526a8c61a18da92
2019-09-25 10:33:58 +09:00
Inseob Kim
316f77ba3c Include headers and props to VNDK snapshot
For all vndk snapshot libraries, header files exported by the libraries
will be included to the snapshot. Android.bp will contain necessary
information to link against/install vndk snapshot libraires:
export_include_dirs, export_system_include_dirs, export_flags, and
relative_install_path.

Bug: 132818174
Test: 1) VNDK_SNAPSHOT_BUILD_ARTIFACTS=true \
           development/vndk/snapshot/build.sh
Test: 2) development/vndk/snasphot/update.py
Test: 3) see contents of Android.bp and include directories
Change-Id: I3ed179b613ca51f7854dc819783a962a56b973eb
2019-08-08 18:46:31 +09:00
Inseob Kim
10e02dcd43 Generate VNDK snapshot with Soong except configs
This is the first commit to generate VNDK snapshot with Soong: .so
files, some txt files, and notice files are captured with Soong. As
ld.config.txt is currently in Android.mk and will be deprecated soon,
configs files (and zipping all of artifacts) are still handled with
Makefile.

Bug: 131564934
Test: 1) DIST_DIR=out/dist development/vndk/snapshot/build.sh
Test: 2) try installing vndk snapshot with:
         development/vndk/snapshot/update.py

Change-Id: Ia904e8a1b44824d6c9556ada93bf1616620a1363
2019-05-14 06:40:08 +00:00
Jae Shin
4b6ba7e0df Remove workaround for libclang_rt.ubsan* vndk libs
libclang_rt.ubsan* VNDK core libraries are no longer built
for all arch flavors. Now, only the TARGET[_2ND]_ARCH-specific
libs are builts. Therefore no need to filter-out and re-add
libclang_rt.ubsan* VNDK core libraries.

Test: m -j vndk
Change-Id: I48080c1cd546cfc9f14313a3c9559d5c1bb2fdbe
2018-07-26 12:14:12 +09:00
Jae Shin
f1e9d4f62f Additionally check TARGET_IS_64_BIT for binder bitness
Since TARGET_USES_64_BIT_BINDER could be not set, first check
TARGET_IS_64_BIT when determining binder bitness.

Test: lunch aosp_walleye-userdebug && m -j vndk, then check
directory structure
Bug: 111773572

Change-Id: If75d5946b38d7b5bc15798b273e0450035c8c43a
2018-07-24 16:12:42 +09:00
Dan Willemsen
649311868c Fix vndk packaging to stop depending on phony targets
These had been depending on the phony target for the library
(liblz4.vendor), not the actual built file and notice file.

Since we hadn't been saving the NOTICE file, and were only assuming the
installed notice file path. save that away for use during packaging.

Test: m vndk; diff out/target/product/generic/android-vndk-aosp_arm.zip
Test: m vndk; diff out/target/product/generic_arm64/android-vndk-aosp_arm64.zip
Change-Id: If9a4bed27030b7bd464cd3987739df94d32a0037
2018-06-19 09:26:58 -07:00
Jae Shin
f20605c584 Build VNDK snapshot for products aosp_[arm|x86]
P VNDK snapshot needs to include VNDK libs built for 64-bit binder
products, aosp_arm and aosp_x86. This change modifies the following:

1) Revise VNDK snapshot zip file name to use $TARGET_PRODUCT instead of
$TARGET_ARCH in order to distinguish aosp_arm and aosp_arm_ab.
2) Place 32-bit binder libs under a subdirectory 'binder32' such that
the snapshots can be uploaded to prebuilts/vndk/v{VER} with the following
directory structure:

  prebuilts/vndk/v{VER}/
    arm/
      arch-arm-armv7-a-neon/
        shared/
          ...
      binder32/
        arch-arm-armv7-a-neon/
          shared/
            ...
      ...
    arm64/
      arch-arm-armv7-a-neon/
      arch-arm64-armv8-a/
      ...
    ...

The 32-bit binder libs will be placed in a separate subdirectory so that
they can be easily phased out in future VNDK snapshots.

Bug: 80372796
Test: make -j vndk dist
Merged-In: I7cde2e706e0c2891bab762b9057672f57e798873
Change-Id: I7cde2e706e0c2891bab762b9057672f57e798873
(cherry picked from commit 3ba44eb916)
2018-05-31 16:51:27 +09:00
Jae Shin
8b759c08ca Merge changes Ida449978,I8c6953f1
* changes:
  Apply snapshot variant to vndk package module name
  Additionally package TARGET_2ND_ARCH variants
2018-01-05 01:16:06 +00:00
Justin Yun
4dff0c6974 BOARD_VNDK_RUNTIME_DISABLE must not be "true" for VNDK snapshot
When generating VNDK snapshot, BOARD_VNDK_RUNTIME_DISABLE must not be
'true' to have correct ld.config.txt file.

Bug: 71349776
Test: lunch aosp_arm64_ab-user; make -j vndk dist
Change-Id: I20b14addb2f4a191134a1a9943e328566ca48424
2018-01-05 09:40:47 +09:00
Jae Shin
893fca6e46 Additionally package TARGET_2ND_ARCH variants
Redefine VNDK snapshot top level dir with $(TARGET_PRODUCT) and
additionally package TARGET_2ND_ARCH build variants of libs since
they are needed by 32bit processes running on a 64bit device.

Test: m -j vndk dist
Bug: 71370248
Change-Id: I8c6953f1b52b61caf413559bab56b294479b6d86
2018-01-04 10:23:10 +09:00
Jae Shin
77c07dd6d0 Apply change in prebuilt names for config files
The suffix for VNDK config files ld.config.txt,
llndk.libraries.txt, and vndksp.libraries.txt has been changed to
*.$(PLATFORM_VNDK_VERSION).txt.

Refactor the paths-of-intermediates function such that instead of
parsing filenames from list of modules within the function,
provide the function a list of preprocessed
module_name:file_name pairs.

Bug: 70918357
Test: m -j vndk dist
Change-Id: I2d69b7822cef4c709e15a53f99c7ab2efb22406c
2018-01-04 10:07:30 +09:00
Jae Shin
0b1792e29b Add check to ensure PLATFORM_VNDK_VERSION is set
Bug: 70918357
Test: m -j vndk dist
Change-Id: Ia4ae94db9feccb7c40edfe90c14eb552b69ef655
2017-12-22 10:46:51 +09:00
Jae Shin
410a1af4f9 Package NOTICE files and record LOCAL_PATHs
Copy the NOTICE files for VNDK shared libs from
$(TARGET_OUT_NOTICE_FILES).
Create module_paths.txt to record the LOCAL_PATH for VNDK shared
libs. The LOCAL_PATH values are needed to read the SHA value
of a library's git project from manifest.xml.

Test: m -j vndk dist
Bug: 70603439
Change-Id: I9574abb48a472cb69440f3e9213ffdd0c1cac266
2017-12-18 12:33:08 +09:00
Jae Shin
c13c0ea4b0 Remove path prefix within VNDK snapshot zip
Remove 'android-vndk-snapshot' path prefix when creating VNDK
snapshot zip with soong_zip. The path prefix makes it cumbersome
to unzip and install the snapshots to prebuilts/vndk/v{version}.

Test: development/vndk/snapshot/build.sh &&
python development/vndk/snapshot/update.py
Bug: 69950927
Change-Id: I9e5a1898056627ba98a408f048b7cb710e5ef07c
2017-12-06 01:41:07 +00:00
Jae Shin
4736dc188e Include config files to VNDK snapshot
Additionally package ld.config.txt, llndk.libraries.txt,
vndksp.libraries.txt, vndkcore.libraries.txt,
vndkprivate.libraries.txt.

Also defer packaging TARGET_2ND_ARCH build outputs.

Test: m -j vndk dist
Test: development/vndk/snapshot/build.sh
Bug: 66059995
Change-Id: I2a85dde60824126dd16fd3732ddb0af8ae06d934
2017-11-30 11:04:06 +00:00
Jae Shin
e6b7c84ef7 Generate VNDK snapshot zip as a build artifact
Define a new phony target 'vndk' such that 'make vndk dist'
outputs VNDK snapshot zip file to DIST_DIR.

Bug: 66059995
Test: m -j vndk dist TARGET_PRODUCT=aosp_{arch}_{a, ab}
BOARD_VNDK_VERSION=current
Change-Id: I6fd763a91205b21fba414d1f3068408a6826fad8
2017-11-18 03:11:55 +00:00