occlum/tools/toolchains/busybox/build.sh
Zheng, Qi a825499d47 Update busybox to support new glibc (>2.31)
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
2021-10-22 17:16:52 +08:00

46 lines
1.1 KiB
Bash
Executable File

#! /bin/bash
set -e
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
INSTALL_DIR=/opt/occlum/toolchains/busybox
busybox_source="https://github.com/mirror/busybox.git"
busybox_tag="1_32_1"
busybox_config=${THIS_DIR}/config
function build_and_install_busybox()
{
pushd busybox
git clean -dxf
git reset HEAD --hard
make clean
make defconfig
cp $busybox_config .config
if [[ $1 == "musl" ]]; then
echo "Building musl-libc version of busybox"
sed -e 's/.*CONFIG_CROSS_COMPILER_PREFIX.*/CONFIG_CROSS_COMPILER_PREFIX="occlum-"/' -i .config
make -j
mkdir -p ${INSTALL_DIR}/musl
cp busybox ${INSTALL_DIR}/musl/
else
echo "Building glibc version of busybox"
make -j
mkdir -p ${INSTALL_DIR}/glibc
cp busybox ${INSTALL_DIR}/glibc/
fi
popd
}
rm -rf ${INSTALL_DIR}
rm -rf busybox
# Download bash source
git clone -b ${busybox_tag} ${busybox_source}
echo "Building busybox with musl-gcc (occlum-gcc) ..."
build_and_install_busybox musl
echo "Building busybox with gcc ..."
build_and_install_busybox