add elasticsearch output module
[rsyslog.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ(2.61)
5 AC_INIT([rsyslog],[5.8.7],[rsyslog@lists.adiscon.com])
6 AM_INIT_AUTOMAKE
7
8 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
9
10 AC_CONFIG_SRCDIR([ChangeLog])
11 AC_CONFIG_MACRO_DIR([m4])
12 AC_CONFIG_HEADERS([config.h])
13
14 AC_GNU_SOURCE
15
16 # check if valgrind is present
17 AC_CHECK_PROG(have_valgrind, [valgrind], [yes])
18 AM_CONDITIONAL(HAVE_VALGRIND, test x$have_valgrind = xyes)
19
20 # check for Java compiler
21 AC_CHECK_PROG(HAVE_JAVAC, [javac], [yes])
22 if test x"$HAVE_JAVAC" = x""; then
23         AC_MSG_WARN([no javac found, disabling features depending on it])
24 fi
25
26 # Checks for programs.
27 AC_PROG_CC
28 AM_PROG_CC_C_O
29 if test "$GCC" = "yes"
30 then CFLAGS="$CFLAGS -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -g"
31 fi
32 AC_DISABLE_STATIC
33 AC_PROG_LIBTOOL
34 AC_CANONICAL_HOST
35
36 PKG_PROG_PKG_CONFIG
37
38 case "${host}" in
39   *-*-linux*)
40     os_type="linux"
41   ;;
42   *-*-*darwin*|*-*-freebsd*|*-*-netbsd*|*-*-openbsd*)
43     AC_DEFINE([OS_BSD], [1], [Indicator for a BSD OS])
44     os_type="bsd"
45   ;;
46   *-*-kfreebsd*)
47     # kernel is FreeBSD, but userspace is glibc - i.e. like linux
48     # do not DEFINE OS_BSD
49     os_type="bsd"
50   ;;
51   *-*-solaris*)
52     os_type="solaris"
53     AC_DEFINE([OS_SOLARIS], [1], [Indicator for a Solaris OS])
54     AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], [1], [Use POSIX pthread semantics])
55     SOL_LIBS="-lsocket -lnsl"
56     AC_SUBST(SOL_LIBS)
57   ;;
58 esac
59
60 AC_DEFINE_UNQUOTED([HOSTENV], "$host", [the host environment, can be queried via a system variable])
61
62 # Checks for libraries.
63 save_LIBS=$LIBS
64 LIBS=
65 AC_SEARCH_LIBS(clock_gettime, rt)
66 RT_LIBS=$LIBS
67 LIBS=
68 AC_SEARCH_LIBS(dlopen, dl)
69 DL_LIBS=$LIBS
70 LIBS=$save_LIBS
71
72 AC_SUBST(RT_LIBS)
73 AC_SUBST(DL_LIBS)
74
75 # Checks for header files.
76 AC_HEADER_RESOLV
77 AC_HEADER_STDC
78 AC_HEADER_SYS_WAIT
79 AC_CHECK_HEADERS([arpa/inet.h libgen.h malloc.h fcntl.h locale.h netdb.h netinet/in.h paths.h stddef.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/stat.h syslog.h unistd.h utmp.h utmpx.h sys/epoll.h sys/prctl.h])
80
81 # Checks for typedefs, structures, and compiler characteristics.
82 AC_C_CONST
83 AC_C_INLINE
84 AC_TYPE_OFF_T
85 AC_TYPE_PID_T
86 AC_TYPE_SIZE_T
87 AC_TYPE_SSIZE_T
88 AC_TYPE_MODE_T
89 AC_TYPE_UID_T
90 AC_TYPE_UINT8_T
91 AC_HEADER_TIME
92 AC_STRUCT_TM
93 AC_C_VOLATILE
94 AC_C_TYPEOF
95
96 sa_includes="\
97 $ac_includes_default
98 #if HAVE_SYS_SOCKET_H
99 # include <sys/socket.h>
100 #endif
101 "
102 AC_CHECK_MEMBERS([struct sockaddr.sa_len],,,[$sa_includes])
103
104 # Checks for library functions.
105 AC_FUNC_CHOWN
106 AC_FUNC_FORK
107 AC_PROG_GCC_TRADITIONAL
108 AC_FUNC_MALLOC
109 AC_FUNC_REALLOC
110 AC_FUNC_SELECT_ARGTYPES
111 AC_TYPE_SIGNAL
112 AC_FUNC_STAT
113 AC_FUNC_STRERROR_R
114 AC_FUNC_VPRINTF
115 AC_CHECK_FUNCS([flock basename alarm clock_gettime gethostbyname gethostname gettimeofday localtime_r memset mkdir regcomp select setid socket strcasecmp strchr strdup strerror strndup strnlen strrchr strstr strtol strtoul uname ttyname_r getline malloc_trim prctl epoll_create epoll_create1 fdatasync lseek64])
116
117 # the check below is probably ugly. If someone knows how to do it in a better way, please
118 # let me know! -- rgerhards, 2010-10-06
119 AC_CHECK_DECL([SCM_CREDENTIALS], [AC_DEFINE(HAVE_SCM_CREDENTIALS, [1], [set define])], [], [#include <sys/types.h>
120 #include <sys/socket.h>])
121
122 # Check for MAXHOSTNAMELEN
123 AC_MSG_CHECKING(for MAXHOSTNAMELEN)
124 AC_TRY_COMPILE([
125         #include <sys/param.h>
126         ], [
127         return MAXHOSTNAMELEN;
128         ]
129         ,
130         AC_MSG_RESULT(yes)
131         ,
132         # note: we use 1024 here, which should be far more than needed by any system. If that's too low, we simply
133         # life with the need to change it. Most of the code doesn't need it anyways, but there are a few places 
134         # where it actually is needed and it makes no sense to change them.
135         AC_DEFINE(MAXHOSTNAMELEN, 1024, [Define with a value if your <sys/param.h> does not define MAXHOSTNAMELEN])
136         AC_MSG_RESULT(no; defined as 64)
137 )
138
139 # check for availability of atomic operations
140 RS_ATOMIC_OPERATIONS
141 RS_ATOMIC_OPERATIONS_64BIT
142
143 # fall back to POSIX sems for atomic operations (cpu expensive)
144 AC_CHECK_HEADERS([semaphore.h])
145
146
147 # Additional module directories
148 AC_ARG_WITH(moddirs,
149         [AS_HELP_STRING([--with-moddirs=DIRS],[Additional module search paths appended to @<:@$libdir/rsyslog@:>@])],
150         [_save_IFS=$IFS ; IFS=$PATH_SEPARATOR ; moddirs=""
151          for w in ${with_moddirs} ;
152          do
153                  case $w in
154                  "") continue ;; */) ;; *)  w="${w}/" ;;
155                  esac
156                  for m in ${moddirs} ;
157                  do
158                          test "x$w" = "x${libdir}/${PACKAGE}/"   || \
159                          test "x$w" = "x$m" || test "x$w" = "x/" && \
160                          continue 2
161                  done
162                  case $moddirs in
163                  "") moddirs="$w" ;; *) moddirs="${moddirs}:${w}" ;;
164                  esac
165          done ; IFS=$_save_IFS],[moddirs=""]
166 )
167 AM_CONDITIONAL(WITH_MODDIRS, test x$moddirs != x)
168 AC_SUBST(moddirs)
169
170
171 # Large file support
172 # http://www.gnu.org/software/autoconf/manual/html_node/System-Services.html#index-AC_005fSYS_005fLARGEFILE-1028
173 AC_SYS_LARGEFILE
174 case "${enable_largefile}" in
175   no) ;;
176   *) enable_largefile="yes" ;;
177 esac
178
179 # Regular expressions
180 AC_ARG_ENABLE(regexp,
181         [AS_HELP_STRING([--enable-regexp],[Enable regular expressions support @<:@default=yes@:>@])],
182         [case "${enableval}" in
183          yes) enable_regexp="yes" ;;
184           no) enable_regexp="no" ;;
185            *) AC_MSG_ERROR(bad value ${enableval} for --enable-regexp) ;;
186          esac],
187         [enable_regexp=yes]
188 )
189 AM_CONDITIONAL(ENABLE_REGEXP, test x$enable_regexp = xyes)
190 if test "$enable_regexp" = "yes"; then
191         AC_DEFINE(FEATURE_REGEXP, 1, [Regular expressions support enabled.])
192 fi
193
194
195
196 # zlib compression
197 AC_ARG_ENABLE(zlib,
198         [AS_HELP_STRING([--enable-zlib],[Enable zlib compression  support @<:@default=yes@:>@])],
199         [case "${enableval}" in
200          yes) enable_zlib="yes" ;;
201           no) enable_zlib="no" ;;
202            *) AC_MSG_ERROR(bad value ${enableval} for --enable-zlib) ;;
203          esac],
204         [enable_zlib=yes]
205 )
206 AM_CONDITIONAL(ENABLE_ZLIB, test x$enable_zlib = xyes)
207 if test "$enable_zlib" = "yes"; then
208         AC_CHECK_HEADER(zlib.h, [zlib_header="yes"], [zlib_header="no" enable_zlib="false"])
209         if test "$zlib_header" = "yes"; then
210                 AC_CHECK_LIB(z, deflate,
211                         [AC_DEFINE(USE_NETZIP, 1, [Define if you want to enable zlib support]) 
212                          ZLIB_LIBS="-lz"
213                          AC_SUBST(ZLIB_LIBS)], enable_zlib="false")
214         fi
215 fi
216
217
218 #gssapi
219 AC_ARG_ENABLE(gssapi_krb5,
220         [AS_HELP_STRING([--enable-gssapi-krb5],[Enable GSSAPI Kerberos 5 support @<:@default=no@:>@])],
221         [case "${enableval}" in
222          yes) enable_gssapi_krb5="yes" ;;
223           no) enable_gssapi_krb5="no" ;;
224            *) AC_MSG_ERROR(bad value ${enableval} for --enable-gssapi-krb5) ;;
225          esac],
226         [enable_gssapi_krb5=no]
227 )
228 if test $enable_gssapi_krb5 = yes; then
229         AC_CHECK_LIB(gssapi_krb5, gss_acquire_cred, [
230                 AC_CHECK_HEADER(gssapi/gssapi.h, [
231                         AC_DEFINE(USE_GSSAPI,,
232                                   Define if you want to use GSSAPI)
233                         GSS_LIBS="-lgssapi_krb5"
234                         AC_SUBST(GSS_LIBS)
235                 ])
236         ])
237 fi
238 AM_CONDITIONAL(ENABLE_GSSAPI, test x$enable_gssapi_krb5 = xyes)
239
240
241 # multithreading via pthreads
242 AC_ARG_ENABLE(pthreads,
243         [AS_HELP_STRING([--enable-pthreads],[Enable multithreading via pthreads @<:@default=yes@:>@])],
244         [case "${enableval}" in
245          yes) enable_pthreads="yes" ;;
246           no) enable_pthreads="no" ;;
247            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pthreads) ;;
248          esac],
249         [enable_pthreads=yes]
250 )
251
252 if test "x$enable_pthreads" = "xno"; then
253         AC_MSG_ERROR(rsyslog v3+ does no longer support single threading mode -- use a previous version for that);
254 fi
255
256 if test "x$enable_pthreads" != "xno"; then
257   AC_CHECK_HEADERS(
258     [pthread.h],
259     [
260       AC_CHECK_LIB(
261         [pthread],
262         [pthread_create],
263         [
264           AC_DEFINE([USE_PTHREADS], [1], [Multithreading support enabled.])
265           PTHREADS_LIBS="-lpthread"
266           case "${os_type}" in
267           solaris) PTHREADS_CFLAGS="-pthreads" ;;
268           *)       PTHREADS_CFLAGS="-pthread" ;;
269           esac
270           AC_SUBST(PTHREADS_LIBS)
271           AC_SUBST(PTHREADS_CFLAGS)
272         ],
273         [AC_MSG_FAILURE([pthread is missing])],
274         [-lpthread]
275       )
276     ],
277     [AC_MSG_FAILURE([pthread is missing])]
278   )
279 fi
280
281 AC_CHECK_FUNCS(
282     [pthread_setschedparam],
283     [
284       rsyslog_have_pthread_setschedparam=yes
285     ],
286     [
287       rsyslog_have_pthread_setschedparam=no
288     ]
289 )
290 AC_CHECK_HEADERS(
291     [sched.h],
292     [
293       rsyslog_have_sched_h=yes
294     ],
295     [
296       rsyslog_have_sched_h=no
297     ]
298 )
299 if test "$rsyslog_have_pthread_setschedparam" = "yes" -a "$rsyslog_have_sched_h" = "yes"; then
300         save_LIBS=$LIBS
301         LIBS=
302         AC_SEARCH_LIBS(sched_get_priority_max, rt)
303         if test "x$ac_cv_search" != "xno"; then
304                 AC_CHECK_FUNCS(sched_get_priority_max)
305         fi
306         IMUDP_LIBS=$LIBS
307         AC_SUBST(IMUDP_LIBS)
308         LIBS=$save_LIBS
309 fi
310
311
312 # klog
313 AC_ARG_ENABLE(klog,
314         [AS_HELP_STRING([--enable-klog],[Integrated klog functionality @<:@default=yes@:>@])],
315         [case "${enableval}" in
316          yes) enable_klog="yes" ;;
317           no) enable_klog="no" ;;
318            *) AC_MSG_ERROR(bad value ${enableval} for --enable-klog) ;;
319          esac],
320         [enable_klog="yes"]
321 )
322 AM_CONDITIONAL(ENABLE_IMKLOG, test x$enable_klog = xyes)
323 AM_CONDITIONAL(ENABLE_IMKLOG_BSD, test x$os_type = xbsd)
324 AM_CONDITIONAL(ENABLE_IMKLOG_LINUX, test x$os_type = xlinux)
325 AM_CONDITIONAL(ENABLE_IMKLOG_SOLARIS, test x$os_type = xsolaris)
326
327
328 #
329 # SYSLOG_UNIXAF
330 #
331 AC_MSG_CHECKING(for SYSLOG_UNIXAF support)
332 AC_ARG_ENABLE([unix],
333   [AS_HELP_STRING([--disable-unix], [Disable support for unix])],
334   [
335     if test "x${enableval}" = "xyes"; then
336       AC_MSG_RESULT([yes])
337       AC_DEFINE([SYSLOG_UNIXAF], [1], [Description])
338     else
339       AC_MSG_RESULT([no])
340     fi
341   ],
342   [
343     # enabled by default
344     AC_MSG_RESULT([yes])
345     AC_DEFINE([SYSLOG_UNIXAF], [1], [Description])
346   ])
347
348
349 # inet
350 AC_ARG_ENABLE(inet,
351         [AS_HELP_STRING([--enable-inet],[Enable networking support @<:@default=yes@:>@])],
352         [case "${enableval}" in
353          yes) enable_inet="yes" ;;
354           no) enable_inet="no" ;;
355            *) AC_MSG_ERROR(bad value ${enableval} for --enable-inet) ;;
356          esac],
357         [enable_inet="yes"]
358 )
359 AM_CONDITIONAL(ENABLE_INET, test x$enable_inet = xyes)
360 if test "$enable_inet" = "yes"; then
361         AC_DEFINE(SYSLOG_INET, 1, [network support is integrated.])
362 fi
363
364
365 #
366 # The following define determines whether the package adheres to the
367 # file system standard.
368 #
369 AC_MSG_CHECKING(for FSSTND support)
370 AC_ARG_ENABLE([fsstnd],
371   [AS_HELP_STRING([--disable-fsstnd], [Disable support for FSSTND])],
372   [
373     if test "x${enableval}" = "xyes"; then
374       AC_MSG_RESULT([yes])
375       AC_DEFINE([FSSTND], [1], [Description])
376     else
377       AC_MSG_RESULT([no])
378     fi
379   ],
380   [
381     # enabled by default
382     AC_MSG_RESULT([yes])
383     AC_DEFINE([FSSTND], [1], [Description])
384   ])
385
386
387 # support for unlimited select() syscall
388 AC_ARG_ENABLE(unlimited_select,
389         [AS_HELP_STRING([--enable-unlimited-select],[Enable unlimited select() syscall @<:@default=no@:>@])],
390         [case "${enableval}" in
391          yes) enable_unlimited_select="yes" ;;
392           no) enable_unlimited_select="no" ;;
393            *) AC_MSG_ERROR(bad value ${enableval} for --enable-unlimited-select) ;;
394          esac],
395         [enable_unlimited_select="no"]
396 )
397 if test "$enable_unlimited_select" = "yes"; then
398         AC_DEFINE(USE_UNLIMITED_SELECT, 1, [If defined, the select() syscall won't be limited to a particular number of file descriptors.])
399 fi
400
401
402 # support for systemd unit files
403 AC_ARG_WITH([systemdsystemunitdir],
404         AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
405         [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
406 if test "x$with_systemdsystemunitdir" != xno; then
407         AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
408 fi
409 AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
410
411
412 # debug
413 AC_ARG_ENABLE(debug,
414         [AS_HELP_STRING([--enable-debug],[Enable debug mode @<:@default=no@:>@])],
415         [case "${enableval}" in
416          yes) enable_debug="yes" ;;
417           no) enable_debug="no" ;;
418            *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
419          esac],
420         [enable_debug="no"]
421 )
422 if test "$enable_debug" = "yes"; then
423         AC_DEFINE(DEBUG, 1, [Defined if debug mode is enabled (its easier to check).])
424 fi
425 if test "$enable_debug" = "no"; then
426         AC_DEFINE(NDEBUG, 1, [Defined if debug mode is disabled.])
427 fi
428
429
430 # runtime instrumentation
431 AC_ARG_ENABLE(rtinst,
432         [AS_HELP_STRING([--enable-rtinst],[Enable runtime instrumentation mode @<:@default=no@:>@])],
433         [case "${enableval}" in
434          yes) enable_rtinst="yes" ;;
435           no) enable_rtinst="no" ;;
436            *) AC_MSG_ERROR(bad value ${enableval} for --enable-rtinst) ;;
437          esac],
438         [enable_rtinst="no"]
439 )
440 if test "$enable_rtinst" = "yes"; then
441         AC_DEFINE(RTINST, 1, [Defined if runtime instrumentation mode is enabled.])
442 fi
443
444
445 # valgrind
446 AC_ARG_ENABLE(valgrind,
447         [AS_HELP_STRING([--enable-valgrind],[Enable valgrind support settings @<:@default=no@:>@])],
448         [case "${enableval}" in
449          yes) enable_valgrind="yes" ;;
450           no) enable_valgrind="no" ;;
451            *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
452          esac],
453         [enable_valgrind="no"]
454 )
455 if test "$enable_valgrind" = "yes"; then
456         AC_DEFINE(VALGRIND, 1, [Defined if valgrind support settings are to be enabled (e.g. prevents dlclose()).])
457 fi
458
459
460 # memcheck
461 AC_ARG_ENABLE(memcheck,
462         [AS_HELP_STRING([--enable-memcheck],[Enable extended memory check support @<:@default=no@:>@])],
463         [case "${enableval}" in
464          yes) enable_memcheck="yes" ;;
465           no) enable_memcheck="no" ;;
466            *) AC_MSG_ERROR(bad value ${enableval} for --enable-memcheck) ;;
467          esac],
468         [enable_memcheck="no"]
469 )
470 if test "$enable_memcheck" = "yes"; then
471         AC_DEFINE(MEMCHECK, 1, [Defined if memcheck support settings are to be enabled (e.g. prevents dlclose()).])
472 fi
473
474
475 # compile diagnostic tools (small helpers usually not needed)
476 AC_ARG_ENABLE(diagtools,
477         [AS_HELP_STRING([--enable-diagtools],[Enable diagnostic tools @<:@default=no@:>@])],
478         [case "${enableval}" in
479          yes) enable_diagtools="yes" ;;
480           no) enable_diagtools="no" ;;
481            *) AC_MSG_ERROR(bad value ${enableval} for --enable-diagtools) ;;
482          esac],
483         [enable_diagtools=no]
484 )
485 AM_CONDITIONAL(ENABLE_DIAGTOOLS, test x$enable_diagtools = xyes)
486
487
488
489 # MySQL support
490 AC_ARG_ENABLE(mysql,
491         [AS_HELP_STRING([--enable-mysql],[Enable MySql database support @<:@default=no@:>@])],
492         [case "${enableval}" in
493          yes) enable_mysql="yes" ;;
494           no) enable_mysql="no" ;;
495            *) AC_MSG_ERROR(bad value ${enableval} for --enable-mysql) ;;
496          esac],
497         [enable_mysql=no]
498 )
499 if test "x$enable_mysql" = "xyes"; then
500   AC_CHECK_PROG(
501     [HAVE_MYSQL_CONFIG],
502     [mysql_config],
503     [yes],,,
504   )
505   if test "x${HAVE_MYSQL_CONFIG}" != "xyes"; then
506     AC_MSG_FAILURE([mysql_config not found in PATH - usually a package named mysql-dev, libmysql-dev or similar, is missing - install it to fix this issue])
507   fi
508   AC_CHECK_LIB(
509     [mysqlclient],
510     [mysql_init],
511     [MYSQL_CFLAGS=`mysql_config --cflags`
512      MYSQL_LIBS=`mysql_config --libs`
513     ],
514     [AC_MSG_FAILURE([MySQL library is missing])],
515     [`mysql_config --libs`]
516   )
517 fi
518 AM_CONDITIONAL(ENABLE_MYSQL, test x$enable_mysql = xyes)
519 AC_SUBST(MYSQL_CFLAGS)
520 AC_SUBST(MYSQL_LIBS)
521
522
523 # PostgreSQL support
524 AC_ARG_ENABLE(pgsql,
525         [AS_HELP_STRING([--enable-pgsql],[Enable PostgreSQL database support @<:@default=no@:>@])],
526         [case "${enableval}" in
527          yes) enable_pgsql="yes" ;;
528           no) enable_pgsql="no" ;;
529            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pgsql) ;;
530          esac],
531         [enable_pgsql=no]
532 )
533 if test "x$enable_pgsql" = "xyes"; then
534   AC_CHECK_PROG(
535     [HAVE_PGSQL_CONFIG],
536     [pg_config],
537     [yes],,,
538   )
539   if test "x${HAVE_PGSQL_CONFIG}" != "xyes"; then
540     AC_MSG_FAILURE([pg_config not found in PATH])
541   fi
542   AC_CHECK_LIB(
543     [pq],
544     [PQconnectdb],
545     [PGSQL_CFLAGS="-I`pg_config --includedir`"
546      PGSQL_LIBS="-L`pg_config --libdir` -lpq"
547     ],
548     [AC_MSG_FAILURE([PgSQL library is missing])],
549     [-L`pg_config --libdir`]
550   )
551 fi
552 AM_CONDITIONAL(ENABLE_PGSQL, test x$enable_pgsql = xyes)
553 AC_SUBST(PGSQL_CFLAGS)
554 AC_SUBST(PGSQL_LIBS)
555
556
557 # oracle (OCI) support
558 AC_ARG_ENABLE(oracle,
559         [AS_HELP_STRING([--enable-oracle],[Enable native Oracle database support @<:@default=no@:>@]. (Check your ORACLE_HOME environment variable!))],
560         [case "${enableval}" in
561          yes) enable_oracle="yes" ;;
562          no) enable_oracle="no" ;;
563          *) AC_MSG_ERROR(bad value ${enableval} for --enable-oracle) ;;
564          esac],
565         [enable_oracle=no]
566 )
567 if test "x$enable_oracle" = "xyes"; then
568    if test -d "$ORACLE_HOME"
569    then
570        AC_CHECK_LIB([occi], [OCIEnvCreate],
571                     [ORACLE_CFLAGS=-I$ORACLE_HOME/rdbms/public]
572                     [ORACLE_LIBS=-L$ORACLE_HOME/lib -locci],
573                     [AC_MSG_FAILURE([Oracle (OCI) library is missing: wrong oracle home])],
574                     [-I$ORACLE_HOME/rdbms/public/ -L$ORACLE_HOME/lib -locci -lclntsh ]
575                  )
576     elif test -d "$ORACLE_LIB_PATH" -a -d "$ORACLE_INCLUDE_PATH"
577     then
578        AC_CHECK_LIB([occi], [OCIEnvCreate],
579                     [ORACLE_CFLAGS=-I$ORACLE_INCLUDE_PATH]
580                     [ORACLE_LIBS=-L$ORACLE_LIB_PATH -locci],
581                     [AC_MSG_FAILURE([Oracle (OCI) library is missing: wrong oracle directories])],
582                     [-I$ORACLE_INCLUDE_PATH -L$ORACLE_LIB_PATH -locci -lclntsh ]
583                  )
584     else
585         AC_CHECK_PROG(
586             [HAVE_ORACLE_CONFIG],
587             [oracle-instantclient-config],
588             [yes],,,
589             )
590         if test "x${HAVE_ORACLE_CONFIG}" != "xyes"; then
591            AC_MSG_FAILURE([oracle-instantclient-config not found in PATH])
592         fi
593         AC_CHECK_LIB(
594                 [occi],
595                 [OCIEnvCreate],
596                 [ORACLE_CFLAGS="`oracle-instantclient-config --cflags`"
597                 ORACLE_LIBS="`oracle-instantclient-config --libs`"
598                 ],
599                 [AC_MSG_FAILURE([Oracle (OCI) libraray is missing])],
600                 [`oracle-instantclient-config --libs --cflags`]
601                 )
602     fi
603 fi
604 AM_CONDITIONAL(ENABLE_ORACLE, test x$enable_oracle = xyes)
605 AC_SUBST(ORACLE_CFLAGS)
606 AC_SUBST(ORACLE_LIBS)
607
608
609 # libdbi support
610 AC_ARG_ENABLE(libdbi,
611         [AS_HELP_STRING([--enable-libdbi],[Enable libdbi database support @<:@default=no@:>@])],
612         [case "${enableval}" in
613          yes) enable_libdbi="yes" ;;
614           no) enable_libdbi="no" ;;
615            *) AC_MSG_ERROR(bad value ${enableval} for --enable-libdbi) ;;
616          esac],
617         [enable_libdbi=no]
618 )
619 if test "x$enable_libdbi" = "xyes"; then
620   AC_CHECK_HEADERS(
621     [dbi/dbi.h],,
622     [AC_MSG_FAILURE([libdbi is missing])]
623   )
624   AC_CHECK_LIB(
625     [dbi],
626     [dbi_initialize],
627     [LIBDBI_CFLAGS=""
628      LIBDBI_LIBS="-ldbi"
629     ],
630     [AC_MSG_FAILURE([libdbi library is missing])]
631   )
632   AC_CHECK_LIB(
633     [dbi],
634     [dbi_initialize_r],
635     [AC_DEFINE([HAVE_DBI_R], [1], [Define to 1 if libdbi supports the new plugin-safe interface])]
636   )
637 fi
638 AM_CONDITIONAL(ENABLE_OMLIBDBI, test x$enable_libdbi = xyes)
639 AC_SUBST(LIBDBI_CFLAGS)
640 AC_SUBST(LIBDBI_LIBS)
641
642
643 # SNMP support
644 AC_ARG_ENABLE(snmp,
645         [AS_HELP_STRING([--enable-snmp],[Enable SNMP support @<:@default=no@:>@])],
646         [case "${enableval}" in
647          yes) enable_snmp="yes" ;;
648           no) enable_snmp="no" ;;
649            *) AC_MSG_ERROR(bad value ${enableval} for --enable-snmp) ;;
650          esac],
651         [enable_snmp=no]
652 )
653 if test "x$enable_snmp" = "xyes"; then
654   AC_CHECK_HEADERS(
655     [net-snmp/net-snmp-config.h],,
656     [AC_MSG_FAILURE([Net-SNMP is missing])]
657   )
658   AC_CHECK_LIB(
659     [netsnmp],
660     [snmp_timeout],
661     [SNMP_CFLAGS=""
662      SNMP_LIBS="-lnetsnmp"
663     ],
664     [AC_MSG_FAILURE([Net-SNMP library is missing])]
665   )
666 fi
667 AM_CONDITIONAL(ENABLE_SNMP, test x$enable_snmp = xyes)
668 AC_SUBST(SNMP_CFLAGS)
669 AC_SUBST(SNMP_LIBS)
670
671
672 # elasticsearch support
673 AC_ARG_ENABLE(elasticsearch,
674         [AS_HELP_STRING([--enable-elasticsearch],[Enable elasticsearch output module @<:@default=no@:>@])],
675         [case "${enableval}" in
676          yes) enable_elasticsearch="yes" ;;
677           no) enable_elasticsearch="no" ;;
678            *) AC_MSG_ERROR(bad value ${enableval} for --enable-elasticsearch) ;;
679          esac],
680         [enable_elasticsearch=no]
681 )
682 if test "x$enable_elasticsearch" = "xyes"; then
683   AC_CHECK_PROG(
684     [HAVE_CURL_CONFIG],
685     [curl-config],
686     [yes],,,
687   )
688   if test "x${HAVE_CURL_CONFIG}" != "xyes"; then
689     AC_MSG_FAILURE([curl-config not found in PATH])
690   fi
691   AC_CHECK_LIB(
692     [curl],
693     [curl_global_init],
694     [CURL_CFLAGS="`curl-config --cflags`"
695       CURL_LIBS="`curl-config --libs`"
696     ],
697     [AC_MSG_FAILURE([curl library is missing])],
698     [`curl-config --libs --cflags`]
699   )
700 fi
701 AM_CONDITIONAL(ENABLE_ELASTICSEARCH, test x$enable_elasticsearch = xyes)
702 AC_SUBST(CURL_CFLAGS)
703 AC_SUBST(CURL_LIBS)
704
705
706 # GnuTLS support
707 AC_ARG_ENABLE(gnutls,
708         [AS_HELP_STRING([--enable-gnutls],[Enable GNU TLS support @<:@default=no@:>@])],
709         [case "${enableval}" in
710          yes) enable_gnutls="yes" ;;
711           no) enable_gnutls="no" ;;
712            *) AC_MSG_ERROR(bad value ${enableval} for --enable-gnutls) ;;
713          esac],
714         [enable_gnutls=no]
715 )
716 if test "x$enable_gnutls" = "xyes"; then
717         PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0)
718 fi
719 AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
720 AC_SUBST(GNUTLS_CFLAGS)
721 AC_SUBST(GNUTLS_LIBS)
722
723
724 # support for building the rsyslogd runtime
725 AC_ARG_ENABLE(rsyslogrt,
726         [AS_HELP_STRING([--enable-rsyslogrt],[Build rsyslogrt @<:@default=yes@:>@])],
727         [case "${enableval}" in
728          yes) enable_rsyslogrt="yes" ;;
729           no) enable_rsyslogrt="no" ;;
730            *) AC_MSG_ERROR(bad value ${enableval} for --enable-rsyslogrt) ;;
731          esac],
732         [enable_rsyslogrt=yes]
733 )
734 if test "x$enable_rsyslogrt" = "xyes"; then
735   RSRT_CFLAGS="-I\$(top_srcdir)/runtime -I\$(top_srcdir)"
736   RSRT_LIBS="\$(top_builddir)/runtime/librsyslog.la"
737 fi
738 AM_CONDITIONAL(ENABLE_RSYSLOGRT, test x$enable_rsyslogrt = xyes)
739 AC_SUBST(RSRT_CFLAGS)
740 AC_SUBST(RSRT_LIBS)
741
742
743 # support for NOT building rsyslogd (useful for source-based packaging systems)
744 AC_ARG_ENABLE(rsyslogd,
745         [AS_HELP_STRING([--enable-rsyslogd],[Build rsyslogd @<:@default=yes@:>@])],
746         [case "${enableval}" in
747          yes) enable_rsyslogd="yes" ;;
748           no) enable_rsyslogd="no" ;;
749            *) AC_MSG_ERROR(bad value ${enableval} for --enable-rsyslogd) ;;
750          esac],
751         [enable_rsyslogd=yes]
752 )
753 AM_CONDITIONAL(ENABLE_RSYSLOGD, test x$enable_rsyslogd = xyes)
754
755
756 # capability to enable an extended testbench. By default, this is off. The reason
757 # for this switch is that some test simply take too long to execute them on a regular
758 # basis. So we enable to skip them, while the majority of tests can still be used. The
759 # idea is that at least "make distcheck" executes the extended testbench, and also
760 # developers should explicitely enable it after important changes. -- rgerhards, 2010-04-12
761 AC_ARG_ENABLE(extended_tests,
762         [AS_HELP_STRING([--enable-extended-tests],[extended testbench @<:@default=no@:>@])],
763         [case "${enableval}" in
764          yes) enable_rsyslogd="yes" ;;
765           no) enable_rsyslogd="no" ;;
766            *) AC_MSG_ERROR(bad value ${enableval} for --enable-extended-tests) ;;
767          esac],
768         [enable_extended_tests=no]
769 )
770 AM_CONDITIONAL(ENABLE_EXTENDED_TESTS, test x$enable_extended_tests = xyes)
771
772
773 # capability to enable MySQL testbench tests. This requries that a Syslog database
774 # with the default schema has been created on the local (127.0.0.1) MySQL server and
775 # a user "rsyslog" with password "testbench" exists, is able to login with default
776 # parameters and has sufficient (read: all) privileges on that database.
777 # rgerhards, 2011-03-09
778 AC_ARG_ENABLE(mysql_tests,
779         [AS_HELP_STRING([--enable-mysql-tests],[enable MySQL specific tests in testbench @<:@default=no@:>@])],
780         [case "${enableval}" in
781          yes) enable_mysql_tests="yes" ;;
782           no) enable_mysql_tests="no" ;;
783            *) AC_MSG_ERROR(bad value ${enableval} for --enable-mysql-tests) ;;
784          esac],
785         [enable_mysql_tests=no]
786 )
787 AM_CONDITIONAL(ENABLE_MYSQL_TESTS, test x$enable_mysql_tests = xyes)
788
789
790 # Mail support (so far we do not need a library, but we need to turn this on and off)
791 AC_ARG_ENABLE(mail,
792         [AS_HELP_STRING([--enable-mail],[Enable mail support @<:@default=no@:>@])],
793         [case "${enableval}" in
794          yes) enable_mail="yes" ;;
795           no) enable_mail="no" ;;
796            *) AC_MSG_ERROR(bad value ${enableval} for --enable-mail) ;;
797          esac],
798         [enable_mail=no]
799 )
800 AM_CONDITIONAL(ENABLE_MAIL, test x$enable_mail = xyes)
801
802
803 # imdiag support (so far we do not need a library, but we need to turn this on and off)
804 # note that we enable this be default, because an important point is to make
805 # it available to users who do not know much about how to handle things. It
806 # would complicate things if we first needed to tell them how to enable imdiag.
807 # rgerhards, 2008-07-25
808 AC_ARG_ENABLE(imdiag,
809         [AS_HELP_STRING([--enable-imdiag],[Enable imdiag @<:@default=no@:>@])],
810         [case "${enableval}" in
811          yes) enable_imdiag="yes" ;;
812           no) enable_imdiag="no" ;;
813            *) AC_MSG_ERROR(bad value ${enableval} for --enable-imdiag) ;;
814          esac],
815         [enable_imdiag=no]
816 )
817 AM_CONDITIONAL(ENABLE_IMDIAG, test x$enable_imdiag = xyes)
818
819
820 # RELP support
821 AC_ARG_ENABLE(relp,
822         [AS_HELP_STRING([--enable-relp],[Enable RELP support @<:@default=no@:>@])],
823         [case "${enableval}" in
824          yes) enable_relp="yes" ;;
825           no) enable_relp="no" ;;
826            *) AC_MSG_ERROR(bad value ${enableval} for --enable-relp) ;;
827          esac],
828         [enable_relp=no]
829 )
830 if test "x$enable_relp" = "xyes"; then
831         PKG_CHECK_MODULES(RELP, relp >= 0.1.1)
832 fi
833 AM_CONDITIONAL(ENABLE_RELP, test x$enable_relp = xyes)
834 AC_SUBST(RELP_CFLAGS)
835 AC_SUBST(RELP_LIBS)
836
837
838 # RFC 3195 support
839 AC_ARG_ENABLE(rfc3195,
840         [AS_HELP_STRING([--enable-rfc3195],[Enable RFC3195 support @<:@default=no@:>@])],
841         [case "${enableval}" in
842          yes) enable_rfc3195="yes" ;;
843           no) enable_rfc3195="no" ;;
844            *) AC_MSG_ERROR(bad value ${enableval} for --enable-rfc3195) ;;
845          esac],
846         [enable_rfc3195=no]
847 )
848 if test "x$enable_rfc3195" = "xyes"; then
849         PKG_CHECK_MODULES(LIBLOGGING, liblogging >= 0.7.1)
850 fi
851 AM_CONDITIONAL(ENABLE_RFC3195, test x$enable_rfc3195 = xyes)
852 AC_SUBST(LIBLOGGING_CFLAGS)
853 AC_SUBST(LIBLOGGING_LIBS)
854
855
856 # enable/disable the testbench (e.g. because some important parts
857 # are missing)
858 AC_ARG_ENABLE(testbench,
859         [AS_HELP_STRING([--enable-testbench],[testbench enabled @<:@default=yes@:>@])],
860         [case "${enableval}" in
861          yes) enable_testbench="yes" ;;
862           no) enable_testbench="no" ;;
863            *) AC_MSG_ERROR(bad value ${enableval} for --enable-testbench) ;;
864          esac],
865         [enable_testbench=yes]
866 )
867 AM_CONDITIONAL(ENABLE_TESTBENCH, test x$enable_testbench = xyes)
868
869
870 # settings for the file input module
871 AC_ARG_ENABLE(imfile,
872         [AS_HELP_STRING([--enable-imfile],[file input module enabled @<:@default=no@:>@])],
873         [case "${enableval}" in
874          yes) enable_imfile="yes" ;;
875           no) enable_imfile="no" ;;
876            *) AC_MSG_ERROR(bad value ${enableval} for --enable-imfile) ;;
877          esac],
878         [enable_imfile=no]
879 )
880 AM_CONDITIONAL(ENABLE_IMFILE, test x$enable_imfile = xyes)
881
882
883 # settings for the door input module (under solaris, thus default off)
884 AC_ARG_ENABLE(imsolaris,
885         [AS_HELP_STRING([--enable-imsolaris],[solaris input module enabled @<:@default=no@:>@])],
886         [case "${enableval}" in
887          yes) enable_imsolaris="yes" ;;
888           no) enable_imsolaris="no" ;;
889            *) AC_MSG_ERROR(bad value ${enableval} for --enable-imsolaris) ;;
890          esac],
891         [enable_imsolaris=no]
892 )
893 AM_CONDITIONAL(ENABLE_IMSOLARIS, test x$enable_imsolaris = xyes)
894
895 # settings for the ptcp input module
896 AC_ARG_ENABLE(imptcp,
897         [AS_HELP_STRING([--enable-imptcp],[plain tcp input module enabled @<:@default=no@:>@])],
898         [case "${enableval}" in
899          yes) enable_imptcp="yes" ;;
900           no) enable_imptcp="no" ;;
901            *) AC_MSG_ERROR(bad value ${enableval} for --enable-imptcp) ;;
902          esac],
903         [enable_imptcp=no]
904 )
905 AM_CONDITIONAL(ENABLE_IMPTCP, test x$enable_imptcp = xyes)
906
907
908 # settings for the pstats input module
909 AC_ARG_ENABLE(impstats,
910         [AS_HELP_STRING([--enable-impstats],[periodic statistics module enabled @<:@default=no@:>@])],
911         [case "${enableval}" in
912          yes) enable_impstats="yes" ;;
913           no) enable_impstats="no" ;;
914            *) AC_MSG_ERROR(bad value ${enableval} for --enable-impstats) ;;
915          esac],
916         [enable_impstats=no]
917 )
918 AM_CONDITIONAL(ENABLE_IMPSTATS, test x$enable_impstats = xyes)
919
920
921 # settings for the omprog output module
922 AC_ARG_ENABLE(omprog,
923         [AS_HELP_STRING([--enable-omprog],[Compiles omprog module @<:@default=no@:>@])],
924         [case "${enableval}" in
925          yes) enable_omprog="yes" ;;
926           no) enable_omprog="no" ;;
927            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omprog) ;;
928          esac],
929         [enable_omprog=no]
930 )
931 AM_CONDITIONAL(ENABLE_OMPROG, test x$enable_omprog = xyes)
932
933
934 # settings for omudpspoof
935 AC_ARG_ENABLE(omudpspoof,
936         [AS_HELP_STRING([--enable-omudpspoof],[Compiles omudpspoof module @<:@default=no@:>@])],
937         [case "${enableval}" in
938          yes) enable_omudpspoof="yes" ;;
939           no) enable_omudpspoof="no" ;;
940            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omudpspoof) ;;
941          esac],
942         [enable_omudpspoof=no]
943 )
944
945 if test "x$enable_omudpspoof" = "xyes"; then
946   AC_CHECK_HEADERS(
947     [libnet.h],,
948     [AC_MSG_FAILURE([libnet is missing])]
949   )
950   AC_CHECK_LIB(
951     [net],
952     [libnet_init],
953     [UDPSPOOF_CFLAGS=""
954      UDPSPOOF_LIBS="-lnet"
955     ],
956     [AC_MSG_FAILURE([libnet is missing])]
957   )
958 fi
959 AM_CONDITIONAL(ENABLE_OMUDPSPOOF, test x$enable_omudpspoof = xyes)
960 AC_SUBST(UDPSPOOF_CFLAGS)
961 AC_SUBST(UDPSPOOF_LIBS)
962
963
964 # settings for omstdout
965 AC_ARG_ENABLE(omstdout,
966         [AS_HELP_STRING([--enable-omstdout],[Compiles stdout module @<:@default=no@:>@])],
967         [case "${enableval}" in
968          yes) enable_omstdout="yes" ;;
969           no) enable_omstdout="no" ;;
970            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omstdout) ;;
971          esac],
972         [enable_omstdout=no]
973 )
974 AM_CONDITIONAL(ENABLE_OMSTDOUT, test x$enable_omstdout = xyes)
975
976
977 # settings for pmlastmsg
978 AC_ARG_ENABLE(pmlastmsg,
979         [AS_HELP_STRING([--enable-pmlastmsg],[Compiles lastmsg parser module @<:@default=no@:>@])],
980         [case "${enableval}" in
981          yes) enable_pmlastmsg="yes" ;;
982           no) enable_pmlastmsg="no" ;;
983            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmlastmsg) ;;
984          esac],
985         [enable_pmlastmsg=no]
986 )
987 AM_CONDITIONAL(ENABLE_PMLASTMSG, test x$enable_pmlastmsg = xyes)
988
989
990 # settings for pmcisconames
991 AC_ARG_ENABLE(pmcisconames,
992         [AS_HELP_STRING([--enable-pmcisconames],[Compiles cisconames parser module @<:@default=no@:>@])],
993         [case "${enableval}" in
994          yes) enable_pmcisconames="yes" ;;
995           no) enable_pmcisconames="no" ;;
996            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmcisconames) ;;
997          esac],
998         [enable_pmcisconames=no]
999 )
1000 AM_CONDITIONAL(ENABLE_PMCISCONAMES, test x$enable_pmcisconames = xyes)
1001
1002
1003 # settings for pmaixforwardedfrom
1004 AC_ARG_ENABLE(pmaixforwardedfrom,
1005         [AS_HELP_STRING([--enable-pmaixforwardedfrom],[Compiles aixforwardedfrom parser module @<:@default=no@:>@])],
1006         [case "${enableval}" in
1007          yes) enable_pmaixforwardedfrom="yes" ;;
1008           no) enable_pmaixforwardedfrom="no" ;;
1009            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmaixforwardedfrom) ;;
1010          esac],
1011         [enable_pmaixforwardedfrom=no]
1012 )
1013 AM_CONDITIONAL(ENABLE_PMAIXFORWARDEDFROM, test x$enable_pmaixforwardedfrom = xyes)
1014
1015
1016 # settings for pmsnare
1017 AC_ARG_ENABLE(pmsnare,
1018         [AS_HELP_STRING([--enable-pmsnare],[Compiles snare parser module @<:@default=no@:>@])],
1019         [case "${enableval}" in
1020          yes) enable_pmsnare="yes" ;;
1021           no) enable_pmsnare="no" ;;
1022            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmsnare) ;;
1023          esac],
1024         [enable_pmsnare=no]
1025 )
1026 AM_CONDITIONAL(ENABLE_PMSNARE, test x$enable_pmsnare = xyes)
1027
1028
1029 # settings for pmrfc3164sd
1030 AC_ARG_ENABLE(pmrfc3164sd,
1031         [AS_HELP_STRING([--enable-pmrfc3164sd],[Compiles rfc3164sd parser module @<:@default=no@:>@])],
1032         [case "${enableval}" in
1033          yes) enable_pmrfc3164sd="yes" ;;
1034           no) enable_pmrfc3164sd="no" ;;
1035            *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmrfc3164sd) ;;
1036          esac],
1037         [enable_pmrfc3164sd=no]
1038 )
1039 AM_CONDITIONAL(ENABLE_PMRFC3164SD, test x$enable_pmrfc3164sd = xyes)
1040
1041
1042 # settings for omruleset
1043 AC_ARG_ENABLE(omruleset,
1044         [AS_HELP_STRING([--enable-omruleset],[Compiles ruleset forwarding module @<:@default=yes@:>@])],
1045         [case "${enableval}" in
1046          yes) enable_omruleset="yes" ;;
1047           no) enable_omruleset="no" ;;
1048            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omruleset) ;;
1049          esac],
1050         [enable_omruleset=yes]
1051 )
1052 AM_CONDITIONAL(ENABLE_OMRULESET, test x$enable_omruleset = xyes)
1053
1054
1055 # settings for omdbalerting
1056 AC_ARG_ENABLE(omdbalerting,
1057         [AS_HELP_STRING([--enable-omdbalerting],[Compiles omdbalerting module @<:@default=no@:>@])],
1058         [case "${enableval}" in
1059          yes) enable_omdbalerting="yes" ;;
1060           no) enable_omdbalerting="no" ;;
1061            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omdbalerting) ;;
1062          esac],
1063         [enable_omdbalerting=no]
1064 )
1065 AM_CONDITIONAL(ENABLE_OMDBALERTING, test x$enable_omdbalerting = xyes)
1066
1067
1068
1069 # building the GUI (mostly for diagnostic reasons)
1070 AC_ARG_ENABLE(gui,
1071         [AS_HELP_STRING([--enable-gui],[Enable GUI programs @<:@default=no@:>@])],
1072         [case "${enableval}" in
1073          yes) enable_gui="yes" ;;
1074           no) enable_gui="no" ;;
1075            *) AC_MSG_ERROR(bad value ${enableval} for --enable-gui) ;;
1076          esac],
1077         [enable_gui=no]
1078 )
1079 if test "x$enable_gui" = "xyes"; then
1080         if test x$HAVE_JAVAC = x; then
1081            AC_MSG_ERROR([GUI components need Java, but Java development system is not installed on this system])
1082         fi
1083 fi
1084 AM_CONDITIONAL(ENABLE_GUI, test x$enable_gui = xyes)
1085
1086
1087 AC_SUBST(RELP_CFLAGS)
1088 AC_SUBST(RELP_LIBS)
1089
1090 # settings for omuxsock
1091 AC_ARG_ENABLE(omuxsock,
1092         [AS_HELP_STRING([--enable-omuxsock],[Compiles omuxsock module @<:@default=no@:>@])],
1093         [case "${enableval}" in
1094          yes) enable_omuxsock="yes" ;;
1095           no) enable_omuxsock="no" ;;
1096            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omuxsock) ;;
1097          esac],
1098         [enable_omuxsock=no]
1099 )
1100 AM_CONDITIONAL(ENABLE_OMUXSOCK, test x$enable_omuxsock = xyes)
1101
1102
1103 # This provides a vehicle to integrate custom modules, that are not
1104 # part of rsyslog, into the build process. It is named cust1, so that
1105 # additional such modules can easily be added.
1106 AC_ARG_ENABLE(cust1,
1107         [AS_HELP_STRING([--enable-cust1],[Compiles cust1 module @<:@default=no@:>@])],
1108         [case "${enableval}" in
1109          yes) enable_cust1="yes" ;;
1110           no) enable_cust1="no" ;;
1111            *) AC_MSG_ERROR(bad value ${enableval} for --enable-cust1) ;;
1112          esac],
1113         [enable_cust1=no]
1114 )
1115 AM_CONDITIONAL(ENABLE_CUST1, test x$enable_cust1 = xyes)
1116
1117
1118 # A custom strgen that also serves as a sample of how to do
1119 # SQL-generating strgen's
1120 AC_ARG_ENABLE(smcustbindcdr,
1121         [AS_HELP_STRING([--enable-smcustbindcdr],[Compiles smcustbindcdr module @<:@default=no@:>@])],
1122         [case "${enableval}" in
1123          yes) enable_smcustbindcdr="yes" ;;
1124           no) enable_smcustbindcdr="no" ;;
1125            *) AC_MSG_ERROR(bad value ${enableval} for --enable-smcustbindcdr) ;;
1126          esac],
1127         [enable_smcustbindcdr=no]
1128 )
1129 AM_CONDITIONAL(ENABLE_SMCUSTBINDCDR, test x$enable_smcustbindcdr = xyes)
1130
1131
1132 # settings for the template input module; copy and modify this code
1133 # if you intend to add your own module. Be sure to replace imtemplate
1134 # by the actual name of your module.
1135 AC_ARG_ENABLE(imtemplate,
1136         [AS_HELP_STRING([--enable-imtemplate],[Compiles imtemplate template module @<:@default=no@:>@])],
1137         [case "${enableval}" in
1138          yes) enable_imtemplate="yes" ;;
1139           no) enable_imtemplate="no" ;;
1140            *) AC_MSG_ERROR(bad value ${enableval} for --enable-imtemplate) ;;
1141          esac],
1142         [enable_imtemplate=no]
1143 )
1144 #
1145 # you may want to do some library checks here - see snmp, mysql, pgsql modules
1146 # for samples
1147 #
1148 AM_CONDITIONAL(ENABLE_IMTEMPLATE, test x$enable_imtemplate = xyes)
1149 # end of copy template - be sure to search for imtemplate to find everything!
1150
1151
1152 # settings for the template output module; copy and modify this code
1153 # if you intend to add your own module. Be sure to replace omtemplate
1154 # by the actual name of your module.
1155 AC_ARG_ENABLE(omtemplate,
1156         [AS_HELP_STRING([--enable-omtemplate],[Compiles omtemplate template module @<:@default=no@:>@])],
1157         [case "${enableval}" in
1158          yes) enable_omtemplate="yes" ;;
1159           no) enable_omtemplate="no" ;;
1160            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omtemplate) ;;
1161          esac],
1162         [enable_omtemplate=no]
1163 )
1164 #
1165 # you may want to do some library checks here - see snmp, mysql, pgsql modules
1166 # for samples
1167 #
1168 AM_CONDITIONAL(ENABLE_OMTEMPLATE, test x$enable_omtemplate = xyes)
1169 # end of copy template - be sure to search for omtemplate to find everything!
1170
1171
1172 # settings for mmsnmptrapd message modification module
1173 AC_ARG_ENABLE(mmsnmptrapd,
1174         [AS_HELP_STRING([--enable-mmsnmptrapd],[Compiles mmsnmptrapd module @<:@default=no@:>@])],
1175         [case "${enableval}" in
1176          yes) enable_mmsnmptrapd="yes" ;;
1177           no) enable_mmsnmptrapd="no" ;;
1178            *) AC_MSG_ERROR(bad value ${enableval} for --enable-mmsnmptrapd) ;;
1179          esac],
1180         [enable_mmsnmptrapd=no]
1181 )
1182 AM_CONDITIONAL(ENABLE_MMSNMPTRAPD, test x$enable_mmsnmptrapd = xyes)
1183
1184
1185 # settings for the omhdfs;
1186 AC_ARG_ENABLE(omhdfs,
1187         [AS_HELP_STRING([--enable-omhdfs],[Compiles omhdfs template module @<:@default=no@:>@])],
1188         [case "${enableval}" in
1189          yes) enable_omhdfs="yes" ;;
1190           no) enable_omhdfs="no" ;;
1191            *) AC_MSG_ERROR(bad value ${enableval} for --enable-omhdfs) ;;
1192          esac],
1193         [enable_omhdfs=no]
1194 )
1195 #
1196 # you may want to do some library checks here - see snmp, mysql, pgsql modules
1197 # for samples
1198 #
1199 AM_CONDITIONAL(ENABLE_OMHDFS, test x$enable_omhdfs = xyes)
1200
1201
1202 AC_CONFIG_FILES([Makefile \
1203                 runtime/Makefile \
1204                 tools/Makefile \
1205                 doc/Makefile \
1206                 plugins/imudp/Makefile \
1207                 plugins/imtcp/Makefile \
1208                 plugins/im3195/Makefile \
1209                 plugins/imgssapi/Makefile \
1210                 plugins/imuxsock/Makefile \
1211                 plugins/immark/Makefile \
1212                 plugins/imklog/Makefile \
1213                 plugins/imtemplate/Makefile \
1214                 plugins/omtemplate/Makefile \
1215                 plugins/omhdfs/Makefile \
1216                 plugins/omprog/Makefile \
1217                 plugins/omstdout/Makefile \
1218                 plugins/pmrfc3164sd/Makefile \
1219                 plugins/pmlastmsg/Makefile \
1220                 plugins/pmcisconames/Makefile \
1221                 plugins/pmsnare/Makefile \
1222                 plugins/pmaixforwardedfrom/Makefile \
1223                 plugins/omruleset/Makefile \
1224                 plugins/omdbalerting/Makefile \
1225                 plugins/omuxsock/Makefile \
1226                 plugins/imfile/Makefile \
1227                 plugins/imsolaris/Makefile \
1228                 plugins/imptcp/Makefile \
1229                 plugins/impstats/Makefile \
1230                 plugins/imrelp/Makefile \
1231                 plugins/imdiag/Makefile \
1232                 plugins/omtesting/Makefile \
1233                 plugins/omgssapi/Makefile \
1234                 plugins/ommysql/Makefile \
1235                 plugins/ompgsql/Makefile \
1236                 plugins/omrelp/Makefile \
1237                 plugins/omlibdbi/Makefile \
1238                 plugins/ommail/Makefile \
1239                 plugins/omsnmp/Makefile \
1240                 plugins/omoracle/Makefile \
1241                 plugins/omudpspoof/Makefile \
1242                 plugins/omelasticsearch/Makefile \
1243                 plugins/sm_cust_bindcdr/Makefile \
1244                 plugins/mmsnmptrapd/Makefile \
1245                 plugins/cust1/Makefile \
1246                 java/Makefile \
1247                 tests/Makefile])
1248 AC_OUTPUT
1249
1250 echo "****************************************************"
1251 echo "rsyslog will be compiled with the following settings:"
1252 echo
1253 echo "    Large file support enabled:               $enable_largefile"
1254 echo "    Networking support enabled:               $enable_inet"
1255 echo "    Regular expressions support enabled:      $enable_regexp"
1256 echo "    Zlib compression support enabled:         $enable_zlib"
1257 echo "    rsyslog runtime will be built:            $enable_rsyslogrt"
1258 echo "    rsyslogd will be built:                   $enable_rsyslogd"
1259 echo "    GUI components will be built:             $enable_gui"
1260 echo "    custom module 1 will be built:            $enable_cust1"
1261 echo "    Unlimited select() support enabled:       $enable_unlimited_select"
1262 echo
1263 echo "---{ input plugins }---"
1264 echo "    Klog functionality enabled:               $enable_klog ($os_type)"
1265 echo "    plain tcp input module enabled:           $enable_imptcp"
1266 echo "    imdiag enabled:                           $enable_imdiag"
1267 echo "    file input module enabled:                $enable_imfile"
1268 echo "    Solaris input module enabled:             $enable_imsolaris"
1269 echo "    periodic statistics module enabled:       $enable_impstats"
1270 echo "    input template module will be compiled:   $enable_imtemplate"
1271 echo
1272 echo "---{ output plugins }---"
1273 echo "    Mail support enabled:                     $enable_mail"
1274 echo "    omprog module will be compiled:           $enable_omprog"
1275 echo "    omstdout module will be compiled:         $enable_omstdout"
1276 echo "    omhdfs module will be compiled:           $enable_omhdfs"
1277 echo "    omelasticsearch module will be compiled:  $enable_elasticsearch"
1278 echo "    omruleset module will be compiled:        $enable_omruleset"
1279 echo "    omdbalerting module will be compiled:     $enable_omdbalerting"
1280 echo "    omudpspoof module will be compiled:       $enable_omudpspoof"
1281 echo "    omuxsock module will be compiled:         $enable_omuxsock"
1282 echo "    output template module will be compiled:  $enable_omtemplate"
1283 echo
1284 echo "---{ parser modules }---"
1285 echo "    pmrfc3164sd module will be compiled:      $enable_pmrfc3164sd"
1286 echo "    pmlastmsg module will be compiled:        $enable_pmlastmsg"
1287 echo "    pmcisconames module will be compiled:     $enable_pmcisconames"
1288 echo "    pmaixforwardedfrom module w.be compiled:  $enable_pmaixforwardedfrom"
1289 echo "    pmsnare module will be compiled:          $enable_pmsnare"
1290 echo
1291 echo "---{ message modification modules }---"
1292 echo "    mmsnmptrapd module will be compiled:      $enable_mmsnmptrapd"
1293 echo
1294 echo "---{ strgen modules }---"
1295 echo "    sm_cust_bindcdr module will be compiled:  $enable_sm_cust_bindcdr"
1296 echo
1297 echo "---{ database support }---"
1298 echo "    MySql support enabled:                    $enable_mysql"
1299 echo "    libdbi support enabled:                   $enable_libdbi"
1300 echo "    PostgreSQL support enabled:               $enable_pgsql"
1301 echo "    Oracle (OCI) support enabled:             $enable_oracle"
1302 echo
1303 echo "---{ protocol support }---"
1304 echo "    GnuTLS network stream driver enabled:     $enable_gnutls"
1305 echo "    GSSAPI Kerberos 5 support enabled:        $enable_gssapi_krb5"
1306 echo "    RELP support enabled:                     $enable_relp"
1307 echo "    SNMP support enabled:                     $enable_snmp"
1308 echo
1309 echo "---{ debugging support }---"
1310 echo "    Testbench enabled:                        $enable_testbench"
1311 echo "    Extended Testbench enabled:               $enable_extended_tests"
1312 echo "    MySQL Tests enabled:                      $enable_mysql_tests"
1313 echo "    Debug mode enabled:                       $enable_debug"
1314 echo "    Runtime Instrumentation enabled:          $enable_rtinst"
1315 echo "    Diagnostic tools enabled:                 $enable_diagtools"
1316 echo "    Enhanced memory checking enabled:         $enable_memcheck"
1317 echo "    Valgrind support settings enabled:        $enable_valgrind"
1318 echo