Skip to content

Commit ccbd9a1

Browse files
ThomasDevoogdtedsiper
authored andcommitted
build: use the system provided c-ares if found
e.g. buildroot has logic to build c-ares, so if pkg_check_modules can find a suitable version, then use that one if -DFLB_PREFER_SYSTEM_LIB_CARES=Yes. Note that the CheckIncludeFiles include for wasm is added, since that was done by c-ares otherwise. Signed-off-by: Thomas Devoogdt <[email protected]>
1 parent 4b82c02 commit ccbd9a1

File tree

4 files changed

+32
-12
lines changed

4 files changed

+32
-12
lines changed

CMakeLists.txt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ option(FLB_RUN_LDCONFIG "Enable execution of ldconfig after installation" No)
204204
# Prefer system libraries if available
205205
option(FLB_PREFER_SYSTEM_LIBS "Prefer system libraries" No)
206206
option(FLB_PREFER_SYSTEM_LIB_BACKTRACE "Prefer the libbacktrace system library" ${FLB_PREFER_SYSTEM_LIBS})
207+
option(FLB_PREFER_SYSTEM_LIB_CARES "Prefer the libcares system library" ${FLB_PREFER_SYSTEM_LIBS})
207208
option(FLB_PREFER_SYSTEM_LIB_JEMALLOC "Prefer the libjemalloc system library" ${FLB_PREFER_SYSTEM_LIBS})
208209
option(FLB_PREFER_SYSTEM_LIB_LUAJIT "Prefer the libluajit system library" ${FLB_PREFER_SYSTEM_LIBS})
209210
option(FLB_PREFER_SYSTEM_LIB_NGHTTP2 "Prefer the libnghttp2 system library" ${FLB_PREFER_SYSTEM_LIBS})
@@ -504,16 +505,16 @@ else()
504505
endif()
505506

506507
# C-Ares (DNS library)
507-
FLB_OPTION(CARES_STATIC ON)
508-
FLB_OPTION(CARES_SHARED OFF)
509-
FLB_OPTION(CARES_INSTALL OFF)
510-
FLB_OPTION(CARES_BUILD_TESTS OFF)
511-
FLB_OPTION(CARES_BUILD_TOOLS OFF)
512-
if (FLB_SYSTEM_MACOS)
513-
# macOS SDK always has <arpa/nameser.h>.
514-
FLB_DEFINITION(CARES_HAVE_ARPA_NAMESER_H)
508+
if(FLB_PREFER_SYSTEM_LIB_CARES)
509+
find_package(PkgConfig)
510+
pkg_check_modules(LIBCARES libcares>=1.18.0)
511+
endif()
512+
if(LIBCARES_FOUND)
513+
include_directories(${LIBCARES_INCLUDE_DIRS})
514+
link_directories(${LIBCARES_LIBRARY_DIRS})
515+
else()
516+
include(cmake/cares.cmake)
515517
endif()
516-
add_subdirectory(${FLB_PATH_LIB_CARES})# EXCLUDE_FROM_ALL)
517518

518519
# Chunk I/O
519520
FLB_OPTION(CIO_LIB_STATIC ON)
@@ -609,6 +610,7 @@ if(FLB_WASM)
609610
_Atomic int a;
610611
return 0;
611612
}" FLB_HAVE_STDATOMIC_H)
613+
include(CheckIncludeFiles)
612614
check_include_files(stdatomic.h FLB_HAVE_STDATOMIC_H)
613615
if (FLB_HAVE_STDATOMIC_H)
614616
enable_language (ASM)

cmake/cares.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# cares cmake
2+
FLB_OPTION(CARES_STATIC ON)
3+
FLB_OPTION(CARES_SHARED OFF)
4+
FLB_OPTION(CARES_INSTALL OFF)
5+
FLB_OPTION(CARES_BUILD_TESTS OFF)
6+
FLB_OPTION(CARES_BUILD_TOOLS OFF)
7+
8+
if (FLB_SYSTEM_MACOS)
9+
# macOS SDK always has <arpa/nameser.h>.
10+
FLB_DEFINITION(CARES_HAVE_ARPA_NAMESER_H)
11+
endif()
12+
13+
include_directories(
14+
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_CARES}/include
15+
${CMAKE_CURRENT_BINARY_DIR}/${FLB_PATH_LIB_CARES}
16+
)
17+
18+
add_subdirectory(${FLB_PATH_LIB_CARES})# EXCLUDE_FROM_ALL)
19+
20+
set(LIBCARES_LIBRARIES "c-ares")

cmake/headers.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@ include_directories(
3232
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_SNAPPY}
3333
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_CMETRICS}/include
3434
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_CTRACES}/include
35-
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_CARES}/include
3635
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_RING_BUFFER}/lwrb/src/include
3736

38-
${CMAKE_CURRENT_BINARY_DIR}/${FLB_PATH_LIB_CARES}
3937
${CMAKE_CURRENT_BINARY_DIR}/${FLB_PATH_LIB_JANSSON}/include
4038
${CMAKE_CURRENT_BINARY_DIR}/lib/cmetrics
4139
${CMAKE_CURRENT_BINARY_DIR}/include

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ set(FLB_DEPS
385385
${FLB_PLUGINS}
386386
${FLB_PROXY_PLUGINS}
387387
${extra_libs}
388-
c-ares
388+
${LIBCARES_LIBRARIES}
389389
snappy-c
390390
lwrb
391391
${NGHTTP2_LIBRARIES}

0 commit comments

Comments
 (0)