All checks were successful
continuous-integration/drone/push Build is passing
reviewed-on: #9 Co-authored-by: light7734 <light7734@tuta.io> Co-committed-by: light7734 <light7734@tuta.io>
67 lines
2.3 KiB
Docker
67 lines
2.3 KiB
Docker
FROM archlinux:base-devel
|
|
|
|
RUN pacman -Syu --noconfirm && \
|
|
pacman -S --noconfirm \
|
|
bash \
|
|
base-devel \
|
|
clang \
|
|
llvm \
|
|
cmake \
|
|
git \
|
|
python \
|
|
python-pip \
|
|
mesa \
|
|
mold \
|
|
ninja \
|
|
zlib \
|
|
libunwind
|
|
|
|
RUN pip install --no-cache-dir --break-system-packages conan gitpython \
|
|
&& conan profile detect
|
|
|
|
RUN clang --version \
|
|
&& conan --version \
|
|
&& pip --version \
|
|
&& cmake --version \
|
|
&& g++ --version \
|
|
&& clang --version \
|
|
&& ninja --version \
|
|
&& mold --version
|
|
|
|
RUN git clone --depth=1 https://github.com/llvm/llvm-project.git -b llvmorg-20.1.8 \
|
|
&& cd llvm-project/ \
|
|
&& mkdir build/ \
|
|
&& cd build/ \
|
|
&& cmake \
|
|
-G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_LINKER_TYPE="MOLD" \
|
|
-DCMAKE_INSTALL_PREFIX=/libcxx_msan \
|
|
-DCMAKE_C_COMPILER=clang \
|
|
-DCMAKE_CXX_COMPILER=clang++ \
|
|
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
|
|
-DLLVM_ENABLE_PIC=ON \
|
|
-DLIBCXX_INSTALL_MODULES=ON \
|
|
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
|
|
-DLLVM_USE_SANITIZER=MemoryWithOrigins \
|
|
../runtimes \
|
|
&& ninja cxx cxxabi \
|
|
&& ninja -C . install-cxx install-cxxabi \
|
|
&& rm -r /llvm-project/
|
|
|
|
RUN git clone 'https://git.light7734.com/light7734/light.git' \
|
|
&& cd light \
|
|
&& conan install . \
|
|
-c tools.system.package_manager:mode=install \
|
|
-c tools.cmake.cmaketoolchain:generator=Ninja \
|
|
-c tools.build:cxxflags='["-g", "-fno-omit-frame-pointer", "-nostdinc++", "-isystem", "/libcxx_msan/include/c++/v1/", "-fsanitize=memory", "-fsanitize-memory-track-origins"]' \
|
|
-c tools.build:sharedlinkflags='["-L/libcxx_msan/lib", "-Wl,-rpath,/libcxx_msan/lib", "-lc++", "-lc++abi", "-fsanitize=memory", "-fsanitize-memory-track-origins"]' \
|
|
-c tools.build:exelinkflags='["-L/libcxx_msan/lib", "-Wl,-rpath,/libcxx_msan/lib", "-lc++", "-lc++abi", "-fsanitize=memory", "-fsanitize-memory-track-origins"]' \
|
|
-c tools.info.package_id:confs='["tools.build:cxxflags","tools.build:sharedlinkflags","tools.build:exelinkflags"]' \
|
|
-c tools.build:compiler_executables='{"c": "clang", "cpp": "clang++"}' \
|
|
-s build_type=Release \
|
|
-s compiler=clang \
|
|
-s compiler.version=20 \
|
|
-s compiler.libcxx=libc++ \
|
|
-o use_mold=True \
|
|
--build=missing
|