summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2022-09-11 12:48:33 +0200
committerToni Uhlig <matzeton@googlemail.com>2022-09-11 16:50:56 +0200
commit83409e5b79ab224372dd8486249c668b2998a0a4 (patch)
treeb7e66189368f9840ea6d8ca72d2c270a19868a38
parent3bc6627dcc7d473d724b4d5c3af9a02151de587b (diff)
Use CMake XCompile and collect host-triplet from ${CC}.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r--CMakeLists.txt12
-rwxr-xr-xscripts/get-and-build-libndpi.sh12
2 files changed, 10 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d9a0ccb61..cb4a0fd02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,8 +72,6 @@ else()
unset(NDPI_WITH_MAXMINDDB CACHE)
endif()
-set(CROSS_COMPILE_TRIPLET "" CACHE STRING "Host triplet used to enable cross compiling.")
-
add_executable(nDPId nDPId.c utils.c)
add_executable(nDPIsrvd nDPIsrvd.c utils.c)
add_executable(nDPId-test nDPId-test.c)
@@ -91,8 +89,7 @@ add_custom_command(
DEPENDS nDPId nDPIsrvd
)
-if(NOT CROSS_COMPILE_TRIPLET STREQUAL "")
- set(CMAKE_C_COMPILER_TARGET ${CROSS_COMPILE_TRIPLET})
+if(CMAKE_CROSSCOMPILING)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
@@ -190,12 +187,11 @@ if(BUILD_NDPI)
CONFIGURE_COMMAND env
CC=${CMAKE_C_COMPILER}
CXX=false
- AR=${CMAKE_C_COMPILER_AR}
- RANLIB=${CMAKE_C_COMPILER_RANLIB}
+ AR=${CMAKE_AR}
+ RANLIB=${CMAKE_RANLIB}
PKG_CONFIG=${PKG_CONFIG_EXECUTABLE}
CFLAGS=${CMAKE_C_FLAGS}
LDFLAGS=${CMAKE_MODULE_LINKER_FLAGS}
- CROSS_COMPILE_TRIPLET=${CROSS_COMPILE_TRIPLET}
ADDITIONAL_ARGS=${NDPI_ADDITIONAL_ARGS}
MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
DEST_INSTALL=${CMAKE_BINARY_DIR}/libnDPI
@@ -337,7 +333,7 @@ install(FILES schema/error_event_schema.json schema/daemon_event_schema.json
message(STATUS "--------------------------")
message(STATUS "nDPId GIT_VERSION........: ${GIT_VERSION}")
-message(STATUS "CROSS_COMPILE_TRIPLET....: ${CROSS_COMPILE_TRIPLET}")
+message(STATUS "Cross Compilation........: ${CMAKE_CROSSCOMPILING}")
message(STATUS "CMAKE_BUILD_TYPE.........: ${CMAKE_BUILD_TYPE}")
message(STATUS "CMAKE_C_FLAGS............: ${CMAKE_C_FLAGS}")
message(STATUS "NDPID_DEFS...............: ${NDPID_DEFS}")
diff --git a/scripts/get-and-build-libndpi.sh b/scripts/get-and-build-libndpi.sh
index 518ae820a..75158b43c 100755
--- a/scripts/get-and-build-libndpi.sh
+++ b/scripts/get-and-build-libndpi.sh
@@ -10,8 +10,13 @@ flock -x -n 42 || {
exit 1;
}
+if [ ! -z "${CC}" ]; then
+ HOST_TRIPLET="$(${CC} ${CFLAGS} -dumpmachine)"
+fi
+
cat <<EOF
------ environment variables ------
+HOST_TRIPLET=${HOST_TRIPLET}
CC=${CC:-}
CXX=${CXX:-}
AR=${AR:-}
@@ -19,7 +24,6 @@ RANLIB=${RANLIB:-}
PKG_CONFIG=${PKG_CONFIG:-}
CFLAGS=${CFLAGS:-}
LDFLAGS=${LDFLAGS:-}
-CROSS_COMPILE_TRIPLET=${CROSS_COMPILE_TRIPLET:-}
ADDITIONAL_ARGS=${ADDITIONAL_ARGS:-}
MAKE_PROGRAM=${MAKE_PROGRAM:-}
DEST_INSTALL=${DEST_INSTALL:-}
@@ -37,11 +41,7 @@ cd ./libnDPI
test -r Makefile && make distclean
DEST_INSTALL="${DEST_INSTALL:-$(realpath ./install)}"
MAKE_PROGRAM="${MAKE_PROGRAM:-make -j4}"
-if [ ! -z "${CROSS_COMPILE_TRIPLET}" ]; then
- HOST_ARG="--host=${CROSS_COMPILE_TRIPLET}"
-else
- HOST_ARG=""
-fi
+HOST_ARG="--host=${HOST_TRIPLET}"
./autogen.sh --enable-option-checking=fatal \
--prefix="${DEST_INSTALL}" --exec-prefix="${DEST_INSTALL}" \
--includedir="${DEST_INSTALL}/include" --libdir="${DEST_INSTALL}/lib" \