diff options
author | Toni <matzeton@googlemail.com> | 2021-08-18 12:34:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-18 11:34:16 +0200 |
commit | 8d0c7b1faeed1e3df6e6f90658559f373bbf63fb (patch) | |
tree | 8ef500067f538f23652986c7b844f299a0e92ef3 /configure.seed | |
parent | 677b513f70ade895ef28be744245803238100489 (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.seed | 62 |
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 |