Generate soong.variables for ndk build
Update the ndk build script to have Make generate the soong.variables via the config step, using a new "ndk" product. Bug: 174315599 Test: build/soong/scripts/build-ndk-prebuilts.sh Change-Id: I0f6fbf523cf9209ea17b7752dd7470012e0baf8c
This commit is contained in:
parent
2ace628b86
commit
b850f84cb9
2 changed files with 4 additions and 49 deletions
|
@ -25,7 +25,9 @@
|
|||
|
||||
# Products that are broken or otherwise don't work with multiproduct_kati
|
||||
SKIPPED_PRODUCTS=(
|
||||
# Both of these products are for soong-only builds, and will fail the kati stage.
|
||||
mainline_sdk
|
||||
ndk
|
||||
)
|
||||
|
||||
# To track how long we took to startup. %N isn't supported on Darwin, but
|
||||
|
|
|
@ -19,56 +19,9 @@ if [ -z "${OUT_DIR}" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
TOP=$(pwd)
|
||||
|
||||
source build/envsetup.sh
|
||||
PLATFORM_SDK_VERSION=$(get_build_var PLATFORM_SDK_VERSION)
|
||||
PLATFORM_BASE_SDK_EXTENSION_VERSION=$(get_build_var PLATFORM_BASE_SDK_EXTENSION_VERSION)
|
||||
PLATFORM_VERSION_ALL_CODENAMES=$(get_build_var PLATFORM_VERSION_ALL_CODENAMES)
|
||||
|
||||
# PLATFORM_VERSION_ALL_CODENAMES is a comma separated list like O,P. We need to
|
||||
# turn this into ["O","P"].
|
||||
PLATFORM_VERSION_ALL_CODENAMES=${PLATFORM_VERSION_ALL_CODENAMES/,/'","'}
|
||||
PLATFORM_VERSION_ALL_CODENAMES="[\"${PLATFORM_VERSION_ALL_CODENAMES}\"]"
|
||||
|
||||
# Get the list of missing <uses-library> modules and convert it to a JSON array
|
||||
# (quote module names, add comma separator and wrap in brackets).
|
||||
MISSING_USES_LIBRARIES="$(get_build_var INTERNAL_PLATFORM_MISSING_USES_LIBRARIES)"
|
||||
MISSING_USES_LIBRARIES="[$(echo $MISSING_USES_LIBRARIES | sed -e 's/\([^ ]\+\)/\"\1\"/g' -e 's/[ ]\+/, /g')]"
|
||||
|
||||
SOONG_OUT=${OUT_DIR}/soong
|
||||
SOONG_NDK_OUT=${OUT_DIR}/soong/ndk
|
||||
rm -rf ${SOONG_OUT}
|
||||
mkdir -p ${SOONG_OUT}
|
||||
|
||||
# We only really need to set some of these variables, but soong won't merge this
|
||||
# with the defaults, so we need to write out all the defaults with our values
|
||||
# added.
|
||||
cat > ${SOONG_OUT}/soong.variables << EOF
|
||||
{
|
||||
"Platform_sdk_version": ${PLATFORM_SDK_VERSION},
|
||||
"Platform_base_sdk_extension_version": ${PLATFORM_BASE_SDK_EXTENSION_VERSION},
|
||||
"Platform_version_active_codenames": ${PLATFORM_VERSION_ALL_CODENAMES},
|
||||
|
||||
"DeviceName": "generic_arm64",
|
||||
"HostArch": "x86_64",
|
||||
"Malloc_not_svelte": false,
|
||||
"Safestack": false,
|
||||
|
||||
"Ndk_abis": true,
|
||||
|
||||
"VendorVars": {
|
||||
"art_module": {
|
||||
"source_build": "true"
|
||||
}
|
||||
},
|
||||
|
||||
"MissingUsesLibraries": ${MISSING_USES_LIBRARIES}
|
||||
}
|
||||
EOF
|
||||
m --soong-only --skip-config ${SOONG_OUT}/ndk.timestamp
|
||||
TARGET_PRODUCT=ndk build/soong/soong_ui.bash --make-mode --soong-only ${OUT_DIR}/soong/ndk.timestamp
|
||||
|
||||
if [ -n "${DIST_DIR}" ]; then
|
||||
mkdir -p ${DIST_DIR} || true
|
||||
tar cjf ${DIST_DIR}/ndk_platform.tar.bz2 -C ${SOONG_OUT} ndk
|
||||
tar cjf ${DIST_DIR}/ndk_platform.tar.bz2 -C ${OUT_DIR}/soong ndk
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue