Compare commits

..

1 Commits

Author SHA1 Message Date
Takumi Sueda
ed69788e81 Add aarch64 build and upload 2022-10-26 04:02:42 +09:00
2 changed files with 7 additions and 26 deletions

View File

@ -46,31 +46,17 @@ jobs:
run: sudo rm /etc/apt/sources.list.d/github_git-lfs.* run: sudo rm /etc/apt/sources.list.d/github_git-lfs.*
- name: Install deps - name: Install deps
run: | run: |
sudo sed -i 's+^deb http://azure+deb [arch=amd64] http://azure+g' /etc/apt/sources.list
cat <<EOF >> aarch64.list
deb [arch=arm64] http://ports.ubuntu.com/ focal main restricted
deb [arch=arm64] http://ports.ubuntu.com/ focal-updates main restricted
deb [arch=arm64] http://ports.ubuntu.com/ focal universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-updates universe
deb [arch=arm64] http://ports.ubuntu.com/ focal multiverse
deb [arch=arm64] http://ports.ubuntu.com/ focal-updates multiverse
deb [arch=arm64] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse
EOF
sudo mv aarch64.list /etc/apt/sources.list.d/
sudo dpkg --add-architecture arm64 sudo dpkg --add-architecture arm64
sudo apt update sudo apt update
sudo apt install build-essential bison flex m4 libgmp-dev libmpc-dev libmpfr-dev \ sudo apt install build-essential bison flex m4 libgmp-dev libmpc-dev libmpfr-dev libgmp-dev:arm64 libmpc-dev:arm64 libmpfr-dev:arm64
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgmp-dev:arm64 libmpc-dev:arm64 libmpfr-dev:arm64 qemu-user-static - name: Build cegcc for x86
- name: Build cegcc for x86_64
run: | run: |
export DIR=$(pwd) export DIR=$(pwd)
mkdir build mkdir build
cd build cd build
../build.sh -j4 ../build.sh -j4
cd /opt/cegcc
find . | xargs file | grep "not stripped" | grep -oE '^[^:]+' | xargs strip
cd /opt cd /opt
zip -r $DIR/cegcc-x86_64.zip cegcc zip -r $DIR/cegcc-x86.zip cegcc
rm -rf cegcc rm -rf cegcc
- name: Build cegcc for aarch64 - name: Build cegcc for aarch64
run: | run: |
@ -78,30 +64,26 @@ jobs:
mkdir cross mkdir cross
cd cross cd cross
find /usr/bin/aarch64-linux-gnu-* | sed 's+/usr/bin/aarch64-linux-gnu-++g' | xargs -n1 -I{} ln -s /usr/bin/aarch64-linux-gnu-{} {} find /usr/bin/aarch64-linux-gnu-* | sed 's+/usr/bin/aarch64-linux-gnu-++g' | xargs -n1 -I{} ln -s /usr/bin/aarch64-linux-gnu-{} {}
ln -s ../build/gcc-bootstrap/gcc/xgcc arm-mingw32ce-gcc # dirty workaround to fix "command not found"
export PATH=$(pwd):$PATH export PATH=$(pwd):$PATH
cd .. cd ..
rm -rf build
mkdir build mkdir build
cd build cd build
../build.sh -j4 --host=aarch64-linux-gnu ../build.sh -j4 --host=aarch64-linux-gnu
cd /opt/cegcc
find . | xargs file | grep "not stripped" | grep -oE '^[^:]+' | xargs /usr/bin/aarch64-linux-gnu-strip
cd /opt cd /opt
zip -r $DIR/cegcc-aarch64.zip cegcc zip -r $DIR/cegcc-aarch64.zip cegcc
- name: Generate archive name - name: Generate archive name
id: archive_name id: archive_name
run: | run: |
echo ::set-output name=name_x86_64::cegcc-x86_64-${GITHUB_REF/refs\/*s\//} echo ::set-output name=name_x86::cegcc-x86-${GITHUB_REF/refs\/*s\//}
echo ::set-output name=name_aarch64::cegcc-aarch64-${GITHUB_REF/refs\/*s\//} echo ::set-output name=name_aarch64::cegcc-aarch64-${GITHUB_REF/refs\/*s\//}
- name: Upload cegcc-x86_64.zip - name: Upload cegcc-x86.zip
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ needs.create_release.outputs.upload_url }} upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: cegcc-x86_64.zip asset_path: cegcc-x86.zip
asset_name: ${{ steps.archive_name.outputs.name_x86_64 }}.zip asset_name: ${{ steps.archive_name.outputs.name_x86 }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload cegcc-aarch64.zip - name: Upload cegcc-aarch64.zip
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1

View File

@ -216,7 +216,6 @@ function configure_module()
function configure_host_module() function configure_host_module()
{ {
configure_module "$@" \ configure_module "$@" \
--build=$(gcc -dumpmachine) \
--host=${HOST} \ --host=${HOST} \
--target=${TARGET} --target=${TARGET}
} }