dnl Process this file with autoconf to produce a configure script AC_INIT([layer23], [0.0.0]) AM_INIT_AUTOMAKE CFLAGS="$CFLAGS -std=gnu11" dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) dnl checks for programs AC_PROG_MAKE_SET AC_PROG_CC AC_PROG_INSTALL AC_PROG_RANLIB AC_ARG_ENABLE(sanitize, [AS_HELP_STRING([--enable-sanitize], [Compile with address sanitizer enabled], )], [sanitize=$enableval], [sanitize="no"]) if test x"$sanitize" = x"yes" then CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" fi AC_ARG_ENABLE(werror, [AS_HELP_STRING( [--enable-werror], [Turn all compiler warnings into errors, with exceptions: a) deprecation (allow upstream to mark deprecation without breaking builds); b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) ] )], [werror=$enableval], [werror="no"]) if test x"$werror" = x"yes" then WERROR_FLAGS="-Werror" WERROR_FLAGS+=" -Werror=implicit-int -Werror=int-conversion -Werror=old-style-definition" WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" CFLAGS="$CFLAGS $WERROR_FLAGS" CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" fi dnl checks for libraries PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.5.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.10.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm) PKG_CHECK_MODULES(LIBOSMOISDN, libosmoisdn) PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec) PKG_CHECK_MODULES(LIBOSMOGPRSRLCMAC, libosmo-gprs-rlcmac) PKG_CHECK_MODULES(LIBOSMOGPRSLLC, libosmo-gprs-llc) PKG_CHECK_MODULES(LIBOSMOGPRSSNDCP, libosmo-gprs-sndcp) PKG_CHECK_MODULES(LIBOSMOGPRSGMM, libosmo-gprs-gmm) PKG_CHECK_MODULES(LIBOSMOGPRSSM, libosmo-gprs-sm) AC_CHECK_LIB(gps, gps_waiting, LIBGPS_CFLAGS=" -D_HAVE_GPSD" LIBGPS_LIBS=" -lgps ",,) AC_SUBST([LIBGPS_CFLAGS]) AC_SUBST([LIBGPS_LIBS]) dnl optional dependencies AC_ARG_WITH([lua53], [ AS_HELP_STRING([--with-lua53], [Enable LUA scripting support @<:@default=check@:>@]) ]) AC_ARG_WITH([gapk_io], [ AS_HELP_STRING([--with-gapk-io], [Enable GAPK I/O support @<:@default=check@:>@]) ]) found_lua53=no AS_IF([test "x$with_lua53" != "xno"], [ PKG_CHECK_MODULES(LIBLUA, lua53, [found_lua53=yes], [found_lua53=no]) AS_IF([test "x$with_lua53" = "xyes" -a "x$found_lua53" = "xno"], [ AC_MSG_ERROR([lua53 support requested but pkg-config is unable to find it]) ]) ]) AM_CONDITIONAL([BUILD_LUA], test "x$found_lua53" = "xyes") found_gapk=no AS_IF([test "x$with_gapk_io" != "xno"], [ PKG_CHECK_MODULES(LIBOSMOGAPK, libosmogapk, [found_gapk=yes], [found_gapk=no]) AS_IF([test "x$with_gapk_io" = "xyes" -a "x$found_gapk" = "xno"], [ AC_MSG_ERROR([GAPK I/O support requested but pkg-config is unable to find it]) ]) ]) AM_CONDITIONAL([BUILD_GAPK], test "x$found_gapk" = "xyes") dnl checks for header files AC_HEADER_STDC dnl Checks for typedefs, structures and compiler characteristics AC_MSG_RESULT([CFLAGS="$CFLAGS"]) AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) dnl Generate the output AM_CONFIG_HEADER(config.h) AC_OUTPUT( src/Makefile src/common/Makefile src/misc/Makefile src/mobile/Makefile src/modem/Makefile include/Makefile include/osmocom/Makefile include/osmocom/bb/Makefile include/osmocom/bb/common/Makefile include/osmocom/bb/misc/Makefile include/osmocom/bb/mobile/Makefile include/osmocom/bb/modem/Makefile Makefile)