OSDN Git Service

Port range check was implemented.
[ultramonkey-l7/ultramonkey-l7-v2.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 m4_define([UML7VERSION], 2.1.3)
5 m4_define([UML7PATCHLV], 0)
6 # For additional releasename (ex. m4_define([UML7RELSUFFIX], [rc1]) for rc1)
7 m4_define([UML7RELSUFFIX], [])
8
9 AC_PREREQ(2.59)
10 AC_INIT([ultramonkey-l7],
11         UML7VERSION[-]UML7PATCHLV[]UML7RELSUFFIX,
12         [ultramonkey-l7-develop@lists.sourceforge.jp])
13
14 ## set default value
15 #AC_PREFIX_DEFAULT(/usr)
16 #test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
17 #test "$localstatedir" = '${prefix}/var' && localstatedir=/var
18 #test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64'
19
20 AM_INIT_AUTOMAKE([foreign])
21 AC_CONFIG_SRCDIR([config.h.in])
22 AC_CONFIG_HEADER([config.h])
23
24 # Checks for programs.
25 AC_PROG_CXX
26 AC_PROG_CC
27 AC_PROG_LIBTOOL
28 AC_PROG_CPP
29 AC_PROG_INSTALL
30 AC_PROG_LN_S
31 AC_PROG_MAKE_SET
32 #AC_PROG_RANLIB
33
34 # Checks for libraries.
35 AM_PATH_GLIB_2_0(2.0.0,,
36         [AC_MSG_ERROR(Test for GLib failed.)],
37         gobject)
38 AC_CHECK_LIB(glib-2.0, g_list_append, :,
39         [AC_MSG_ERROR( l7vsd require GLib2.0 or later )])
40 AC_CHECK_LIB(dl, dlopen)
41 AC_LANG_PUSH([C++])
42 AC_CHECK_LIB([boost_regex], [main],,
43         [AC_MSG_ERROR(l7vsd requires boost, The Boost C++ Libraries.)])
44 AC_CHECK_LIB([log4cxx], [main],,
45         [AC_MSG_ERROR(l7vsd requires log4cxx library and header files.)])
46 AC_LANG_POP([C++])
47 # FIXME: Replace `main' with a function in `-lrt':
48 AC_CHECK_LIB([rt], [main])
49 #AC_CHECK_LIB(netsnmp, snmp_pdu_create, :,
50 #       [AC_MSG_ERROR( l7vsd require net-snmp library. )] )
51
52 # Checks for header files.
53 AC_HEADER_STDC
54 AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h])
55 AC_LANG_PUSH([C++])
56 AC_CHECK_HEADERS([boost/regex.hpp],,
57         [AC_MSG_ERROR(l7vsd requires boost, The Boost C++ Libraries.  Does your system have boost headers?  In many linux distro, boost-devel or boost-dev package will provides you the boost headers.)])
58 AC_CHECK_HEADERS([log4cxx/logger.h],,
59         [AC_MSG_ERROR(l7vsd requires log4cxx.  Does your system have log4cxx headers?)])
60 AC_LANG_POP([C++])
61
62 # Checks for typedefs, structures, and compiler characteristics.
63 AC_HEADER_STDBOOL
64 AC_C_CONST
65 AC_C_INLINE
66 AC_TYPE_MODE_T
67 AC_TYPE_SIZE_T
68 AC_HEADER_TIME
69 AC_STRUCT_TM
70
71 # Checks for library functions.
72 AC_REPLACE_FNMATCH
73 AC_PROG_GCC_TRADITIONAL
74 AC_FUNC_MALLOC
75 AC_FUNC_MEMCMP
76 AC_FUNC_MKTIME
77 AC_FUNC_REALLOC
78 AC_FUNC_STAT
79 AC_FUNC_STRFTIME
80 AC_FUNC_STRNLEN
81 AC_CHECK_FUNCS([clock_gettime gethostname gettimeofday inet_ntoa localtime_r memset select socket strdup strerror strrchr])
82
83 AC_ARG_WITH(
84   l7vs-moddir,
85   [  --with-l7vs-moddir=DIR  l7vs modules is to be installed in DIR.
86                              [default="${libdir}/l7vs"] ],
87   [  l7vs_moddir="$withval" ],
88 # XXX: Should be [  l7vs_moddir="${libdir}/${PACKAGE}" ]
89   [  l7vs_moddir="${libdir}/l7vs" ]
90 )
91
92 AC_ARG_WITH(
93   l7vs-logdir,
94   [  --with-l7vs-logdir=DIR  l7vs and l7vsadm logs are to be installed in DIR.
95                              [default="${localstatedir}/log/l7vs"] ],
96   [  l7vs_logdir="$withval" ],
97 # XXX: Should be [  l7vs_logdir="${localstatedir}/log/${PACKAGE}" ]
98   [  l7vs_logdir="${localstatedir}/log/l7vs" ]
99 )
100
101 AC_ARG_WITH(
102   l7vsadm-sockdir,
103   [  --with-l7vsadm-sockdir=DIR l7vsadm sockfile path.
104                              [default="${localstatedir}/run/l7vs"] ],
105   [  l7vsadm_sockdir="$withval" ],
106 # XXX: Should be [  l7vsadm_sockdir="${localstatedir}/run/${PACKAGE}" ]
107   [  l7vsadm_sockdir="${localstatedir}/run/l7vs" ]
108 )
109
110 AC_ARG_WITH(
111   l7vs-maxvs,
112   [  --with-l7vs-maxvs=NUM l7vsd virtual service max size in NUM.
113                              [default=64] ],
114   [  l7vs_maxvs="$withval" ],
115   [  l7vs_maxvs="64" ]
116 )
117
118 AC_SUBST(CC,g++)
119 AC_SUBST(uml7version, UML7VERSION)
120 AC_SUBST(uml7patchlv, UML7PATCHLV)
121 AC_SUBST(uml7relsuffix, UML7RELSUFFIX)
122 AC_SUBST(l7vs_moddir)
123 AC_SUBST(l7vs_logdir)
124 AC_SUBST(l7vsadm_sockdir)
125 AC_SUBST(l7vs_maxvs)
126 AC_SUBST(snmpagent_libs)
127
128 AC_CONFIG_FILES([Makefile
129                  conf/Makefile
130                  doc/Makefile
131                  doc/heartbeat-ra/Makefile
132                  init.d/Makefile
133                  l7directord/Makefile
134                  logger/Makefile
135                  man/Makefile
136                  module/Makefile
137                  module/protocol/Makefile
138                  module/schedule/Makefile
139                  parameter/Makefile
140                  snmpagent/Makefile
141                  src/Makefile
142                  ultramonkey-l7.spec])
143
144 AC_OUTPUT