osmocom-bb/src/host/layer23/configure.ac

112 lines
3.4 KiB
Plaintext

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