blob: 6f633d8c7e89149708432c27882d09c96d8fe059 [file] [log] [blame]
jjako52c62342003-01-28 21:58:05 +00001# Process this file with autoconf to produce a configure script.
Harald Welte76f044d2010-08-24 11:19:36 +02002AC_INIT(openggsn, 0.91, 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
48# Checks for header files.
jjako52c24142002-12-16 13:33:51 +000049AC_HEADER_STDC
50AC_HEADER_SYS_WAIT
jjako52c62342003-01-28 21:58:05 +000051AC_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 syslog.h unistd.h])
jjako52c24142002-12-16 13:33:51 +000052
jjako77edc822004-09-10 17:19:31 +000053# Check for if header
54AC_CHECK_HEADERS([linux/if.h net/if.h])
55
56# Check for tun header
57AC_CHECK_HEADERS([linux/if_tun.h net/if_tun.h])
58
59# Check for netlink and rtnetlink headers
60AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h])
61
62
jjako52c62342003-01-28 21:58:05 +000063# Checks for typedefs, structures, and compiler characteristics.
jjako52c24142002-12-16 13:33:51 +000064AC_C_CONST
jjako52c62342003-01-28 21:58:05 +000065AC_TYPE_MODE_T
jjako52c24142002-12-16 13:33:51 +000066AC_TYPE_SIZE_T
67AC_HEADER_TIME
68
jjako77edc822004-09-10 17:19:31 +000069# check for ifaliasreq
70AC_MSG_CHECKING(whether struct ifaliasreq exist)
71AH_TEMPLATE(HAVE_IFALIASREQ)
72AC_EGREP_HEADER(ifaliasreq, net/if.h,
73[AC_MSG_RESULT(yes)
74 AC_DEFINE([HAVE_IFALIASREQ])],
75 AC_MSG_RESULT(no))
76
77# check for ifreq.ifru_netmask
78AC_MSG_CHECKING(whether struct ifreq.ifru_netmask exist)
79AH_TEMPLATE(HAVE_IFREQ_IFRU_NETMASK)
80AC_EGREP_HEADER(ifru_netmask, linux/if.h,
81[AC_MSG_RESULT(yes)
82 AC_DEFINE([HAVE_IFREQ_IFRU_NETMASK])],
83 AC_MSG_RESULT(no))
84
85
86# check for rt_msghdr
87AC_MSG_CHECKING(whether struct rt_msghdr exist)
88AH_TEMPLATE(HAVE_RT_MSGHDR)
89AC_EGREP_HEADER(rt_msghdr, net/route.h,
90[AC_MSG_RESULT(yes)
91 AC_DEFINE([HAVE_RT_MSGHDR])],
92 AC_MSG_RESULT(no))
93
94
jjako52c62342003-01-28 21:58:05 +000095# Checks for library functions.
jjako52c24142002-12-16 13:33:51 +000096AC_PROG_GCC_TRADITIONAL
jjakoacba8e62005-03-14 21:53:10 +000097# AC_FUNC_MALLOC
jjako1d3db972004-01-16 09:56:56 +000098# AC_FUNC_MEMCMP
jjako52c62342003-01-28 21:58:05 +000099AC_CHECK_FUNCS([gethostbyname inet_ntoa memset select socket strdup strerror strtol])
jjako1d3db972004-01-16 09:56:56 +0000100AC_CHECK_FUNCS(inet_aton inet_addr, break)
101
102# check for getopt in standard library
103adl_FUNC_GETOPT_LONG
jjako52c24142002-12-16 13:33:51 +0000104
jjako52c62342003-01-28 21:58:05 +0000105AM_INIT_AUTOMAKE()
jjako52c24142002-12-16 13:33:51 +0000106
jjako52c62342003-01-28 21:58:05 +0000107AC_CONFIG_FILES([Makefile
108 doc/Makefile
109 ggsn/Makefile
110 gtp/Makefile
Harald Welte6fc42402011-05-10 17:44:39 +0200111 lib/Makefile
jjako52c62342003-01-28 21:58:05 +0000112 intl/Makefile
113 po/Makefile
114 sgsnemu/Makefile
115 src/Makefile
jjakoc13c9df2003-07-07 15:15:38 +0000116 tests/Makefile
Sylvain Munautca36f292011-10-18 13:15:29 +0200117 libgtp.pc
jjakoc13c9df2003-07-07 15:15:38 +0000118 openggsn.spec])
jjako52c62342003-01-28 21:58:05 +0000119AC_OUTPUT