Skip to content

Commit e8517d1

Browse files
committed
add support for gcc cross-build for linux targets
Incomplete and untested.
1 parent a2aa594 commit e8517d1

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

_build.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -572,11 +572,17 @@ build_single_target() {
572572
# Include CRT type in Linux triplets, to make it visible in
573573
# the curl version banner.
574574
_TRIPLET="${_machine}-pc-linux-${_CRT}"
575+
# Short triplet used on the filesystem
576+
_TRIPLETSH="${_machine}-linux-gnu"
575577

576578
if [ "${unamem}" != "${_machine}" ] && [ "${_CC}" = 'gcc' ]; then
577-
# TODO: Implement cross-builds with gcc
578-
echo "! WARNING: Linux cross-buils require llvm/clang. Skipping."
579-
return
579+
# https://packages.debian.org/testing/arm64/gcc-x86-64-linux-gnu/filelist
580+
# https://packages.debian.org/testing/arm64/binutils-x86-64-linux-gnu/filelist
581+
# /usr/bin/x86_64-linux-gnu-gcc
582+
# https://packages.debian.org/testing/amd64/gcc-aarch64-linux-gnu/filelist
583+
# https://packages.debian.org/testing/amd64/binutils-aarch64-linux-gnu/filelist
584+
# /usr/bin/aarch64-linux-gnu-gcc
585+
_CCPREFIX="${_TRIPLETSH}-"
580586
fi
581587

582588
_RUN_BIN='echo'

_ci-linux-debian.sh

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,17 @@ if [[ "${CW_CONFIG:-}" = *'linux'* ]]; then
2626
fi
2727
fi
2828
if [ "$(uname -m)" = 'aarch64' ]; then
29-
extra="${extra} libgcc-13-dev-amd64-cross libstdc++-13-dev-amd64-cross"
29+
if [[ "${CW_CONFIG:-}" = *'gcc'* ]]; then
30+
extra="${extra} gcc-13-x86-64-linux-gnu"
31+
else
32+
extra="${extra} libgcc-13-dev-amd64-cross libstdc++-13-dev-amd64-cross"
33+
fi
3034
else
31-
extra="${extra} libgcc-13-dev-arm64-cross libstdc++-13-dev-arm64-cross"
35+
if [[ "${CW_CONFIG:-}" = *'gcc'* ]]; then
36+
extra="${extra} gcc-13-aarch64-linux-gnu"
37+
else
38+
extra="${extra} libgcc-13-dev-arm64-cross libstdc++-13-dev-arm64-cross"
39+
fi
3240
fi
3341
fi
3442

0 commit comments

Comments
 (0)