51 lines
1.7 KiB
Bash
51 lines
1.7 KiB
Bash
|
#!/store/2b2-busybox/bin/ash
|
||
|
|
||
|
#> FETCH 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e
|
||
|
#> FROM https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2
|
||
|
|
||
|
set -uex
|
||
|
|
||
|
export PATH='/store/2b2-busybox/bin'
|
||
|
export PATH="$PATH:/store/2b1-clang/bin"
|
||
|
export PATH="$PATH:/store/2b3-gnumake/bin"
|
||
|
export LD_LIBRARY_PATH=/store/2b1-clang/lib
|
||
|
|
||
|
mkdir -p /tmp/3a-boost; cd /tmp/3a-boost
|
||
|
if [ -e /ccache/setup ]; then . /ccache/setup; fi
|
||
|
|
||
|
echo "### $0: aliasing ash to sh..."
|
||
|
mkdir aliases; ln -s /store/2b2-busybox/bin/ash aliases/sh
|
||
|
export PATH="/tmp/3a-boost/aliases:$PATH"
|
||
|
|
||
|
echo "### $0: unpacking Boost sources..."
|
||
|
tar --strip-components=1 -xf /downloads/boost_1_83_0.tar.bz2
|
||
|
|
||
|
echo "### $0: patching up Boost sources..."
|
||
|
sed -i 's|/bin/sh|/store/2b2-busybox/bin/ash|' \
|
||
|
bootstrap.sh
|
||
|
sed -i 's|/usr/bin/env sh|/store/2b2-busybox/bin/ash|' \
|
||
|
tools/build/src/engine/build.sh
|
||
|
sed -i 's|/bin/sh|sh|' \
|
||
|
tools/build/src/engine/execunix.cpp \
|
||
|
boost/process/detail/posix/shell_path.hpp
|
||
|
EXTRA_INCL='/tmp/3a-boost/extra_includes'
|
||
|
mkdir -p $EXTRA_INCL
|
||
|
cp /store/2b1-clang/lib/clang/17/include/*intrin*.h $EXTRA_INCL/
|
||
|
cp /store/2b1-clang/lib/clang/17/include/mm_malloc.h $EXTRA_INCL/
|
||
|
cp /store/2b1-clang/lib/clang/17/include/unwind.h $EXTRA_INCL/
|
||
|
|
||
|
echo "### $0: building Boost..."
|
||
|
ash bootstrap.sh
|
||
|
./b2 -j $NPROC \
|
||
|
include=/store/2a6-linux-headers/include \
|
||
|
include=$EXTRA_INCL \
|
||
|
include=/store/2b1-clang/include/x86_64-unknown-linux-musl/c++/v1 \
|
||
|
--with-context --with-thread --with-system
|
||
|
|
||
|
echo "### $0: installing Boost..."
|
||
|
./b2 install --prefix=/store/3a-boost \
|
||
|
--with-context --with-thread --with-system
|
||
|
|
||
|
echo "### $0: checking for build path leaks..."
|
||
|
( ! grep -rF /tmp/3a /store/3a-boost )
|