Skip to content

Commit b16da33

Browse files
ThomasDevoogdtedsiper
authored andcommitted
build: use the system provided libnghttp2 if found
e.g. buildroot has logic to build libnghttp2, so if pkg_check_modules can find a suitable version, then use that one if -DFLB_PREFER_SYSTEM_LIB_NGHTTP2=Yes. Signed-off-by: Thomas Devoogdt <[email protected]>
1 parent 59ff5bc commit b16da33

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

CMakeLists.txt

Lines changed: 11 additions & 7 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_LUAJIT "Prefer the libluajit system library" ${FLB_PREFER_SYSTEM_LIBS})
207+
option(FLB_PREFER_SYSTEM_LIB_NGHTTP2 "Prefer the libnghttp2 system library" ${FLB_PREFER_SYSTEM_LIBS})
207208

208209
# Enable all features
209210
if(FLB_ALL)
@@ -489,13 +490,16 @@ add_subdirectory(${FLB_PATH_LIB_CMETRICS} EXCLUDE_FROM_ALL)
489490
add_subdirectory(${FLB_PATH_LIB_CTRACES} EXCLUDE_FROM_ALL)
490491

491492
# Nghttp2 options
492-
FLB_OPTION(ENABLE_LIB_ONLY ON)
493-
FLB_OPTION(ENABLE_STATIC_LIB ON)
494-
FLB_OPTION(ENABLE_SHARED_LIB OFF)
495-
496-
FLB_DEFINITION(NGHTTP2_STATICLIB)
497-
498-
add_subdirectory(${FLB_PATH_LIB_NGHTTP2} EXCLUDE_FROM_ALL)
493+
if(FLB_PREFER_SYSTEM_LIB_NGHTTP2)
494+
find_package(PkgConfig)
495+
pkg_check_modules(NGHTTP2 libnghttp2>=1.0.0)
496+
endif()
497+
if(NGHTTP2_FOUND)
498+
include_directories(${NGHTTP2_INCLUDE_DIRS})
499+
link_directories(${NGHTTP2_LIBRARY_DIRS})
500+
else()
501+
include(cmake/nghttp2.cmake)
502+
endif()
499503

500504
# C-Ares (DNS library)
501505
FLB_OPTION(CARES_STATIC ON)

cmake/headers.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ include_directories(
4242

4343
${CMAKE_CURRENT_BINARY_DIR}/lib/monkey/include/
4444
${CMAKE_CURRENT_BINARY_DIR}/lib/monkey/include/monkey/
45-
46-
${CMAKE_CURRENT_BINARY_DIR}/lib/nghttp2
47-
${CMAKE_CURRENT_BINARY_DIR}/lib/nghttp2/lib/includes/
48-
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_NGHTTP2}/lib/includes/
4945
)
5046

5147
if(FLB_IN_KAFKA OR FLB_OUT_KAFKA)

cmake/nghttp2.cmake

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# nghttp2 cmake
2+
FLB_OPTION(ENABLE_LIB_ONLY ON)
3+
FLB_OPTION(ENABLE_STATIC_LIB ON)
4+
FLB_OPTION(ENABLE_SHARED_LIB OFF)
5+
FLB_DEFINITION(NGHTTP2_STATICLIB)
6+
include_directories(
7+
${CMAKE_CURRENT_BINARY_DIR}/lib/nghttp2
8+
${CMAKE_CURRENT_BINARY_DIR}/lib/nghttp2/lib/includes/
9+
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_NGHTTP2}/lib/includes/
10+
)
11+
add_subdirectory(${FLB_PATH_LIB_NGHTTP2} EXCLUDE_FROM_ALL)
12+
set(NGHTTP2_LIBRARIES "nghttp2_static")

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ set(FLB_DEPS
388388
c-ares
389389
snappy-c
390390
lwrb
391-
nghttp2_static
391+
${NGHTTP2_LIBRARIES}
392392
)
393393

394394
if(OPENSSL_FOUND)

0 commit comments

Comments
 (0)