aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorAlexander Huemer <alexander.huemer@xx.vu>2015-11-06 20:58:59 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-11-07 12:39:32 +0100
commite740e812815683985bf8a7d6525fee4747b85c93 (patch)
tree8aeeb5e32d31fee3008e34f0d4efb8eb618bcae0 /configure.ac
parent2ea010a1ed65f578bd593d2cae8b4afc781e6497 (diff)
configure.in -> configure.ac
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac121
1 files changed, 121 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..e31a79e
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,121 @@
+# Process this file with autoconf to produce a configure script.
+AC_INIT(openggsn, 0.91, 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