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
This commit is contained in:
Pau Espin 2019-10-24 15:41:32 +02:00
parent 8fac511a6e
commit ea2afb21d6
2 changed files with 18 additions and 11 deletions

View File

@ -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)

View File

@ -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"