# Process this file with autoconf to produce a configure script. AC_INIT(openggsn, 0.92, laforge@gnumonks.org) AC_CONFIG_SRCDIR([gtp/gtp.c]) AM_CONFIG_HEADER([config.h]) #AC_CONFIG_HEADER([config.h]) AC_CANONICAL_SYSTEM dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_AWK AC_PROG_CPP AC_PROG_CXX LT_INIT AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_LIBOBJ_DIR([lib]) AC_ARG_ENABLE(static-exec, [ --enable-static-exec Enable static linking of executables], [ EXEC_LDFLAGS="-all-static"]) AC_SUBST(EXEC_LDFLAGS) case "${host}" in i*86-*-linux-gnu*) EXEC_LDADD="" ;; *solaris*) EXEC_LDADD="-lresolv -lsocket -lnsl" ;; esac AC_SUBST(EXEC_LDADD) # Checks for libraries. # FIXME: Replace `main' with a function in `-le': #AC_CHECK_LIB([e], [main]) # FIXME: Replace `main' with a function in `-lgtp': #AC_CHECK_LIB([gtp], [main]) # FIXME: Replace `main' with a function in `-links': #AC_CHECK_LIB([inks], [main]) # Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h]) # Check for if header AC_CHECK_HEADERS([linux/if.h net/if.h]) # Check for tun header AC_CHECK_HEADERS([linux/if_tun.h net/if_tun.h]) # Check for netlink and rtnetlink headers AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_MODE_T AC_TYPE_SIZE_T AC_HEADER_TIME # check for ifaliasreq AC_MSG_CHECKING(whether struct ifaliasreq exist) AH_TEMPLATE(HAVE_IFALIASREQ) AC_EGREP_HEADER(ifaliasreq, net/if.h, [AC_MSG_RESULT(yes) AC_DEFINE([HAVE_IFALIASREQ])], AC_MSG_RESULT(no)) # check for ifreq.ifru_netmask AC_MSG_CHECKING(whether struct ifreq.ifru_netmask exist) AH_TEMPLATE(HAVE_IFREQ_IFRU_NETMASK) AC_EGREP_HEADER(ifru_netmask, linux/if.h, [AC_MSG_RESULT(yes) AC_DEFINE([HAVE_IFREQ_IFRU_NETMASK])], AC_MSG_RESULT(no)) # check for rt_msghdr AC_MSG_CHECKING(whether struct rt_msghdr exist) AH_TEMPLATE(HAVE_RT_MSGHDR) AC_EGREP_HEADER(rt_msghdr, net/route.h, [AC_MSG_RESULT(yes) AC_DEFINE([HAVE_RT_MSGHDR])], AC_MSG_RESULT(no)) # Checks for library functions. AC_PROG_GCC_TRADITIONAL # AC_FUNC_MALLOC # AC_FUNC_MEMCMP AC_CHECK_FUNCS([gethostbyname inet_ntoa memset select socket strdup strerror strtol]) AC_CHECK_FUNCS(inet_aton inet_addr, break) # check for getopt in standard library adl_FUNC_GETOPT_LONG AM_INIT_AUTOMAKE() PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.6.4) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.3.0) AC_CONFIG_FILES([Makefile doc/Makefile ggsn/Makefile gtp/Makefile lib/Makefile intl/Makefile po/Makefile sgsnemu/Makefile tests/Makefile libgtp.pc openggsn.spec]) AC_OUTPUT