42 lines
1.4 KiB
Bash
42 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Blog post for setting up arm multiarch docker images:
|
|
# Cross Building and Running Multi-Arch Docker Images
|
|
# https://www.ecliptik.com/Cross-Building-and-Running-Multi-Arch-Docker-Images/
|
|
#
|
|
# TL;DR:
|
|
# apt-get install qemu-user-static
|
|
# docker run --rm --privileged multiarch/qemu-user-static:register
|
|
#
|
|
# To test docker images, run something like this:
|
|
# docker run -v /epic:/epic -it --rm multiarch/centos:aarch64-clean /bin/bash
|
|
|
|
SCRIPT_DIR=$(cd "$(dirname "$BASH_SOURCE")" ; pwd)
|
|
EXPAT_DIR=$(readlink -f "${SCRIPT_DIR}/../expat-2.2.10")
|
|
|
|
BuildExpatWithDocker()
|
|
{
|
|
local Arch=$1
|
|
local Image=$2
|
|
local ImageName=temp_build_linux_expat
|
|
local LibDir=${EXPAT_DIR}/Unix/${Arch}
|
|
|
|
echo Building ${Arch}...
|
|
echo docker run -t --name ${ImageName} -v ${EXPAT_DIR}:/expat -v ${SCRIPT_DIR}:/src ${Image} /src/docker-build-expat.sh
|
|
docker run -t --name ${ImageName} -v ${EXPAT_DIR}:/expat -v ${SCRIPT_DIR}:/src ${Image} /src/docker-build-expat.sh
|
|
|
|
echo Copying files...
|
|
mkdir -p ${LibDir}/{Debug,Release}
|
|
rm -rf ${LibDir}/{Debug,Release}/libexpat.a
|
|
|
|
docker cp ${ImageName}:/build/Debug/libexpat.a ${LibDir}/Debug
|
|
docker cp ${ImageName}:/build/Release/libexpat.a ${LibDir}/Release
|
|
|
|
echo Cleaning up...
|
|
docker rm ${ImageName}
|
|
}
|
|
|
|
BuildExpatWithDocker x86_64-unknown-linux-gnu centos:7
|
|
BuildExpatWithDocker aarch64-unknown-linux-gnueabi multiarch/centos:aarch64-clean
|
|
|