Skip to content

Commit 999e9b8

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

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ option(FLB_HTTP_CLIENT_DEBUG "Enable HTTP Client debug callbacks" No)
178178
# Run ldconfig on package post-install
179179
option(FLB_RUN_LDCONFIG "Enable execution of ldconfig after installation" No)
180180

181+
# Prefer system libraries if available
182+
option(FLB_PREFER_SYSTEM_LIBS "Prefer system libraries" No)
183+
option(FLB_PREFER_SYSTEM_LIB_LUAJIT "Prefer the libluajit system library" ${FLB_PREFER_SYSTEM_LIBS})
184+
181185
# Enable all features
182186
if(FLB_ALL)
183187
# Global
@@ -940,7 +944,16 @@ endif()
940944
# LuaJIT (Scripting Support)
941945
# ==========================
942946
if(FLB_LUAJIT)
943-
include(cmake/luajit.cmake)
947+
if(FLB_PREFER_SYSTEM_LIB_LUAJIT)
948+
find_package(PkgConfig)
949+
pkg_check_modules(LUAJIT luajit>=2.1.0)
950+
endif()
951+
if(LUAJIT_FOUND)
952+
include_directories(${LUAJIT_INCLUDE_DIRS})
953+
link_directories(${LUAJIT_LIBRARY_DIRS})
954+
else()
955+
include(cmake/luajit.cmake)
956+
endif()
944957
FLB_DEFINITION(FLB_HAVE_LUAJIT)
945958
endif()
946959

cmake/headers.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ include_directories(
2222
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_CHUNKIO}/include
2323
${CMAKE_CURRENT_BINARY_DIR}/lib/chunkio/include
2424

25-
# LuaJIT
26-
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_LUAJIT}/src
27-
${CMAKE_CURRENT_BINARY_DIR}/lib/luajit-cmake
28-
2925
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_MONKEY}/include
3026
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_MONKEY}/include/monkey
3127
${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_MBEDTLS}/include

cmake/luajit.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,9 @@
22
option(LUAJIT_DIR "Path of LuaJIT 2.1 source dir" ON)
33
option(LUAJIT_SETUP_INCLUDE_DIR "Setup include dir if parent is present" OFF)
44
set(LUAJIT_DIR ${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_LUAJIT})
5+
include_directories(
6+
${LUAJIT_DIR}/src
7+
${CMAKE_CURRENT_BINARY_DIR}/lib/luajit-cmake
8+
)
59
add_subdirectory("lib/luajit-cmake")
10+
set(LUAJIT_LIBRARIES "libluajit")

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ endif()
223223
if(FLB_LUAJIT)
224224
set(extra_libs
225225
${extra_libs}
226-
"libluajit")
226+
${LUAJIT_LIBRARIES})
227227
endif()
228228

229229
if(FLB_SQLDB)

0 commit comments

Comments
 (0)