@@ -24,13 +24,14 @@ ln -f -s /usr/local/bin/lld /usr/bin/ld
2424
2525cd " $SRC "
2626
27- LLVM_VER= " 18 .1.8 "
27+ LIBCXX_LLVM_VER= " 19 .1.7 "
2828
29- wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_VER /llvm-project-$LLVM_VER .src.tar.xz
30- tar -xf llvm-project-$LLVM_VER .src.tar.xz llvm-project-$LLVM_VER .src/{runtimes,cmake,llvm/cmake,libcxx,libcxxabi}/
31- LIBCXX_BUILD=" $SRC /llvm-project-$LLVM_VER .build"
32- mkdir " $LIBCXX_BUILD "
33- cmake -S llvm-project-$LLVM_VER .src/runtimes/ -B " $LIBCXX_BUILD " \
29+ wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LIBCXX_LLVM_VER /llvm-project-$LIBCXX_LLVM_VER .src.tar.xz
30+ tar -xf llvm-project-$LIBCXX_LLVM_VER .src.tar.xz llvm-project-$LIBCXX_LLVM_VER .src/{runtimes,cmake,llvm/cmake,libcxx,libcxxabi}/
31+ LLVM_SOURCE=" $SRC /llvm-project-$LIBCXX_LLVM_VER .src"
32+
33+ LIBCXX_BUILD=" $WORK /llvm-project-$LIBCXX_LLVM_VER .libcxx.build"
34+ cmake -S " $LLVM_SOURCE /runtimes/" -B " $LIBCXX_BUILD " \
3435 -DCMAKE_BUILD_TYPE=Release \
3536 -DBUILD_SHARED_LIBS=OFF \
3637 -DLLVM_INCLUDE_TESTS=OFF \
@@ -45,6 +46,23 @@ cmake --build "$LIBCXX_BUILD" -- -j$(nproc) cxx cxxabi
4546
4647CXXFLAGS=" $CXXFLAGS -nostdinc++ -nostdlib++ -isystem $LIBCXX_BUILD /include -isystem $LIBCXX_BUILD /include/c++/v1 -L$LIBCXX_BUILD /lib -lc++ -lc++abi"
4748
49+ LIBOMP_LLVM_VER=" 20.1.5"
50+
51+ wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LIBOMP_LLVM_VER /llvm-project-$LIBOMP_LLVM_VER .src.tar.xz
52+ tar -xf llvm-project-$LIBOMP_LLVM_VER .src.tar.xz llvm-project-$LIBOMP_LLVM_VER .src/{runtimes,cmake,llvm/cmake,openmp}/
53+ LLVM_SOURCE=" $SRC /llvm-project-$LIBOMP_LLVM_VER .src"
54+
55+ OPENMP_BUILD=" $WORK /llvm-project-$LIBOMP_LLVM_VER .omp.build"
56+ cmake -S " $LLVM_SOURCE /openmp/" -B " $OPENMP_BUILD " \
57+ -DCMAKE_BUILD_TYPE=Release \
58+ -DBUILD_SHARED_LIBS=OFF \
59+ -DLIBOMP_ENABLE_SHARED=OFF \
60+ -DOPENMP_ENABLE_LIBOMPTARGET=OFF \
61+ -DLIBOMP_CXXFLAGS=" -fno-sanitize=undefined,integer"
62+ cmake --build " $OPENMP_BUILD " -- -j$( nproc) omp
63+
64+ CXXFLAGS=" $CXXFLAGS -isystem $OPENMP_BUILD /runtime/src -L$OPENMP_BUILD /runtime/src"
65+
4866if [[ $SANITIZER = * undefined* ]]; then
4967 CFLAGS=" $CFLAGS -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
5068 CXXFLAGS=" $CXXFLAGS -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
@@ -55,21 +73,19 @@ if [[ $SANITIZER = *memory* ]]; then
5573 WITH_OPENMP=OFF
5674fi
5775
58- cd " $WORK "
59- mkdir build
60- cd build
76+ RAWSPEED_SOURCE=" $SRC /librawspeed/"
77+ RAWSPEED_BUILD=" $WORK /rawspeed"
6178
62- cmake \
79+ cmake -S " $RAWSPEED_SOURCE " -B " $RAWSPEED_BUILD " \
6380 -DBINARY_PACKAGE_BUILD=ON -DWITH_OPENMP=$WITH_OPENMP \
64- -DUSE_BUNDLED_LLVMOPENMP=ON -DALLOW_DOWNLOADING_LLVMOPENMP=ON \
6581 -DWITH_PUGIXML=OFF -DUSE_XMLLINT=OFF -DWITH_JPEG=OFF -DWITH_ZLIB=OFF \
6682 -DBUILD_TESTING=OFF -DBUILD_TOOLS=OFF -DBUILD_BENCHMARKING=OFF \
6783 -DCMAKE_BUILD_TYPE=FUZZ -DBUILD_FUZZERS=ON \
6884 -DLIB_FUZZING_ENGINE:STRING=" $LIB_FUZZING_ENGINE " \
69- -DCMAKE_INSTALL_PREFIX:PATH=" $OUT " -DCMAKE_INSTALL_BINDIR:PATH=" $OUT " \
70- " $SRC /librawspeed/"
85+ -DCMAKE_INSTALL_PREFIX:PATH=" $OUT " -DCMAKE_INSTALL_BINDIR:PATH=" $OUT "
7186
72- cmake --build . -- -j$( nproc) all && cmake --build . -- -j$( nproc) install
87+ cmake --build " $RAWSPEED_BUILD " -- -j$( nproc) all && cmake --build " $RAWSPEED_BUILD " -- -j$( nproc) install
7388
74- du -hcs .
75- du -hcs " $OUT "
89+ du -hcs " $SRC " /* \
90+ " $WORK " /* \
91+ " $OUT "
0 commit comments