aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
blob: e31a79e9d451c918c8cdceb1acc124a9d941ef6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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