Skip to content

Commit 9e09ad4

Browse files
authored
thirdparty: add macos arm64 bdwgc script (enables fixing 'Too many root sets' message with latest macos; -d dynamic_boehm also works around it) (#25464)
1 parent 163cbee commit 9e09ad4

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
if ! test -f vlib/v/compiler_errors_test.v; then
6+
echo "this script should be run in V's main repo folder!"
7+
exit 1
8+
fi
9+
10+
export CURRENT_SCRIPT_PATH=$(realpath "$0")
11+
12+
export CC="${CC:-gcc}"
13+
export TCC_FOLDER="${TCC_FOLDER:-thirdparty/tcc}"
14+
export LIBGC_COMMIT="${LIBGC_COMMIT:-master}"
15+
mkdir -p $TCC_FOLDER/lib/
16+
17+
echo " CC: $CC"
18+
echo " TCC_FOLDER: $TCC_FOLDER"
19+
echo "LIBGC_COMMIT: $LIBGC_COMMIT"
20+
echo ===============================================================
21+
22+
rm -rf bdwgc/
23+
24+
pushd .
25+
git clone https://github.com/ivmai/bdwgc
26+
cd bdwgc/
27+
28+
git checkout $LIBGC_COMMIT
29+
export LIBGC_COMMIT_FULL_HASH=$(git rev-parse HEAD)
30+
31+
./autogen.sh
32+
33+
export AOPS_CFLAGS=$(pkg-config atomic_ops --cflags)
34+
export AOPS_LFLAGS=$(pkg-config atomic_ops --libs)
35+
36+
echo "AOPS_CFLAGS=${AOPS_CFLAGS}"
37+
echo "AOPS_LFLAGS=${AOPS_LFLAGS}"
38+
39+
CC=$CC CFLAGS="-Os -mtune=generic -fPIC ${AOPS_CFLAGS}" LDFLAGS="-Os -fPIC ${AOPS_LFLAGS}" ./configure \
40+
--disable-dependency-tracking \
41+
--disable-docs \
42+
--enable-static \
43+
--enable-shared=no \
44+
--enable-single-obj-compilation \
45+
--enable-gc-debug \
46+
--enable-large-config \
47+
--enable-cplusplus \
48+
--with-libatomic-ops=yes \
49+
--enable-sigrt-signals
50+
51+
make
52+
53+
popd
54+
55+
cp bdwgc/.libs/libgc.a $TCC_FOLDER/lib/libgc.a
56+
57+
date > $TCC_FOLDER/lib/libgc_build_on_date.txt
58+
echo $LIBGC_COMMIT_FULL_HASH > $TCC_FOLDER/lib/libgc_build_source_hash.txt
59+
uname -a > $TCC_FOLDER/lib/libgc_build_machine_uname.txt
60+
61+
ls -la $TCC_FOLDER/lib/libgc.a
62+
echo "Done compiling libgc, at commit $LIBGC_COMMIT , full hash: $LIBGC_COMMIT_FULL_HASH . The static library is in $TCC_FOLDER/lib/libgc.a "

0 commit comments

Comments
 (0)