mirror of
https://github.com/pi-hole/FTL.git
synced 2024-10-26 16:52:18 +02:00
Do not link libm dynamically when building the static musl binary
Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
@@ -12,6 +12,6 @@
|
||||
rm -rf cmake/ && \
|
||||
mkdir cmake && \
|
||||
cd cmake && \
|
||||
cmake "${1}" .. && \
|
||||
cmake ${1} .. && \
|
||||
cmake --build . -- GIT_BRANCH="${2}" GIT_TAG="${3}" CIRCLE_JOB="${4}" -j 4 && \
|
||||
mv pihole-FTL ../
|
||||
|
||||
@@ -13,7 +13,7 @@ version: 2
|
||||
command: |
|
||||
BRANCH=$([ -z "$CIRCLE_TAG" ] && echo "$CIRCLE_BRANCH" || echo "master")
|
||||
[[ $CIRCLE_JOB == *"qemu"* ]] && DOCKERIFNEEDED="docker run --rm -v $(pwd):/workspace -w /workspace pihole/ftl-build:arm-qemu "
|
||||
$DOCKERIFNEEDED bash .circleci/build-CI.sh "-DSTATIC=${STATIC}" "${BRANCH}" "${CIRCLE_TAG}" "${CIRCLE_JOB} -DLUA_READLINE=true"
|
||||
$DOCKERIFNEEDED bash .circleci/build-CI.sh "-DSTATIC=${STATIC} -DLUA_READLINE=true" "${BRANCH}" "${CIRCLE_TAG}" "${CIRCLE_JOB}"
|
||||
- run:
|
||||
name: "Binary checks"
|
||||
command: bash test/arch_test.sh
|
||||
|
||||
+5
-3
@@ -164,7 +164,11 @@ if(STATIC STREQUAL "true")
|
||||
set_target_properties(pihole-FTL PROPERTIES LINK_SEARCH_START_STATIC ON)
|
||||
set_target_properties(pihole-FTL PROPERTIES LINK_SEARCH_END_STATIC ON)
|
||||
target_link_libraries(pihole-FTL -static-libgcc -static -static-pie)
|
||||
else()
|
||||
find_library(LIBMATH m${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
target_link_libraries(pihole-FTL ${LIBMATH})
|
||||
endif()
|
||||
|
||||
target_compile_options(pihole-FTL PRIVATE ${EXTRAWARN})
|
||||
target_compile_definitions(pihole-FTL PRIVATE DNSMASQ_VERSION=\"${DNSMASQ_VERSION}\")
|
||||
target_include_directories(pihole-FTL PRIVATE ${PROJECT_SOURCE_DIR}/src)
|
||||
@@ -180,10 +184,8 @@ find_library(LIBHOGWEED libhogweed${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
find_library(LIBGMP libgmp${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
find_library(LIBNETTLE libnettle${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
find_library(LIBIDN libidn${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
# for LUA we need libdl (lookforfunc) and libm (linking libm and libdl statically is discouraged)
|
||||
find_library(LIBMATH m)
|
||||
|
||||
target_link_libraries(pihole-FTL rt Threads::Threads ${LIBHOGWEED} ${LIBGMP} ${LIBNETTLE} ${LIBIDN} ${LIBMATH})
|
||||
target_link_libraries(pihole-FTL rt Threads::Threads ${LIBHOGWEED} ${LIBGMP} ${LIBNETTLE} ${LIBIDN})
|
||||
|
||||
if(LUA_DL STREQUAL "true")
|
||||
find_library(LIBDL dl)
|
||||
|
||||
+6
-6
@@ -67,7 +67,7 @@ check_file() {
|
||||
if [[ "${CIRCLE_JOB}" == "x86_64" ]]; then
|
||||
|
||||
check_machine "ELF64" "Advanced Micro Devices X86-64"
|
||||
check_libs "[librt.so.1] [libpthread.so.0] [libc.so.6]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libpthread.so.0] [libc.so.6]"
|
||||
check_file "ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped"
|
||||
|
||||
elif [[ "${CIRCLE_JOB}" == "x86_64-musl" ]]; then
|
||||
@@ -79,19 +79,19 @@ elif [[ "${CIRCLE_JOB}" == "x86_64-musl" ]]; then
|
||||
elif [[ "${CIRCLE_JOB}" == "x86_32" ]]; then
|
||||
|
||||
check_machine "ELF32" "Intel 80386"
|
||||
check_libs "[librt.so.1] [libpthread.so.0] [libc.so.6]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libpthread.so.0] [libc.so.6]"
|
||||
check_file "ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, not stripped"
|
||||
|
||||
elif [[ "${CIRCLE_JOB}" == "aarch64" ]]; then
|
||||
|
||||
check_machine "ELF64" "AArch64"
|
||||
check_libs "[librt.so.1] [libpthread.so.0] [libc.so.6] [ld-linux-aarch64.so.1]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libpthread.so.0] [libc.so.6] [ld-linux-aarch64.so.1]"
|
||||
check_file "ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, not stripped"
|
||||
|
||||
elif [[ "${CIRCLE_JOB}" == "arm" ]]; then
|
||||
|
||||
check_machine "ELF32" "ARM"
|
||||
check_libs "[librt.so.1] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux-armhf.so.3]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux-armhf.so.3]"
|
||||
check_file "ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, not stripped"
|
||||
|
||||
check_CPU_arch "v6"
|
||||
@@ -100,7 +100,7 @@ elif [[ "${CIRCLE_JOB}" == "arm" ]]; then
|
||||
elif [[ "${CIRCLE_JOB}" == "armhf" ]]; then
|
||||
|
||||
check_machine "ELF32" "ARM"
|
||||
check_libs "[librt.so.1] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux-armhf.so.3]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux-armhf.so.3]"
|
||||
check_file "ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, not stripped"
|
||||
|
||||
check_CPU_arch "v7"
|
||||
@@ -109,7 +109,7 @@ elif [[ "${CIRCLE_JOB}" == "armhf" ]]; then
|
||||
elif [[ "${CIRCLE_JOB}" == "arm-qemu" ]]; then
|
||||
|
||||
check_machine "ELF32" "ARM"
|
||||
check_libs "[librt.so.1] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux.so.3]"
|
||||
check_libs "[librt.so.1] [libm.so.6] [libgcc_s.so.1] [libpthread.so.0] [libc.so.6] [ld-linux.so.3]"
|
||||
check_file "ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, not stripped"
|
||||
|
||||
check_CPU_arch "v6"
|
||||
|
||||
Reference in New Issue
Block a user