1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-17 16:09:43 +03:00

Use CMake in dist.sh

This commit is contained in:
Rui Ueyama 2022-08-08 17:11:32 +08:00
parent eab4f663bf
commit 0c1c48c3b2
3 changed files with 15 additions and 7 deletions

View File

@ -47,6 +47,13 @@ if(MOLD_USE_TSAN)
target_link_options(mold PRIVATE -fsanitize=thread)
endif()
# Static link libstdc++ and libcrypto if MOLD_MOSTLY_STATIC=On
option(MOLD_MOSTLY_STATIC "Statically link libstdc++ and libcrypto" OFF)
if(MOLD_MOSTLY_STATIC)
add_link_options(-static-libstdc++)
target_link_libraries(mold PRIVATE libcrypto.a)
endif()
# Setup zlib
find_package(ZLIB QUIET)
if(ZLIB_FOUND)
@ -115,7 +122,7 @@ if(NOT MSVC)
endif()
endif()
if(NOT APPLE)
if(NOT APPLE AND NOT MOLD_MOSTLY_STATIC)
find_package(OpenSSL REQUIRED COMPONENTS Crypto)
target_link_libraries(mold PRIVATE OpenSSL::Crypto)
endif()

View File

@ -20,4 +20,5 @@ RUN apt-get update && \
cd openssl && \
./Configure --prefix=/usr/local && \
make -j$(nproc) && \
make -j$(nproc) install
make -j$(nproc) install && \
wget -O- -q https://github.com/Kitware/CMake/releases/download/v3.24.0/cmake-3.24.0-linux-x86_64.tar.gz | tar -C /usr/local --strip-components=1 -xzf -

10
dist.sh
View File

@ -25,11 +25,11 @@ image=rui314/mold-builder:v1-$arch
docker images -q $image 2> /dev/null || docker pull $image
docker run -it --rm -v "$(pwd):/mold:Z" -u "$(id -u):$(id -g)" $image \
bash -c "cp -r /mold /tmp/mold &&
cd /tmp/mold &&
make clean &&
make -j\$(nproc) CXX=clang++-15 CXXFLAGS='-O2 $CXXFLAGS' LDFLAGS='-static-libstdc++ /openssl/libcrypto.a' NEEDS_LIBCRYPTO=0 LTO=${LTO:-0} &&
make install PREFIX=/ DESTDIR=$dest &&
bash -c "mkdir /tmp/build &&
cd /tmp/build &&
cmake -DCMAKE_CXX_COMPILER=clang++-15 -DMOLD_MOSTLY_STATIC=On -DCMAKE_BUILD_TYPE=Release /mold &&
cmake --build . -j\$(nproc)
cmake --install . --prefix $dest --strip
tar czf /mold/$dest.tar.gz $dest &&
cp mold /mold &&
cp mold-wrapper.so /mold"