From 3702459924a4bcb184891a3ce82ede57d530e2c1 Mon Sep 17 00:00:00 2001 From: Masanori Ogino Date: Tue, 12 Mar 2019 10:04:18 +0900 Subject: [PATCH] Check if libresolv exists. GNU libc and Solaris libc provide the stub resolver APIs in -lresolv, but other platforms (FreeBSD, for instance) provide them in -lc. Signed-off-by: Masanori Ogino --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bf30449f6..a6fb8f63e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ IF (OPENSSL_FOUND AND NOT (OPENSSL_VERSION VERSION_LESS "1.0.1")) ADD_LIBRARY(picotls-openssl lib/openssl.c) TARGET_LINK_LIBRARIES(picotls-openssl ${OPENSSL_LIBRARIES} picotls-core ${CMAKE_DL_LIBS}) ADD_EXECUTABLE(cli t/cli.c lib/pembase64.c) - TARGET_LINK_LIBRARIES(cli picotls-openssl picotls-core resolv) + TARGET_LINK_LIBRARIES(cli picotls-openssl picotls-core) ADD_EXECUTABLE(picotls-esni src/esni.c) TARGET_LINK_LIBRARIES(picotls-esni picotls-openssl picotls-core ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS}) ADD_EXECUTABLE(test-openssl.t ${MINICRYPTO_LIBRARY_FILES} lib/cifra.c lib/uecc.c lib/asn1.c lib/pembase64.c lib/ffx.c deps/picotest/picotest.c t/picotls.c t/openssl.c) @@ -71,6 +71,11 @@ ELSEIF ("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS") TARGET_LINK_LIBRARIES(cli "socket" "nsl") ENDIF () +FIND_LIBRARY(LIBC_RESOLV_LIB "resolv") +IF (LIBC_RESOLV_LIB) + TARGET_LINK_LIBRARIES(cli ${LIBC_RESOLV_LIB}) +ENDIF () + IF (BUILD_FUZZER) IF (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang") MESSAGE(FATAL ERROR "The fuzzer needs clang as a compiler")