Compiler test scripts: added clang
This commit is contained in:
@@ -113,7 +113,7 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
|||||||
set(GENERAL_FLAGS "${GENERAL_FLAGS} -mfix-cortex-a53-835769")
|
set(GENERAL_FLAGS "${GENERAL_FLAGS} -mfix-cortex-a53-835769")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WARNING_FLAGS "-Wall -Wextra -Wno-unused-function -Wno-undefined-internal -Wno-nan-infinity-disabled -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror")
|
set(WARNING_FLAGS "-Wall -Wextra -Wno-unused-function -Wno-undefined-internal -Wno-unknown-warning-option -Wno-nan-infinity-disabled -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror")
|
||||||
|
|
||||||
if (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20))
|
if (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20))
|
||||||
set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-error=cpp")
|
set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-error=cpp")
|
||||||
|
|||||||
@@ -15,3 +15,8 @@ for i in 8 9 10 11 12 13 14 15;
|
|||||||
do
|
do
|
||||||
gcc/build.sh $1 $i
|
gcc/build.sh $1 $i
|
||||||
done
|
done
|
||||||
|
|
||||||
|
for i in 17 18 19 20;
|
||||||
|
do
|
||||||
|
clang/build.sh $1 $i
|
||||||
|
done
|
||||||
|
|||||||
4
scripts/compiler_tests/clang/Dockerfile
Normal file
4
scripts/compiler_tests/clang/Dockerfile
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM p2pool_compiler_tests_ubuntu
|
||||||
|
ARG P2POOL_VERSION GCC_VERSION
|
||||||
|
ADD test.sh /p2pool/
|
||||||
|
RUN /p2pool/test.sh ${P2POOL_VERSION} ${GCC_VERSION}
|
||||||
13
scripts/compiler_tests/clang/build.sh
Executable file
13
scripts/compiler_tests/clang/build.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Example usage: ./build.sh v4.8.1 20
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
docker build --build-arg P2POOL_VERSION=$1 --build-arg GCC_VERSION=$2 -t p2pool_compiler_test_clang_$2 .
|
||||||
|
|
||||||
|
docker create --name p2pool_compiler_test_clang_$2_container p2pool_compiler_test_clang_$2:latest
|
||||||
|
docker cp p2pool_compiler_test_clang_$2_container:/p2pool/logs.tar.gz clang_$2_logs.tar.gz
|
||||||
|
docker rm p2pool_compiler_test_clang_$2_container
|
||||||
|
|
||||||
|
docker image rm -f p2pool_compiler_test_clang_$2
|
||||||
24
scripts/compiler_tests/clang/test.sh
Executable file
24
scripts/compiler_tests/clang/test.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd /p2pool
|
||||||
|
git fetch --jobs=$(nproc)
|
||||||
|
git checkout $1
|
||||||
|
git submodule update --recursive --jobs $(nproc)
|
||||||
|
|
||||||
|
COMPILER="-DCMAKE_C_COMPILER=clang-$2 -DCMAKE_CXX_COMPILER=clang++-$2"
|
||||||
|
|
||||||
|
cd /p2pool
|
||||||
|
mkdir build && cd build
|
||||||
|
|
||||||
|
cmake .. -DCMAKE_BUILD_TYPE=Release $COMPILER 1>> /p2pool/output.log 2>&1
|
||||||
|
make -j$(nproc) p2pool 1>> /p2pool/output.log 2>&1
|
||||||
|
./p2pool --test 1>> /p2pool/output.log 2>&1
|
||||||
|
|
||||||
|
cd ../tests
|
||||||
|
mkdir build && cd build
|
||||||
|
cmake .. -DCMAKE_BUILD_TYPE=Release $COMPILER 1>> /p2pool/output.log 2>&1
|
||||||
|
make -j$(nproc) p2pool_tests 1>> /p2pool/output.log 2>&1
|
||||||
|
gunzip *.gz
|
||||||
|
./p2pool_tests 1>> /p2pool/output.log 2>&1
|
||||||
|
|
||||||
|
tar -czvf /p2pool/logs.tar.gz /p2pool/output.log
|
||||||
@@ -7,7 +7,7 @@ cd "$(dirname "$0")"
|
|||||||
docker build --build-arg P2POOL_VERSION=$1 --build-arg GCC_VERSION=$2 -t p2pool_compiler_test_gcc_$2 .
|
docker build --build-arg P2POOL_VERSION=$1 --build-arg GCC_VERSION=$2 -t p2pool_compiler_test_gcc_$2 .
|
||||||
|
|
||||||
docker create --name p2pool_compiler_test_gcc_$2_container p2pool_compiler_test_gcc_$2:latest
|
docker create --name p2pool_compiler_test_gcc_$2_container p2pool_compiler_test_gcc_$2:latest
|
||||||
docker cp p2pool_compiler_test_gcc_$2_container:/p2pool/logs.tar.gz logs_$2.tar.gz
|
docker cp p2pool_compiler_test_gcc_$2_container:/p2pool/logs.tar.gz gcc_$2_logs.tar.gz
|
||||||
docker rm p2pool_compiler_test_gcc_$2_container
|
docker rm p2pool_compiler_test_gcc_$2_container
|
||||||
|
|
||||||
docker image rm -f p2pool_compiler_test_gcc_$2
|
docker image rm -f p2pool_compiler_test_gcc_$2
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ echo "Installing prerequisites"
|
|||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
apt-get update && apt-get upgrade -yq --no-install-recommends
|
apt-get update && apt-get upgrade -yq --no-install-recommends
|
||||||
apt-get install -yq --no-install-recommends ca-certificates curl bzip2 flex git gcc g++ cmake make libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev
|
apt-get install -yq --no-install-recommends ca-certificates curl bzip2 flex lsb-release wget software-properties-common gnupg git gcc g++ cmake make libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev
|
||||||
|
|
||||||
echo "Installing GCC 8.5.0"
|
echo "Installing GCC 8.5.0"
|
||||||
|
|
||||||
@@ -120,6 +120,18 @@ mkdir build && cd build
|
|||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
make install
|
make install
|
||||||
|
|
||||||
|
echo "Installing clang"
|
||||||
|
|
||||||
|
cd /root
|
||||||
|
|
||||||
|
curl -L -O https://apt.llvm.org/llvm.sh
|
||||||
|
chmod +x llvm.sh
|
||||||
|
|
||||||
|
for i in 17 18 19 20;
|
||||||
|
do
|
||||||
|
./llvm.sh $i
|
||||||
|
done
|
||||||
|
|
||||||
echo "Cloning the repository"
|
echo "Cloning the repository"
|
||||||
|
|
||||||
cd /
|
cd /
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
|||||||
set(GENERAL_FLAGS "-pthread")
|
set(GENERAL_FLAGS "-pthread")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal")
|
set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal -Wno-nan-infinity-disabled -Wno-unknown-warning-option")
|
||||||
|
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
set(OPTIMIZATION_FLAGS "-O0 -g3")
|
set(OPTIMIZATION_FLAGS "-O0 -g3")
|
||||||
|
|||||||
Reference in New Issue
Block a user