aboutsummaryrefslogtreecommitdiff
path: root/configure.seed
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-08-18 12:34:16 +0300
committerGitHub <noreply@github.com>2021-08-18 11:34:16 +0200
commit8d0c7b1faeed1e3df6e6f90658559f373bbf63fb (patch)
tree8ef500067f538f23652986c7b844f299a0e92ef3 /configure.seed
parent677b513f70ade895ef28be744245803238100489 (diff)
Fixed Mingw64 build, SonerCloud-CI and more. (#1273)
* Added ARM build and unit test run for SonarCloud-CI. Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Fixed Mingw64 build. * adapted to SonarCloud-CI workflow * removed broken and incomplete Windows example (tested on VS2017/VS2019) * removed unnecessary include (e.g. pthread.h for the library which does not make use of it) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'configure.seed')
-rw-r--r--configure.seed62
1 files changed, 40 insertions, 22 deletions
diff --git a/configure.seed b/configure.seed
index be8a2708c..2effc8acb 100644
--- a/configure.seed
+++ b/configure.seed
@@ -15,12 +15,6 @@ AS_IF([test "${with_only_libndpi+set}" = set],[
GNU_PREFIX=""
-AC_ARG_WITH(mipsel, AS_HELP_STRING([--with-mipsel], [Build only libndpi (no examples, tests etc) for mipsel]))
-AS_IF([test "${with_mipsel+set}" = set],[
- EXTRA_TARGETS=""
- GNU_PREFIX="mipsel-linux-gnu-"
-])
-
AC_ARG_WITH(sanitizer, AS_HELP_STRING([--with-sanitizer], [Build with support for address, undefined and leak sanitizer]))
AC_ARG_ENABLE(fuzztargets, AS_HELP_STRING([--enable-fuzztargets], [Enable fuzz targets]),[enable_fuzztargets=$enableval],[enable_fuzztargets=no])
AS_IF([test "x$enable_fuzztargets" = "xyes"], [BUILD_FUZZTARGETS=1], [BUILD_FUZZTARGETS=0])
@@ -33,6 +27,7 @@ AS_IF([test "${with_sanitizer+set}" = set],[
LT_INIT
LT_LIB_M
+PKG_PROG_PKG_CONFIG
SYSTEM=`uname -s`
if test $SYSTEM = "Darwin"; then
@@ -47,7 +42,6 @@ dnl> AC_PROG_CC
AC_PROG_CC_STDC
fi
AC_LANG_WERROR
-AX_PTHREAD
NDPI_VERSION_SHORT="@NDPI_VERSION_SHORT@"
NDPI_MAJOR="@NDPI_MAJOR@"
@@ -88,15 +82,28 @@ NDPI_API_VERSION=`echo $NDPI_API_VERSION | sed 's/^0*//'`
AC_DEFINE_UNQUOTED(NDPI_GIT_RELEASE, "${GIT_RELEASE}", [GIT Release])
AC_DEFINE_UNQUOTED(NDPI_GIT_DATE, "${GIT_DATE}", [Last GIT change])
-if ! test "${with_mipsel+set}" = set && ! test "${with_only_libndpi+set}" = set; then :
- dnl> used by json-c for unit tests
- PKG_CHECK_MODULES([JSONC], [json-c], [JSONC_LIBS=`pkg-config --libs json-c` JSONC_CFLAGS=`pkg-config --cflags json-c`])
+if ! test "${with_only_libndpi+set}" = set; then :
+ dnl> used by json-c for unit tests
+ PKG_CHECK_MODULES([JSONC], [json-c], [JSONC_LIBS="${pkg_cv_JSONC_LIBS}" JSONC_CFLAGS="${pkg_cv_JSONC_CFLAGS}"])
+ AC_CHECK_LIB([json-c], [json_object_put], [], [
+ AC_MSG_WARN([JSON-C not available. Disabled unit test.])
+ JSONC_LIBS=""
+ JSONC_CFLAGS=""
+ EXTRA_TARGETS="example tests tests/dga"
+ ])
+ AX_PTHREAD([],[
+ AC_MSG_WARN([POSIX Threads not available. Building library only.])
+ JSONC_LIBS=""
+ JSONC_CFLAGS=""
+ EXTRA_TARGETS=""
+ ])
fi
LIBS="$LIBS $JSONC_LIBS"
CFLAGS="$CFLAGS $JSONC_CFLAGS"
-AC_CHECK_HEADERS([netinet/in.h stdint.h stdlib.h string.h unistd.h json.h])
+AC_CHECK_HEADERS([netinet/in.h stdint.h stdlib.h string.h unistd.h math.h float.h])
+AC_CHECK_LIB([m], [sqrt], [], [LIBM="-lm"])
ADDITIONAL_LIBS="$LIBM"
PCAP_HOME=$HOME/PF_RING/userland
@@ -135,7 +142,19 @@ fi
case "$host" in
*-*-mingw32*|*-*-msys)
- CFLAGS="${CFLAGS} -DOS_WIN32"
+ PCAP_INC=""
+ PCAP_LIB=""
+ case "$host" in
+ x86_64-*)
+ BUILD_MINGW_X64=1
+ ;;
+ i686-*)
+ ;;
+ *)
+ AC_MSG_ERROR([Unsupported MingW cross compiler.])
+ ;;
+ esac
+ CFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS} -lws2_32 -lucrtbase"
BUILD_MINGW=1
;;
@@ -144,19 +163,18 @@ case "$host" in
echo "Using libpcap from $PCAP_HOME"
PCAP_INC="-I $PCAP_HOME/libpcap"
PCAP_LIB="$PCAP_HOME/libpcap/libpcap.a $PCAP_HOME/lib/libpfring.a $LIBNUMA `$PCAP_HOME/lib/pfring_config --libs`"
- AC_CHECK_LIB([rt], [clock_gettime], [PCAP_LIB="$PCAP_LIB -lrt"])
+ AC_CHECK_LIB([rt], [clock_gettime], [PCAP_LIB="$PCAP_LIB -lrt"])
AC_CHECK_LIB([nl], [nl_handle_alloc], [PCAP_LIB="$PCAP_LIB -lnl"])
# The dlopen() function is in libdl on GLIBC-based systems
# and in the C library for *BSD systems
- AC_CHECK_LIB([dl], [dlopen, dlsym], [DL_LIB="-ldl"],[AC_CHECK_LIB([c], [dlopen, dlsym], [DL_LIB="-lc"],[AC_MSG_ERROR([unable to find the dlopen(), dlsym() functions]) ]) ])
- else
+ AC_CHECK_LIB([dl], [dlopen, dlsym], [DL_LIB="-ldl"],[AC_CHECK_LIB([c],
+ [dlopen, dlsym], [DL_LIB="-lc"],
+ [AC_MSG_ERROR([unable to find the dlopen(), dlsym() functions]) ]) ])
+ elif test "${with_only_libndpi+set}" != set; then :
AC_CHECK_LIB([pcap], [pcap_open_live], [PCAP_LIB="-lpcap"])
- if test $ac_cv_lib_pcap_pcap_open_live = "no"; then :
- echo ""
- echo "ERROR: Missing libpcap(-dev) library required to compile the example application"
- echo "ERROR: Please install it and try again"
- exit
- fi
+ if test $ac_cv_lib_pcap_pcap_open_live = "no"; then :
+ AC_MSG_ERROR([Missing libpcap(-dev) library required to compile the example application.])
+ fi
fi
;;
esac
@@ -256,10 +274,10 @@ AC_SUBST(CUSTOM_NDPI)
AC_SUBST(NDPI_API_VERSION)
AC_SUBST(EXTRA_TARGETS)
AC_SUBST(BUILD_MINGW)
+AC_SUBST(BUILD_MINGW_X64)
AC_SUBST(BUILD_FUZZTARGETS)
AC_SUBST(JSONC_CFLAGS)
AC_SUBST(JSONC_LIBS)
AC_SUBST(GCRYPT_ENABLED)
AC_SUBST(GNU_PREFIX)
-AC_SUBST(FRAG_MAN_ENABLED)
AC_OUTPUT