Skip to content

Commit 17f50e1

Browse files
committed
Option to build toolchain, add linux arm64 -> win arm64 DLLs
1 parent 43fe2df commit 17f50e1

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

.github/scripts/boost/build_and_test_boost.sh

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
BOOST_BUILD_DIR=$1
44
BOOST_TEMPLATE_DIR=$2
55

6+
export TOOLCHAIN_PATH=/home/vejby/cross-aarch64-w64-mingw32-msvcrt
7+
68
if [[ $# -lt 1 ]]; then
79
echo "Expected at least 1 arguments!" >&2
810
exit 1
@@ -13,6 +15,15 @@ if [[ -d $BOOST_BUILD_DIR ]]; then
1315
exit 1
1416
fi
1517

18+
# Build toolchain
19+
# cd mingw-woarm64-build
20+
# export RESET_SOURCES=1
21+
# export BINUTILS_BRANCH=woarm64
22+
# export GCC_BRANCH=woarm64
23+
# export MINGW_BRANCH=woarm64
24+
# ./build.sh > "toolchain-building.log"
25+
# cd -
26+
1627
mkdir -p $BOOST_BUILD_DIR
1728

1829
if [[ ! -z $BOOST_TEMPLATE_DIR && -d $BOOST_TEMPLATE_DIR ]]; then
@@ -55,7 +66,7 @@ cd $BOOST_BUILD_DIR
5566

5667
# WSL linux arm64 -> win arm64: aarch64-pc-linux-gnu -> aarch64-w64-mingw32 or
5768
# WSL linux x64 -> win arm64: x86_64-pc-linux-gnu -> aarch64-w64-mingw32
58-
# echo "using gcc : 15 : /home/vejby/cross-aarch64-w64-mingw32-msvcrt/bin/aarch64-w64-mingw32-g++ : : <target-os>windows <address-model>64 <architecture>arm ;" > "user-config.jam"
69+
echo "using gcc : 15 : $TOOLCHAIN_PATH/bin/aarch64-w64-mingw32-g++ : : <target-os>windows <address-model>64 <architecture>arm ;" > "user-config.jam"
5970

6071
# MSYS x64 -> win x64: x86_64-pc-msys -> x86_64-pc-msys
6172
# echo "using gcc : 13 : /usr/bin/x86_64-pc-msys-g++ : : <target-os>windows <address-model>64 <architecture>x86 ;" > "user-config.jam"
@@ -64,7 +75,7 @@ cd $BOOST_BUILD_DIR
6475
# echo "using gcc : 15 : /opt/bin/aarch64-w64-mingw32-g++ : : <target-os>windows <address-model>64 <architecture>arm ;" > "user-config.jam"
6576

6677
# MSYS arm64 -> win arm64: aarch64-w64-mingw32 -> aarch64-w64-mingw32
67-
echo "using gcc : 15 : /mingwarm64/bin/aarch64-w64-mingw32-g++ : : <target-os>windows <address-model>64 <architecture>arm ;" > "user-config.jam"
78+
# echo "using gcc : 15 : /mingwarm64/bin/aarch64-w64-mingw32-g++ : : <target-os>windows <address-model>64 <architecture>arm ;" > "user-config.jam"
6879

6980
# Some gcc is needed for running this as well. I'm using MinGW from package manager (e.g. pacman -S gcc)
7081
echo "Running Boost bootstrap.."
@@ -108,9 +119,15 @@ cd status
108119
# building tests with static linking.
109120

110121
# WSL linux x64 to win x64: x86_64-pc-linux-gnu -> x86_64-w64-mingw32
111-
cp /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll .
112-
cp /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libstdc++-6.dll .
113-
cp /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libgcc_s_seh-1.dll .
122+
# cp /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll .
123+
# cp /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libstdc++-6.dll .
124+
# cp /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libgcc_s_seh-1.dll .
125+
126+
# WSL linux arm64 -> win arm64: aarch64-pc-linux-gnu -> aarch64-w64-mingw32 or
127+
# WSL linux x64 -> win arm64: x86_64-pc-linux-gnu -> aarch64-w64-mingw32
128+
cp $TOOLCHAIN_PATH/lib/gcc/aarch64-w64-mingw32/libgcc_s_seh-1.dll .
129+
cp $TOOLCHAIN_PATH/lib/gcc/aarch64-w64-mingw32/15.0.0/libstdc++-6.dll .
130+
cp $TOOLCHAIN_PATH/bin/libwinpthread-1.dll .
114131

115132
# MSYS x64 -> win x64: x86_64-w64-mingw32 -> x86_64-w64-mingw32
116133
# cp /mingw64/bin/libgcc_s_seh-1.dll .
@@ -121,8 +138,8 @@ cp /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libgcc_s_seh-1.dll .
121138
# cp /opt/lib/gcc/aarch64-w64-mingw32/15.0.0/libstdc++-6.dll .
122139

123140
# MSYS x64 -> arm64: x86_64-pc-msys -> aarch64-w64-mingw32
124-
cp /mingwarm64/bin/libgcc_s_seh-1.dll .
125-
cp /mingwarm64/bin/libstdc++-6.dll .
141+
# cp /mingwarm64/bin/libgcc_s_seh-1.dll .
142+
# cp /mingwarm64/bin/libstdc++-6.dll .
126143

127144
# Can run quick/minimal or full test suite. When running full test suite, we can specify modules to
128145
# be excluded from testing like --exclude-tests=context,cobalt,coroutine,fiber,charconv,json,predef

0 commit comments

Comments
 (0)