38 lines
969 B
Bash
38 lines
969 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
readonly OUT_DIR="$1"
|
||
|
readonly DIST_DIR="$2"
|
||
|
readonly BUILD_NUMBER="$3"
|
||
|
|
||
|
readonly SCRIPT_DIR="$(dirname "$0")"
|
||
|
|
||
|
readonly ARM=arm64
|
||
|
readonly X86=x86_64
|
||
|
|
||
|
NATIVE_LIBRARIES=${SCRIPT_DIR}"/../../out/host/darwin-x86/lib64"
|
||
|
|
||
|
# Find lipo command used to create and manipulate universal binaries
|
||
|
LIPO=$(/usr/bin/xcrun --find lipo)
|
||
|
|
||
|
mkdir ${OUT_DIR}/${ARM}
|
||
|
mkdir ${OUT_DIR}/${X86}
|
||
|
|
||
|
# Split all universal binaries built for layoutlib into an ARM64 version and a X86_64 version
|
||
|
for f in ${NATIVE_LIBRARIES}/*
|
||
|
do
|
||
|
${LIPO} $f -output ${OUT_DIR}/${ARM}/$(basename $f) -thin ${ARM}
|
||
|
${LIPO} $f -output ${OUT_DIR}/${X86}/$(basename $f) -thin ${X86}
|
||
|
done
|
||
|
|
||
|
# Put the single architecture binaries inside the DIST folder to be accessible on ab/
|
||
|
if [[ -d "${DIST_DIR}" ]]; then
|
||
|
cp -r ${OUT_DIR}/${ARM} ${DIST_DIR}/layoutlib_native/darwin
|
||
|
cp -r ${OUT_DIR}/${X86} ${DIST_DIR}/layoutlib_native/darwin
|
||
|
fi
|
||
|
|
||
|
# Clean
|
||
|
rm -rf ${OUT_DIR}/${ARM}
|
||
|
rm -rf ${OUT_DIR}/${X86}
|
||
|
|
||
|
exit 0
|