blob: b11730baffd9260d2f597de935a7050ec690dc0e [file] [log] [blame]
jjako52c62342003-01-28 21:58:05 +00001# Process this file with autoconf to produce a configure script.
Harald Welteac0b4f12015-11-20 10:34:17 +01002AC_INIT(openggsn, 0.92, laforge@gnumonks.org)
jjako52c62342003-01-28 21:58:05 +00003AC_CONFIG_SRCDIR([gtp/gtp.c])
4AM_CONFIG_HEADER([config.h])
5#AC_CONFIG_HEADER([config.h])
jjako52c24142002-12-16 13:33:51 +00006
jjako77edc822004-09-10 17:19:31 +00007AC_CANONICAL_SYSTEM
8
Harald Weltebdca4b72011-11-02 13:11:56 +01009dnl kernel style compile messages
10m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
11
jjako52c62342003-01-28 21:58:05 +000012# Checks for programs.
jjako52c24142002-12-16 13:33:51 +000013AC_PROG_CC
14AC_PROG_INSTALL
jjako52c62342003-01-28 21:58:05 +000015AC_PROG_AWK
16AC_PROG_CPP
17AC_PROG_CXX
Holger Hans Peter Freythere071e302012-11-02 10:00:10 +010018LT_INIT
jjako52c24142002-12-16 13:33:51 +000019
Emmanuel Bretelle2a103682010-09-07 17:01:20 +020020AC_CONFIG_MACRO_DIR([m4])
21AC_CONFIG_LIBOBJ_DIR([lib])
jjako52c62342003-01-28 21:58:05 +000022
jjakoc13c9df2003-07-07 15:15:38 +000023AC_ARG_ENABLE(static-exec,
24 [ --enable-static-exec Enable static linking of executables],
25 [ EXEC_LDFLAGS="-all-static"])
26
27AC_SUBST(EXEC_LDFLAGS)
jjako52c24142002-12-16 13:33:51 +000028
jjakoe31b2402004-12-30 23:07:42 +000029
jjako77edc822004-09-10 17:19:31 +000030case "${host}" in
jjakoe31b2402004-12-30 23:07:42 +000031 i*86-*-linux-gnu*)
Holger Hans Peter Freyther0aa17872012-11-06 14:10:17 +010032 EXEC_LDADD="" ;;
jjako77edc822004-09-10 17:19:31 +000033 *solaris*)
jjakoe31b2402004-12-30 23:07:42 +000034 EXEC_LDADD="-lresolv -lsocket -lnsl" ;;
jjako77edc822004-09-10 17:19:31 +000035esac
36
jjakoe31b2402004-12-30 23:07:42 +000037AC_SUBST(EXEC_LDADD)
jjako77edc822004-09-10 17:19:31 +000038
jjako77edc822004-09-10 17:19:31 +000039
jjako52c62342003-01-28 21:58:05 +000040# Checks for libraries.
41# FIXME: Replace `main' with a function in `-le':
jjakoc13c9df2003-07-07 15:15:38 +000042#AC_CHECK_LIB([e], [main])
jjako52c62342003-01-28 21:58:05 +000043# FIXME: Replace `main' with a function in `-lgtp':
jjakoc13c9df2003-07-07 15:15:38 +000044#AC_CHECK_LIB([gtp], [main])
jjako52c62342003-01-28 21:58:05 +000045# FIXME: Replace `main' with a function in `-links':
jjakoc13c9df2003-07-07 15:15:38 +000046#AC_CHECK_LIB([inks], [main])
jjako52c62342003-01-28 21:58:05 +000047
Pablo Neira Ayuso466da992016-05-10 19:08:29 +020048dnl GTP Linux kernel dependencies
49AC_ARG_ENABLE([gtp-linux],
50 AS_HELP_STRING([--enable-gtp-linux], [Build GTP tunneling Linux kernel]),
51 [enable_gtp_linux="$enableval"], [enable_gtp_linux="no"])
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010052
Pablo Neira Ayuso466da992016-05-10 19:08:29 +020053AS_IF([test "x$enable_gtp_linux" = "xyes"], [
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010054 PKG_CHECK_MODULES([LIBGTPNL], [libgtpnl >= 1.0.0])
Andreas Schultzc80680a2015-11-17 12:22:44 +010055])
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010056
Pablo Neira Ayuso466da992016-05-10 19:08:29 +020057AM_CONDITIONAL([ENABLE_GTP_KERNEL], [test "$enable_gtp_linux" = "yes"])
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010058
jjako52c62342003-01-28 21:58:05 +000059# Checks for header files.
jjako52c24142002-12-16 13:33:51 +000060AC_HEADER_STDC
61AC_HEADER_SYS_WAIT
Holger Hans Peter Freyther9c7fd8e2014-12-04 16:32:37 +010062AC_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])
jjako52c24142002-12-16 13:33:51 +000063
jjako77edc822004-09-10 17:19:31 +000064# Check for if header
65AC_CHECK_HEADERS([linux/if.h net/if.h])
66
67# Check for tun header
68AC_CHECK_HEADERS([linux/if_tun.h net/if_tun.h])
69
70# Check for netlink and rtnetlink headers
71AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h])
72
73
jjako52c62342003-01-28 21:58:05 +000074# Checks for typedefs, structures, and compiler characteristics.
jjako52c24142002-12-16 13:33:51 +000075AC_C_CONST
jjako52c62342003-01-28 21:58:05 +000076AC_TYPE_MODE_T
jjako52c24142002-12-16 13:33:51 +000077AC_TYPE_SIZE_T
78AC_HEADER_TIME
79
jjako77edc822004-09-10 17:19:31 +000080# check for ifaliasreq
81AC_MSG_CHECKING(whether struct ifaliasreq exist)
82AH_TEMPLATE(HAVE_IFALIASREQ)
83AC_EGREP_HEADER(ifaliasreq, net/if.h,
84[AC_MSG_RESULT(yes)
85 AC_DEFINE([HAVE_IFALIASREQ])],
86 AC_MSG_RESULT(no))
87
88# check for ifreq.ifru_netmask
89AC_MSG_CHECKING(whether struct ifreq.ifru_netmask exist)
90AH_TEMPLATE(HAVE_IFREQ_IFRU_NETMASK)
91AC_EGREP_HEADER(ifru_netmask, linux/if.h,
92[AC_MSG_RESULT(yes)
93 AC_DEFINE([HAVE_IFREQ_IFRU_NETMASK])],
94 AC_MSG_RESULT(no))
95
96
97# check for rt_msghdr
98AC_MSG_CHECKING(whether struct rt_msghdr exist)
99AH_TEMPLATE(HAVE_RT_MSGHDR)
100AC_EGREP_HEADER(rt_msghdr, net/route.h,
101[AC_MSG_RESULT(yes)
102 AC_DEFINE([HAVE_RT_MSGHDR])],
103 AC_MSG_RESULT(no))
104
105
jjako52c62342003-01-28 21:58:05 +0000106# Checks for library functions.
jjako52c24142002-12-16 13:33:51 +0000107AC_PROG_GCC_TRADITIONAL
jjakoacba8e62005-03-14 21:53:10 +0000108# AC_FUNC_MALLOC
jjako1d3db972004-01-16 09:56:56 +0000109# AC_FUNC_MEMCMP
jjako52c62342003-01-28 21:58:05 +0000110AC_CHECK_FUNCS([gethostbyname inet_ntoa memset select socket strdup strerror strtol])
jjako1d3db972004-01-16 09:56:56 +0000111AC_CHECK_FUNCS(inet_aton inet_addr, break)
112
113# check for getopt in standard library
114adl_FUNC_GETOPT_LONG
jjako52c24142002-12-16 13:33:51 +0000115
jjako52c62342003-01-28 21:58:05 +0000116AM_INIT_AUTOMAKE()
jjako52c24142002-12-16 13:33:51 +0000117
Holger Hans Peter Freytherca524ef2014-12-03 19:59:15 +0100118PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.6.4)
119PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.3.0)
Max727417d2016-08-02 17:10:38 +0200120PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl)
Holger Hans Peter Freytherca524ef2014-12-03 19:59:15 +0100121
jjako52c62342003-01-28 21:58:05 +0000122AC_CONFIG_FILES([Makefile
123 doc/Makefile
124 ggsn/Makefile
125 gtp/Makefile
Harald Welte6fc42402011-05-10 17:44:39 +0200126 lib/Makefile
jjako52c62342003-01-28 21:58:05 +0000127 intl/Makefile
128 po/Makefile
129 sgsnemu/Makefile
jjakoc13c9df2003-07-07 15:15:38 +0000130 tests/Makefile
Sylvain Munautca36f292011-10-18 13:15:29 +0200131 libgtp.pc
jjakoc13c9df2003-07-07 15:15:38 +0000132 openggsn.spec])
jjako52c62342003-01-28 21:58:05 +0000133AC_OUTPUT
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +0100134
135echo "
136openggsn Configuration:
Pablo Neira Ayuso466da992016-05-10 19:08:29 +0200137 GTP Linux kernel support: ${enable_gtp_linux}"