Skip to content

Commit d0890ee

Browse files
committed
Add support for mintelf toolchains
1 parent 78c290f commit d0890ee

File tree

4 files changed

+40
-9
lines changed

4 files changed

+40
-9
lines changed

.github/workflows/build.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,28 @@ jobs:
1010
build:
1111
runs-on: ubuntu-20.04
1212
strategy:
13+
fail-fast: false
1314
matrix:
1415
cpu_target: [ "000", "02060", "030", "040", "060", "col" ]
16+
cross_tool: [ "m68k-atari-mint" ]
1517
steps:
1618
- uses: actions/checkout@v4
1719
- name: Install SSH keys
1820
if: ${{ github.event_name == 'push' }}
1921
env:
2022
SSH_ID: ${{ secrets.SSH_ID }}
2123
run: ./.scripts/install_ssh_id.sh
22-
- name: Install packages
23-
run: |
24-
SYSROOT_DIR="/" ./.scripts/install-freemint.sh binutils gcc mintbin
25-
./.scripts/install-freemint.sh mintlib fdlibm gemlib cflib
26-
./.scripts/install-hcp.sh
2724
- name: Setup environment
2825
env:
2926
PROJECT_VERSION: "5.0.5"
3027
CPU_TARGET: ${{ matrix.cpu_target }}
28+
CROSS_TOOL: ${{ matrix.cross_tool }}
3129
run: ./.scripts/setup_env.sh
30+
- name: Install packages
31+
run: |
32+
SYSROOT_DIR="/" ./.scripts/install-freemint.sh binutils gcc mintbin
33+
./.scripts/install-freemint.sh mintlib fdlibm gemlib cflib
34+
./.scripts/install-hcp.sh
3235
- name: build
3336
run: ./.scripts/build.sh
3437
- name: deploy

.scripts/deploy.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
#!/bin/sh -x
22

3-
[email protected]:/home/www/snapshots
3+
4+
UPLOAD_DIR=$SERVER:/home/www/snapshots
45

56
if [ -z "${DEPLOY_ARCHIVE+x}" ]
67
then
78
# zip is default
89
DEPLOY_ARCHIVE="zip"
910
fi
1011

12+
toolsuffix=${CROSS_TOOL##*-}
13+
1114
if [ -n "${CPU_TARGET+x}" ]
1215
then
1316
ARCHIVE_NAME="${PROJECT_NAME}-${PROJECT_VERSION}-${SHORT_ID}-${CPU_TARGET}.${DEPLOY_ARCHIVE}"
@@ -54,10 +57,22 @@ upload_file() {
5457
exit 1
5558
}
5659

60+
link_file() {
61+
local from="$1"
62+
local to="$2"
63+
for i in 1 2 3
64+
do
65+
ssh -o "StrictHostKeyChecking no" $SERVER -- "cd www/snapshots/${PROJECT_DIR}; ln -sf $from $to"
66+
[ $? = 0 ] && return 0
67+
sleep 1
68+
done
69+
exit 1
70+
}
71+
5772
upload_file "$ARCHIVE_PATH" "${UPLOAD_DIR}/${PROJECT_DIR}/${ARCHIVE_NAME}"
5873
if test -z "${CPU_TARGET}"
5974
then
60-
upload_file "$ARCHIVE_PATH" "${UPLOAD_DIR}/${PROJECT_DIR}/${PROJECT_DIR}-latest.${DEPLOY_ARCHIVE}"
75+
link_file "$ARCHIVE_NAME" "${PROJECT_DIR}-latest.${DEPLOY_ARCHIVE}"
6176
fi
6277

6378
echo ${PROJECT_NAME}-${PROJECT_VERSION}-${SHORT_ID} > .latest_version

.scripts/install-freemint.sh

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,22 @@
44
# -x: Display expanded script commands
55

66
DOWNLOAD_DIR=http://tho-otto.de/snapshots
7-
SYSROOT_DIR=${SYSROOT_DIR:-"/usr/m68k-atari-mint/sys-root/usr"}
7+
SYSROOT_DIR=${SYSROOT_DIR:-"/usr/${CROSS_TOOL}/sys-root"}
88

99
sudo mkdir -p "${SYSROOT_DIR}" && cd "${SYSROOT_DIR}"
1010

11+
toolsuffix=${CROSS_TOOL##*-}
12+
1113
for package in $*
1214
do
13-
wget -q -O - "$DOWNLOAD_DIR/${package}/${package}-latest.tar.bz2" | sudo tar xjf -
15+
# for gcc and binutils, use stable current, not experimental latest build
16+
case $package in
17+
gcc | binutils)
18+
filename=${package}-${toolsuffix}-current.tar.bz2
19+
;;
20+
*)
21+
filename=${package}-${toolsuffix}-latest.tar.bz2
22+
;;
23+
esac
24+
wget -q -O - "$DOWNLOAD_DIR/${package}/${filename}" | sudo tar xjf -
1425
done

.scripts/setup_env.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ BRANCH=$(echo "${GITHUB_REF}" | cut -d '/' -f 3)
2323
if test "$CPU_TARGET" != ""; then
2424
echo "CPU_TARGET=$CPU_TARGET" >> $GITHUB_ENV
2525
fi
26+
CROSS_TOOL=${CROSS_TOOL:-m68k-atari-mint}
27+
echo "CROSS_TOOL=$CROSS_TOOL" >> $GITHUB_ENV
2628

2729
# GITHUB_HEAD_REF is only set for pull requests
2830
if [ "${GITHUB_HEAD_REF}" = "" ]

0 commit comments

Comments
 (0)