Skip to content

Commit e5c2aac

Browse files
committed
add support for gcc cross-build for linux targets
Incomplete and untested.
1 parent 30a4ff2 commit e5c2aac

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
@@ -580,11 +580,17 @@ build_single_target() {
580580
# Include CRT type in Linux triplets, to make it visible in
581581
# the curl version banner.
582582
_TRIPLET="${_machine}-pc-linux-${_CRT}"
583+
# Short triplet used on the filesystem
584+
_TRIPLETSH="${_machine}-linux-gnu"
583585

584586
if [ "${unamem}" != "${_machine}" ] && [ "${_CC}" = 'gcc' ]; then
585-
# TODO: Implement cross-builds with gcc
586-
echo "! WARNING: Linux cross-buils require llvm/clang. Skipping."
587-
return
587+
# https://packages.debian.org/testing/arm64/gcc-x86-64-linux-gnu/filelist
588+
# https://packages.debian.org/testing/arm64/binutils-x86-64-linux-gnu/filelist
589+
# /usr/bin/x86_64-linux-gnu-gcc
590+
# https://packages.debian.org/testing/amd64/gcc-aarch64-linux-gnu/filelist
591+
# https://packages.debian.org/testing/amd64/binutils-aarch64-linux-gnu/filelist
592+
# /usr/bin/aarch64-linux-gnu-gcc
593+
_CCPREFIX="${_TRIPLETSH}-"
588594
fi
589595

590596
_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)