64 lines
1.8 KiB
Bash
64 lines
1.8 KiB
Bash
|
#!/bin/bash -ex
|
||
|
|
||
|
# Non exhaustive list of modules where we want prebuilts. More can be added as
|
||
|
# needed.
|
||
|
MAINLINE_MODULES=(
|
||
|
com.android.art.debug
|
||
|
com.android.art.release
|
||
|
com.android.art.testing
|
||
|
com.android.conscrypt
|
||
|
com.android.runtime
|
||
|
com.android.tzdata
|
||
|
com.android.i18n
|
||
|
)
|
||
|
|
||
|
# List of SDKs and module exports we know of.
|
||
|
MODULES_SDK_AND_EXPORTS=(
|
||
|
art-module-sdk
|
||
|
art-module-test-exports
|
||
|
conscrypt-module-sdk
|
||
|
conscrypt-module-test-exports
|
||
|
)
|
||
|
|
||
|
# We want to create apex modules for all supported architectures.
|
||
|
PRODUCTS=(
|
||
|
aosp_arm
|
||
|
aosp_arm64
|
||
|
aosp_x86
|
||
|
aosp_x86_64
|
||
|
)
|
||
|
|
||
|
if [ ! -e "build/make/core/Makefile" ]; then
|
||
|
echo "$0 must be run from the top of the tree"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
OUT_DIR=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT= get_build_var OUT_DIR)
|
||
|
DIST_DIR=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT= get_build_var DIST_DIR)
|
||
|
|
||
|
for product in "${PRODUCTS[@]}"; do
|
||
|
build/soong/soong_ui.bash --make-mode $@ \
|
||
|
TARGET_PRODUCT=${product} \
|
||
|
${MAINLINE_MODULES[@]}
|
||
|
|
||
|
PRODUCT_OUT=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT=${product} get_build_var PRODUCT_OUT)
|
||
|
TARGET_ARCH=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT=${product} get_build_var TARGET_ARCH)
|
||
|
rm -rf ${DIST_DIR}/${TARGET_ARCH}/
|
||
|
mkdir -p ${DIST_DIR}/${TARGET_ARCH}/
|
||
|
for module in "${MAINLINE_MODULES[@]}"; do
|
||
|
cp ${PWD}/${PRODUCT_OUT}/system/apex/${module}.apex ${DIST_DIR}/${TARGET_ARCH}/
|
||
|
done
|
||
|
done
|
||
|
|
||
|
|
||
|
# Create multi-archs SDKs in a different out directory. The multi-arch script
|
||
|
# uses soong directly and therefore needs its own directory that doesn't clash
|
||
|
# with make.
|
||
|
export OUT_DIR=${OUT_DIR}/aml/
|
||
|
for sdk in "${MODULES_SDK_AND_EXPORTS[@]}"; do
|
||
|
build/soong/scripts/build-aml-prebuilts.sh ${sdk}
|
||
|
done
|
||
|
|
||
|
rm -rf ${DIST_DIR}/mainline-sdks
|
||
|
cp -R ${OUT_DIR}/soong/mainline-sdks ${DIST_DIR}
|