34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
#!/bin/sh
|
|
MYPATH="`dirname \"$0\"`"
|
|
SYSROOT="`realpath \"$MYPATH/../sysroot\"`"
|
|
LLVMDIR="`realpath \"$MYPATH/../llvm-project\"`"
|
|
|
|
#libcxx needs this one trivial file to autodetect sendfile(2), which musl does support
|
|
mkdir -p "$SYSROOT/include/linux"
|
|
cp -n "/usr/include/linux/version.h" "$SYSROOT/include/linux"
|
|
|
|
rm -rf build2
|
|
mkdir build2
|
|
cd build2
|
|
export CFLAGS="-mcmodel=large -mstack-protector-guard=global -fno-use-cxa-atexit -no-pie -fno-pic -fno-pie"
|
|
export CXXFLAGS="-mcmodel=large -mstack-protector-guard=global -fno-use-cxa-atexit -no-pie -fno-pic -fno-pie"
|
|
cmake \
|
|
-DCMAKE_C_COMPILER="$SYSROOT/bin/musl-gcc" \
|
|
-DCMAKE_CXX_COMPILER="$SYSROOT/bin/musl-gcc" \
|
|
-DLIBCXX_ENABLE_SHARED=OFF \
|
|
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \
|
|
-DLIBCXX_CXX_ABI="libcxxabi" \
|
|
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LLVMDIR/libcxxabi/include" \
|
|
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
|
|
-DLIBCXX_ENABLE_EXCEPTIONS=ON \
|
|
-DLIBCXX_ENABLE_RTTI=ON \
|
|
-DLIBCXX_HAS_MUSL_LIBC=ON \
|
|
-DLIBCXX_USE_COMPILER_RT=ON \
|
|
-DLIBCXX_INCLUDE_TESTS=OFF \
|
|
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
|
|
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=OFF \
|
|
-DCMAKE_INSTALL_PREFIX="$SYSROOT" \
|
|
-DCMAKE_AR="/usr/bin/gcc-ar" \
|
|
-DCMAKE_RANLIB="/usr/bin/gcc-ranlib" \
|
|
../../llvm-project/libcxx
|