OSDN Git Service

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