Skip to content

Commit 5fd4b6e

Browse files
committed
Update CMake and Autotools toolchains
1 parent 62bded0 commit 5fd4b6e

6 files changed

Lines changed: 39 additions & 54 deletions

File tree

.github/workflows/build.yml

Lines changed: 5 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
id: check-cache
1818
uses: actions/cache@main
1919
with:
20-
key: gcc-15.0
20+
key: gcc-15.2.1
2121
lookup-only: true
2222
path: |
2323
/tmp/x86_64-linux-gnu.tar.xz
@@ -63,7 +63,7 @@ jobs:
6363
if: ${{ steps.check-cache.outputs.cache-hit != 'true' }}
6464
uses: actions/cache@main
6565
with:
66-
key: gcc-15.0
66+
key: gcc-15.2.1
6767
path: |
6868
/tmp/x86_64-linux-gnu.tar.xz
6969
/tmp/x86_64-linux-gnu.tar.xz.sha256
@@ -104,24 +104,13 @@ jobs:
104104
'x86_64-unknown-netbsd',
105105
'aarch64-unknown-netbsd',
106106

107-
# OpenBSD
108-
'x86_64-unknown-openbsd',
109-
'i386-unknown-openbsd',
110-
'aarch64-unknown-openbsd',
111-
'arm-unknown-openbsd',
112-
113107
# DragonFly BSD
114108
'x86_64-unknown-dragonfly',
115109

116110
# Haiku
117111
'i586-unknown-haiku',
118112
'x86_64-unknown-haiku',
119113

120-
# Serenity
121-
'x86_64-unknown-serenity',
122-
'aarch64-unknown-serenity',
123-
'riscv64-unknown-serenity',
124-
125114
# Android
126115
'x86_64-unknown-linux-android',
127116
'i686-unknown-linux-android21',
@@ -139,7 +128,7 @@ jobs:
139128
- name: Restore from cache
140129
uses: actions/cache@main
141130
with:
142-
key: gcc-15.0
131+
key: gcc-15.2.1
143132
fail-on-cache-miss: true
144133
path: |
145134
/tmp/x86_64-linux-gnu.tar.xz
@@ -200,18 +189,6 @@ jobs:
200189
export PATH="${DAKINI_HOME}/bin:${PATH}"
201190
202191
source "${DAKINI_HOME}/usr/local/share/dakini/autotools/${{ matrix.target }}.sh"
203-
elif [[ '${{ matrix.target }}' == *'-openbsd'* ]]; then
204-
declare -r ATAR_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Atar/releases/latest')")"
205-
declare -r ATAR_TARBALL='/tmp/toolchain.tar.xz'
206-
declare -r ATAR_URL="https://github.com/AmanoTeam/Atar/releases/download/${ATAR_TAG}/x86_64-unknown-linux-gnu.tar.xz"
207-
208-
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${ATAR_URL}" --output "${ATAR_TARBALL}"
209-
tar --directory="$(dirname "${ATAR_TARBALL}")" --extract --file="${ATAR_TARBALL}"
210-
211-
export ATAR_HOME='/tmp/atar'
212-
export PATH="${ATAR_HOME}/bin:${PATH}"
213-
214-
source "${ATAR_HOME}/usr/local/share/atar/autotools/${{ matrix.target }}.sh"
215192
elif [[ '${{ matrix.target }}' == *'-dragonfly' ]]; then
216193
# declare -r VENTI_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Venti/releases/latest')")"
217194
# declare -r VENTI_TARBALL='/tmp/toolchain.tar.xz'
@@ -236,18 +213,6 @@ jobs:
236213
export PATH="${SIL_HOME}/bin:${PATH}"
237214
238215
source "${SIL_HOME}/usr/local/share/sil/autotools/${{ matrix.target }}.sh"
239-
elif [[ '${{ matrix.target }}' == *'-serenity' ]]; then
240-
declare -r SENNA_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Senna/releases/latest')")"
241-
declare -r SENNA_TARBALL='/tmp/toolchain.tar.xz'
242-
declare -r SENNA_URL="https://github.com/AmanoTeam/Senna/releases/download/${SENNA_TAG}/x86_64-unknown-linux-gnu.tar.xz"
243-
244-
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${SENNA_URL}" --output "${SENNA_TARBALL}"
245-
tar --directory="$(dirname "${SENNA_TARBALL}")" --extract --file="${SENNA_TARBALL}"
246-
247-
export SENNA_HOME='/tmp/senna'
248-
export PATH="${SENNA_HOME}/bin:${PATH}"
249-
250-
source "${SENNA_HOME}/usr/local/share/senna/autotools/${{ matrix.target }}.sh"
251216
elif [[ '${{ matrix.target }}' == *'-android'* ]]; then
252217
declare -r PINO_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Pino/releases/latest')")"
253218
declare -r PINO_TARBALL='/tmp/toolchain.tar.xz'
@@ -318,12 +283,12 @@ jobs:
318283
uses: softprops/action-gh-release@master
319284
with:
320285
tag_name: gcc-15
321-
name: GCC 15.2.0
286+
name: GCC 15.2.1
322287
files: ./*/*-unknown-*.tar.xz*
323288
draft: false
324289
prerelease: false
325290
fail_on_unmatched_files: true
326-
body: "* Update to GCC 15.2.0"
291+
body: "* Update to GCC 15.2.1"
327292
env:
328293
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
329294

build.sh

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,6 @@ if ! [ -f "${gcc_tarball}" ]; then
275275
patch --directory="${gcc_directory}" --strip='1' --input="${workdir}/submodules/obggcc/patches/0005-Turn-Wint-conversion-back-into-an-warning.patch"
276276
patch --directory="${gcc_directory}" --strip='1' --input="${workdir}/submodules/obggcc/patches/gcc-15/0006-Turn-Wincompatible-pointer-types-back-into-an-warning.patch"
277277
patch --directory="${gcc_directory}" --strip='1' --input="${workdir}/submodules/obggcc/patches/0007-Add-relative-RPATHs-to-GCC-host-tools.patch"
278-
patch --directory="${gcc_directory}" --strip='1' --input="${workdir}/submodules/obggcc/patches/0008-Add-ARM-and-ARM64-drivers-to-OpenBSD-host-tools.patch"
279-
patch --directory="${gcc_directory}" --strip='1' --input="${workdir}/submodules/obggcc/patches/0009-Fix-missing-stdint.h-include-when-compiling-host-tools-on-OpenBSD.patch"
280278
fi
281279

282280
# Follow Debian's approach to remove hardcoded RPATHs from binaries
@@ -300,15 +298,6 @@ sed \
300298
"${mpfr_directory}/configure" \
301299
"${gmp_directory}/configure"
302300

303-
# Fix Autotools mistakenly detecting shared libraries as not supported on OpenBSD
304-
while read file; do
305-
sed \
306-
--in-place \
307-
--regexp-extended \
308-
's|test -f /usr/libexec/ld.so|true|g' \
309-
"${file}"
310-
done <<< "$(find '/tmp' -type 'f' -name 'configure')"
311-
312301
# Force GCC and binutils to prefix host tools with the target triplet even in native builds
313302
sed \
314303
--in-place \

submodules/obggcc

Submodule obggcc updated 601 files

tools/dev/autotools/deactivate.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#/bin/bash
2+
3+
unset \
4+
CROSS_COMPILE_TRIPLET \
5+
CROSS_COMPILE_SYSTEM \
6+
CROSS_COMPILE_ARCHITECTURE \
7+
CROSS_COMPILE_SYSROOT \
8+
CMAKE_TOOLCHAIN_FILE \
9+
CC \
10+
CXX \
11+
AR \
12+
AS \
13+
LD \
14+
NM \
15+
RANLIB \
16+
STRIP \
17+
OBJCOPY \
18+
OBJDUMP \
19+
READELF \
20+
PKG_CONFIG \
21+
YASM

tools/dev/autotools/x86_64-unknown-dragonfly.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
#/bin/bash
22

3+
kopt="${-}"
4+
5+
set +u
36
set -e
47

58
if [ -z "${VENTI_HOME}" ]; then
6-
VENTI_HOME="$(realpath "$(dirname "${0}")")/../../../../.."
9+
VENTI_HOME="$(realpath "$(( [ -n "${BASH_SOURCE}" ] && dirname "$(realpath "${BASH_SOURCE[0]}")" ) || dirname "$(realpath "${0}")")""/../../../../..")"
710
fi
811
912
set -u
@@ -13,6 +16,8 @@ CROSS_COMPILE_ARCHITECTURE='x86_64'
1316
CROSS_COMPILE_TRIPLET="${CROSS_COMPILE_ARCHITECTURE}-unknown-${CROSS_COMPILE_SYSTEM}"
1417
CROSS_COMPILE_SYSROOT="${VENTI_HOME}/${CROSS_COMPILE_TRIPLET}"
1518
19+
CMAKE_TOOLCHAIN_FILE="${VENTI_HOME}/build/cmake/${CROSS_COMPILE_TRIPLET}.cmake"
20+
1621
CC="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-gcc"
1722
CXX="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-g++"
1823
AR="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-ar"
@@ -22,13 +27,15 @@ NM="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-nm"
2227
RANLIB="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-ranlib"
2328
STRIP="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-strip"
2429
OBJCOPY="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-objcopy"
30+
OBJDUMP="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-objdump"
2531
READELF="${VENTI_HOME}/bin/${CROSS_COMPILE_TRIPLET}-readelf"
2632
2733
export \
2834
CROSS_COMPILE_TRIPLET \
2935
CROSS_COMPILE_SYSTEM \
3036
CROSS_COMPILE_ARCHITECTURE \
3137
CROSS_COMPILE_SYSROOT \
38+
CMAKE_TOOLCHAIN_FILE \
3239
CC \
3340
CXX \
3441
AR \
@@ -38,6 +45,8 @@ export \
3845
RANLIB \
3946
STRIP \
4047
OBJCOPY \
48+
OBJDUMP \
4149
READELF
4250
43-
set +eu
51+
[[ "${kopt}" = *e* ]] || set +e
52+
[[ "${kopt}" = *u* ]] || set +u

tools/dev/cmake/x86_64-unknown-dragonfly.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ set(CMAKE_AR "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-ar" CACHE FILEPATH "ar")
1616
set(CMAKE_RANLIB "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-ranlib" CACHE FILEPATH "ranlib")
1717
set(CMAKE_STRIP "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-strip" CACHE FILEPATH "strip")
1818
set(CMAKE_OBJCOPY "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-objcopy" CACHE FILEPATH "objcopy")
19+
set(CMAKE_OBJDUMP "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-objdump" CACHE FILEPATH "objdump")
1920
set(CMAKE_NM "${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-nm" CACHE FILEPATH "nm")
2021

2122
set(PKG_CONFIG_EXECUTABLE "" CACHE FILEPATH "pkg-config")

0 commit comments

Comments
 (0)