From ea2afb21d69f5227263f6b227edcb1e9cc5b0e54 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 24 Oct 2019 15:41:32 +0200 Subject: [PATCH] configure: Introduce --disable-libsctp and error by default if libsctp not found This way libosmocore build fails during configuring phase if expected default behavior (building with libsctp support enabled and providing osmo_sock_init2_multiaddr() API) fails. User is still provided with --disable-libsctp option in case he doesn't need those features or his environment doesn't provide required libsctp APIs. Change-Id: I710c9cb1c6da0e5fc94b792df8bf60194a72208f --- configure.ac | 28 +++++++++++++++++----------- contrib/jenkins_arm.sh | 1 + 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index 2f12d8612..6c54e666b 100644 --- a/configure.ac +++ b/configure.ac @@ -100,17 +100,6 @@ AC_SUBST(SYMBOL_VISIBILITY) AC_CHECK_FUNCS(clock_gettime localtime_r) -old_LIBS=$LIBS -AC_SEARCH_LIBS([sctp_bindx], [sctp], [ - AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) - AC_SUBST(HAVE_LIBSCTP, [1]) - if test -n "$ac_lib"; then - AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) - fi - ], [ - AC_MSG_WARN([sctp_bindx not found in searched libs])]) -LIBS=$old_LIBS - AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( [whether struct tm has tm_gmtoff member], @@ -171,6 +160,22 @@ then AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS as a fallback for missing getrandom()]) fi +AC_ARG_ENABLE([libsctp], [AS_HELP_STRING([--disable-libsctp], [Do not enable socket multiaddr APIs requiring libsctp])], + [ENABLE_LIBSCTP=$enableval], [ENABLE_LIBSCTP="yes"]) +AM_CONDITIONAL(ENABLE_LIBSCTP, test x"$ENABLE_LIBSCTP" = x"yes") +AS_IF([test "x$ENABLE_LIBSCTP" = "xyes"], [ + old_LIBS=$LIBS + AC_SEARCH_LIBS([sctp_bindx], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_ERROR([sctp_bindx not found in searched libs])]) + LIBS=$old_LIBS +]) + AC_ARG_ENABLE(plugin, [AS_HELP_STRING( [--disable-plugin], @@ -279,6 +284,7 @@ then AM_CONDITIONAL(ENABLE_UTILITIES, false) AM_CONDITIONAL(ENABLE_GB, false) AM_CONDITIONAL(ENABLE_GNUTLS, false) + AM_CONDITIONAL(ENABLE_LIBSCTP, false) AM_CONDITIONAL(ENABLE_PCSC, false) AM_CONDITIONAL(ENABLE_PSEUDOTALLOC, true) AM_CONDITIONAL(ENABLE_SERCOM_STUB, true) diff --git a/contrib/jenkins_arm.sh b/contrib/jenkins_arm.sh index e3a6cd147..8ee90f033 100755 --- a/contrib/jenkins_arm.sh +++ b/contrib/jenkins_arm.sh @@ -18,6 +18,7 @@ build() { --enable-embedded \ --disable-doxygen \ --disable-shared \ + --disable-libsctp \ --enable-external-tests \ CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs $WERROR_FLAGS"