Skip to content

Commit

Permalink
test(dockerfile: toolchain): simplify Dockerfile
Browse files Browse the repository at this point in the history
Signed-off-by: Alexandre Rulleau <[email protected]>
  • Loading branch information
Leiyks committed Nov 5, 2024
1 parent 9cf2e77 commit 8c8249e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 38 deletions.
3 changes: 1 addition & 2 deletions appsec/tests/integration/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -329,10 +329,9 @@ def buildAppSecTask = { String version, String variant ->
'''
git config --global --add safe.directory '*'
cd /appsec
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \\
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \\
-DCMAKE_INSTALL_PREFIX=/appsec \\
-DDD_APPSEC_ENABLE_PATCHELF_LIBC=ON \\
-DCMAKE_TOOLCHAIN_FILE=/build/Toolchain.cmake \\
-DDD_APPSEC_TESTING=ON /project/appsec
make -j extension ddappsec-helper && \\
touch ddappsec.so libddappsec-helper.so
Expand Down
38 changes: 2 additions & 36 deletions appsec/tests/integration/src/docker/toolchain/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,10 @@ COPY CHECKSUMS /CHECKSUMS
RUN echo "Building LLVM ${LLVM_VERSION} on ${ARCH}"

RUN apt-get update && apt-get install -y \
wget cmake binutils lld libncurses5-dev git patchelf xz-utils curl lsb-release wget software-properties-common gnupg
build-essential wget cmake binutils lld libncurses5-dev git patchelf xz-utils curl lsb-release wget software-properties-common gnupg

RUN wget https://apt.llvm.org/llvm.sh && \
chmod +x llvm.sh && \
./llvm.sh 16 all

RUN wget https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz && \
grep -F llvm-project-${LLVM_VERSION}.src.tar.xz /CHECKSUMS | sha512sum --check && \
tar -xvf llvm-project-${LLVM_VERSION}.src.tar.xz

COPY wchar.h.diff /wchar.h.diff
RUN patch /usr/include/wchar.h < /wchar.h.diff

RUN cd llvm-project-${LLVM_VERSION}.src && mkdir -p build && cd build && \
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_C_COMPILER=clang-16 \
-DCMAKE_C_FLAGS="-fno-omit-frame-pointer -D_LIBCPP_HAS_NO_C11_ALIGNED_ALLOC=1" \
-DCMAKE_CXX_COMPILER=clang++-16 \
-DCMAKE_CXX_FLAGS="-fno-omit-frame-pointer -D_LIBCPP_HAS_NO_C11_ALIGNED_ALLOC=1" \
-DLIBUNWIND_ENABLE_SHARED=OFF \
-DLIBUNWIND_ENABLE_STATIC=ON \
-DLIBUNWIND_USE_COMPILER_RT=ON \
-DLIBCXXABI_ENABLE_SHARED=ON \
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \
-DLIBCXXABI_USE_COMPILER_RT=ON \
-DLIBCXX_ENABLE_SHARED=OFF \
-DLIBCXX_HAS_MUSL_LIBC=ON \
-DLIBCXX_USE_COMPILER_RT=ON \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
-DLLVM_EXTERNAL_LIT=/usr/bin/lit ../runtimes && \
make -j$(nproc) install-unwind install

RUN cd /usr/lib && ln -s gcc/*/*/ resource_dir
RUN cd /usr/lib && ln -s clang/${LLVM_VERSION%%.*}/lib/linux/libclang_rt.builtins-*.a libclang_rt.builtins.a

RUN rm -rf /llvm-project-${LLVM_VERSION}.src
RUN rm -f llvm-project-${LLVM_VERSION}.src.tar.xz
RUN ln -s /usr/bin/cmake /usr/local/bin/cmake

0 comments on commit 8c8249e

Please sign in to comment.