| # Process this file with bootstrap to produce a configure script. |
| |
| # autoconf requirement |
| AC_PREREQ([2.53]) |
| |
| # Note: in case of beta subversion, use underscore "_" rather then dash "-" |
| # since RPM doesn't allow dash in Version |
| # Example: 5.0_beta2 |
| AC_INIT([monit], [5.4], [monit-general@nongnu.org]) |
| AC_CONFIG_AUX_DIR(config) |
| AC_CONFIG_MACRO_DIR([m4]) |
| AM_INIT_AUTOMAKE |
| AC_CONFIG_SRCDIR([src/monit.c]) |
| AC_CONFIG_SUBDIRS([libmonit]) |
| AC_CONFIG_COMMANDS([libtool_patch],[test `uname` = "OpenBSD" && perl -p -i -e "s/deplibs_check_method=.*/deplibs_check_method=pass_all/g" libtool]) |
| |
| |
| # ------------------------------------------------------------------------ |
| # Programs |
| # ------------------------------------------------------------------------ |
| |
| AC_PROG_CC |
| AC_PROG_INSTALL |
| AC_PROG_MAKE_SET |
| AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [no], [$PATH:/usr/local/bin:/usr/bin]) |
| if test "x$YACC" = "xno"; then |
| # Require bison unless y.tab.c already is built |
| if test ! -f src/y.tab.c; then |
| AC_MSG_ERROR([Monit require bison, byacc or yacc. Download bison from http://www.gnu.org/software/bison/]) |
| fi |
| fi |
| AC_PATH_PROG([FLEX], [flex], [no], [$PATH:/usr/local/bin:/usr/bin]) |
| if test "x$FLEX" = "xno"; then |
| # Require flex unless lex.yy.c already is built |
| if test ! -f src/lex.yy.c; then |
| AC_MSG_RESULT([flex is required. Download from http://www.gnu.org/software/flex/]) |
| fi |
| fi |
| AC_PATH_PROG([POD2MAN], [pod2man], [no], [$PATH:/usr/local/bin:/usr/bin]) |
| if test "x$POD2MAN" = "xno"; then |
| # Require pod2man unless monit.1 already is built |
| if test ! -f monit.1; then |
| AC_MSG_ERROR([pod2man is required to build the monit.1 man file.]) |
| fi |
| else |
| d=`date '+%B %d. %Y'` |
| POD2MANFLAGS="--center 'User Commands' --release '${d}' --date='www.mmonit.com' --lax" |
| AC_SUBST([POD2MANFLAGS]) |
| fi |
| |
| |
| # ------------------------------------------------------------------------ |
| # Libtool |
| # ------------------------------------------------------------------------ |
| |
| AC_DISABLE_STATIC |
| AC_PROG_LIBTOOL |
| |
| |
| # --------------------------------------------------------------------------- |
| # Build options |
| # --------------------------------------------------------------------------- |
| |
| AC_ARG_ENABLE(optimized, |
| AS_HELP_STRING([--enable-optimized], |
| [Build software optimized]), |
| [ |
| CFLAGS=`echo $CFLAGS|sed 's/-O.//'` |
| if test "x$enableval" = "xyes" ; then |
| CFLAGS=`echo $CFLAGS|sed 's/-g//'` |
| CFLAGS="$CFLAGS -O3" |
| OPTIMIZED=1 |
| else |
| OPTIMIZED=0 |
| fi |
| ], |
| [ |
| OPTIMIZED=0 |
| ] |
| ) |
| |
| |
| # ------------------------------------------------------------------------ |
| # Libraries |
| # ------------------------------------------------------------------------ |
| |
| # Check for libraries |
| AC_CHECK_LIB([socket], [socket]) |
| AC_CHECK_LIB([inet], [socket]) |
| AC_CHECK_LIB([nsl], [inet_addr]) |
| AC_CHECK_LIB([resolv], [inet_aton]) |
| AC_CHECK_LIB([c], [crypt], [:], [AC_CHECK_LIB([crypt], [crypt])]) |
| |
| AC_CHECK_LIB([pthread], [pthread_create], [], [AC_MSG_ERROR([POSIX thread library is required])]) |
| |
| # ------------------------------------------------------------------------ |
| # Header files |
| # ------------------------------------------------------------------------ |
| |
| AC_HEADER_STDC |
| AC_HEADER_SYS_WAIT |
| AC_HEADER_STAT |
| AC_HEADER_TIME |
| |
| AC_CHECK_HEADERS([ \ |
| alloca.h \ |
| arpa/inet.h \ |
| asm/page.h \ |
| asm/param.h \ |
| cf.h \ |
| crt_externs.h \ |
| ctype.h \ |
| crypt.h \ |
| dirent.h \ |
| errno.h \ |
| execinfo.h \ |
| fcntl.h \ |
| getopt.h \ |
| glob.h \ |
| grp.h \ |
| kvm.h \ |
| paths.h \ |
| kstat.h \ |
| sys/protosw.h \ |
| limits.h \ |
| loadavg.h \ |
| locale.h \ |
| mach/host_info.h \ |
| mach/mach.h \ |
| mach/mach_host.h \ |
| memory.h \ |
| mntent.h \ |
| netdb.h \ |
| sys/socket.h \ |
| netinet/in.h \ |
| netinet/in_systm.h \ |
| pam/pam_appl.h \ |
| security/pam_appl.h \ |
| poll.h \ |
| procfs.h \ |
| sys/procfs.h \ |
| procinfo.h \ |
| pthread.h \ |
| pwd.h \ |
| regex.h \ |
| setjmp.h \ |
| signal.h \ |
| stdarg.h \ |
| stddef.h \ |
| stdio.h \ |
| string.h \ |
| strings.h \ |
| stropts.h \ |
| sys/cfgodm.h \ |
| sys/cfgdb.h \ |
| sys/dk.h \ |
| sys/dkstat.h \ |
| sys/filio.h \ |
| sys/ioctl.h \ |
| sys/loadavg.h \ |
| sys/lock.h \ |
| sys/mnttab.h \ |
| sys/mutex.h \ |
| sys/nlist.h \ |
| sys/param.h \ |
| sys/pstat.h \ |
| sys/queue.h \ |
| sys/resource.h \ |
| sys/statfs.h \ |
| sys/statvfs.h \ |
| sys/sysinfo.h \ |
| sys/systemcfg.h \ |
| sys/time.h \ |
| sys/tree.h \ |
| sys/types.h \ |
| sys/un.h \ |
| sys/utsname.h \ |
| sys/vmmeter.h \ |
| sys/vfs.h \ |
| syslog.h \ |
| unistd.h \ |
| uvm/uvm.h \ |
| uvm/uvm_extern.h \ |
| vm/vm.h \ |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| libperfstat.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_PROTOSW_H |
| #include <sys/protosw.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| netinet/ip.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_TYPES_H |
| #include <sys/types.h> |
| #endif |
| #if HAVE_NETINET_IN_SYSTM_H |
| #include <netinet/in_systm.h> |
| #endif |
| #if HAVE_NETINET_IN_SYSTM_H |
| #include <netinet/in.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| net/if.h \ |
| netinet/ip_icmp.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_TYPES_H |
| #include <sys/types.h> |
| #endif |
| #if HAVE_SYS_SOCKET_H |
| #include <sys/socket.h> |
| #endif |
| #if HAVE_NETINET_IN_SYSTM_H |
| #include <netinet/in.h> |
| #endif |
| #if HAVE_NETINET_IN_SYSTM_H |
| #include <netinet/in_systm.h> |
| #endif |
| #if HAVE_NETINET_IP_H |
| #include <netinet/ip.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| sys/sysctl.h \ |
| sys/mount.h \ |
| sys/proc.h \ |
| sys/swap.h \ |
| sys/ucred.h \ |
| sys/user.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_PARAM_H |
| #include <sys/param.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| machine/vmparam.h \ |
| vm/pmap.h \ |
| machine/pmap.h \ |
| vm/vm_map.h \ |
| vm/vm_object.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_PARAM_H |
| #include <sys/param.h> |
| #endif |
| #ifdef HAVE_SYS_QUEUE_H |
| #include <sys/queue.h> |
| #endif |
| #ifdef HAVE_SYS_LOCK_H |
| #include <sys/lock.h> |
| #endif |
| #ifdef HAVE_SYS_MUTEX_H |
| #include <sys/mutex.h> |
| #endif |
| #ifdef HAVE_VM_VM_H |
| #include <vm/vm.h> |
| #endif |
| #ifdef HAVE_VM_PMAP_H |
| #include <vm/pmap.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| sys/resourcevar.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_TIME_H |
| #include <sys/time.h> |
| #endif |
| #ifdef HAVE_SYS_RESOURCE_H |
| #include <sys/resource.h> |
| #endif |
| ]) |
| |
| AC_CHECK_HEADERS([ \ |
| uvm/uvm_map.h \ |
| uvm/uvm_pmap.h \ |
| uvm/uvm_object.h \ |
| ], |
| [], |
| [], |
| [ |
| #ifdef HAVE_SYS_TIME_H |
| #include <sys/time.h> |
| #endif |
| #ifdef HAVE_SYS_LOCK_H |
| #include <sys/lock.h> |
| #endif |
| #ifdef HAVE_SYS_TREE_H |
| #include <sys/tree.h> |
| #endif |
| #ifdef HAVE_UVM_UVM_EXTERN_H |
| #include <uvm/uvm_extern.h> |
| #endif |
| ]) |
| |
| # Check for types. |
| AC_TYPE_MODE_T |
| AC_TYPE_PID_T |
| AC_TYPE_SIZE_T |
| AC_TYPE_PID_T |
| AC_TYPE_SIGNAL |
| |
| # Check for structures. |
| AC_STRUCT_TM |
| AC_CHECK_MEMBERS([struct tm.tm_gmtoff]) |
| |
| |
| # ------------------------------------------------------------------------ |
| # Functions |
| # ------------------------------------------------------------------------ |
| |
| # Checks for library functions. |
| AC_FUNC_ERROR_AT_LINE |
| AC_FUNC_FORK |
| AC_FUNC_STAT |
| AC_FUNC_STRFTIME |
| AC_CHECK_FUNCS(statfs) |
| AC_CHECK_FUNCS(statvfs) |
| AC_CHECK_FUNCS(setlocale) |
| AC_CHECK_FUNCS(getaddrinfo) |
| AC_CHECK_FUNCS(syslog) |
| AC_CHECK_FUNCS(vsyslog) |
| AC_CHECK_FUNCS(backtrace) |
| AC_CHECK_FUNCS(getloadavg) |
| |
| # Check for SOL_IP |
| AC_MSG_CHECKING(for SOL_IP) |
| AC_TRY_COMPILE([ |
| #include <netdb.h> |
| #include <sys/socket.h>], |
| [int level = SOL_IP;], |
| [AC_MSG_RESULT(yes) |
| AC_DEFINE([HAVE_SOL_IP], [1], [Define to 1 if SOL_IP is defined.])], |
| [AC_MSG_RESULT(no)]) |
| |
| AC_MSG_CHECKING(for va_copy) |
| AC_TRY_LINK([ |
| #include <stdarg.h> |
| ], [ |
| va_list ap; |
| va_list ap_copy; |
| va_copy(ap, ap_copy); |
| ], [ |
| AC_MSG_RESULT(yes) |
| AC_DEFINE([HAVE_VA_COPY], [1], [Define to 1 if VA_COPY is defined.]) |
| ], [ |
| AC_MSG_RESULT(no) |
| ]) |
| |
| |
| # ------------------------------------------------------------------------ |
| # Compiler |
| # ------------------------------------------------------------------------ |
| |
| # Compiler characteristics |
| AC_C_CONST |
| AC_C_BIGENDIAN |
| |
| # If the compiler is gcc, tune warnings and make the char type unsigned |
| # and enable C99 support |
| if test "x$GCC" = "xyes"; then |
| CFLAGS="$CFLAGS -Wall -Wunused -Wno-unused-label -funsigned-char"; |
| # Add C99 support |
| CFLAGS="$CFLAGS -D_GNU_SOURCE -std=c99" |
| # does this compiler support -Wno-pointer-sign ? |
| svd_CFLAGS="$CFLAGS" |
| CFLAGS="-Wno-pointer-sign $CFLAGS" |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [return 0;])], [], [CFLAGS="$svd_CFLAGS"]) |
| # does this compiler support -Wno-address ? |
| svd_CFLAGS="$CFLAGS" |
| CFLAGS="-Wno-address $CFLAGS" |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [return 0;])], [], [CFLAGS="$svd_CFLAGS"]) |
| fi |
| |
| |
| # ------------------------------------------------------------------------ |
| # Paths |
| # ------------------------------------------------------------------------ |
| |
| # Find the right directory to put the root-mode PID file in |
| AC_MSG_CHECKING([pid file location]) |
| if test -d "/var/run" |
| then |
| piddir="/var/run" |
| elif test -d "/etc" |
| then |
| piddir="/etc" |
| fi |
| |
| AC_DEFINE_UNQUOTED([PIDDIR], "$piddir", |
| [Define to the pid storage directory.]) |
| AC_MSG_RESULT([$piddir]) |
| |
| # Test mounted filesystem description file |
| if test -f "/etc/mtab" |
| then |
| AC_DEFINE([HAVE_MTAB], 1, [Define to 1 if you have /etc/mtab]) |
| elif test -f "/etc/mnttab"; then |
| AC_DEFINE([HAVE_MNTTAB], 1, [Define to 1 if you have /etc/mnttab]) |
| fi |
| |
| # ------------------------------------------------------------------------ |
| # Architecture/OS detection |
| # ------------------------------------------------------------------------ |
| |
| # Backward compatibility until we get ride of arch settings |
| architecture=`uname` |
| if test "$architecture" = "SunOS" |
| then |
| ARCH="SOLARIS" |
| CFLAGS="$CFLAGS -D _REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -m64" |
| LDFLAGS="$LDFLAGS -m64" |
| test_kstat="true" |
| AC_DEFINE([HAVE_CPU_WAIT], [1], [Define to 1 if CPU wait information is available.]) |
| if test `uname -m` = "i86pc" |
| then |
| if test "x$GCC" = "xyes" |
| then |
| CFLAGS="$CFLAGS -mtune=opteron" |
| LDFLAGS="$LDFLAGS -mtune=opteron" |
| else |
| CFLAGS="$CFLAGS -xarch=sse2" |
| LDFLAGS="$LDFLAGS -xarch=sse2" |
| fi |
| else |
| if test "x$GCC" = "xyes" |
| then |
| CFLAGS="$CFLAGS -mtune=v9" |
| LDFLAGS="$LDFLAGS -mtune=v9" |
| else |
| CFLAGS="$CFLAGS -xarch=sparc" |
| LDFLAGS="$LDFLAGS -xarch=sparc" |
| fi |
| fi |
| elif test "$architecture" = "Linux" |
| then |
| ARCH="LINUX" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| LDFLAGS="$LDFLAGS -rdynamic" |
| if test `uname -r | awk -F '.' '{print$1$2}'` -ge "26" |
| then |
| AC_DEFINE([HAVE_CPU_WAIT], [1], [Define to 1 if CPU wait information is available.]) |
| fi |
| elif test "$architecture" = "HP-UX" |
| then |
| ARCH="HPUX" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| AC_DEFINE([HAVE_CPU_WAIT], [1], [Define to 1 if CPU wait information is available.]) |
| elif test "$architecture" = "OpenBSD" |
| then |
| ARCH="OPENBSD" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| test_kvm="true" |
| use_pam=0 # No PAM on OpenBSD (supports BSD Auth API instead of PAM) |
| elif test "$architecture" = "FreeBSD" |
| then |
| ARCH="FREEBSD" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| test_kvm="true" |
| elif test "$architecture" = "GNU/kFreeBSD" |
| then |
| ARCH="FREEBSD" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| test_kvm="true" |
| elif test "$architecture" = "NetBSD" |
| then |
| ARCH="NETBSD" |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| test_kvm="true" |
| elif test "$architecture" = "Darwin" |
| then |
| ARCH="DARWIN" |
| CFLAGS="$CFLAGS -DREENTRANT -no-cpp-precomp -DNEED_SOCKLEN_T_DEFINED" |
| test_kvm="true" |
| LIBS="$LIBS -framework System -multiply_defined suppress" |
| elif test "$architecture" = "AIX" |
| then |
| ARCH="AIX" |
| CFLAGS="$CFLAGS -D_THREAD_SAFE -D_REENTRANT" |
| LIBS="$LIBS -lodm" |
| # AIX v. 5.2 |
| LIBS="$LIBS -lcfg" |
| # AIX v. 5.3 |
| LIBS="$LIBS -lperfstat" |
| AC_DEFINE([HAVE_CPU_WAIT], [1], [Define to 1 if CPU wait information is available.]) |
| else |
| AC_MSG_WARN([Architecture not supported: ${architecture}]) |
| CFLAGS="$CFLAGS -D _REENTRANT" |
| ARCH="UNKNOWN" |
| fi |
| AC_SUBST(ARCH) |
| |
| # ------------------------------------------------------------------------ |
| # Resource code |
| # ------------------------------------------------------------------------ |
| |
| # Test for kvm libs |
| kvm_libs="" |
| if test "$test_kvm"; then |
| AC_CHECK_LIB([kvm], |
| [kvm_open], |
| [kvm_libs="-lkvm"]) |
| if test "$kvm_libs" |
| then |
| LIBS="$LIBS $kvm_libs" |
| fi |
| fi |
| kstat_libs="" |
| if test "$test_kstat"; then |
| AC_CHECK_LIB([kstat], |
| [kstat_open], |
| [kstat_libs="-lkstat"]) |
| if test "$kstat_libs" |
| then |
| LIBS="$LIBS $kstat_libs" |
| fi |
| fi |
| |
| |
| # ------------------------------------------------------------------------ |
| # Large files code |
| # ------------------------------------------------------------------------ |
| |
| # Check if we want to have large files support |
| AC_MSG_CHECKING([for large files support]) |
| AC_ARG_WITH(largefiles, |
| [ --without-largefiles disable large files support (default: enabled)], |
| [ |
| dnl Check the withvalue |
| if test "x$withval" = "xno" ; then |
| use_largefiles=0 |
| AC_MSG_RESULT([disabled]) |
| fi |
| if test "x$withval" = "xyes" ; then |
| use_largefiles=1 |
| AC_MSG_RESULT([enabled]) |
| fi |
| ], |
| [ |
| if test `uname` = "AIX" |
| then |
| use_largefiles=0 |
| AC_MSG_RESULT([disabled]) |
| else |
| use_largefiles=1 |
| AC_MSG_RESULT([enabled]) |
| fi |
| ] |
| ) |
| |
| # Settings for largefiles support |
| if test "$use_largefiles" = 1; then |
| AC_SYS_LARGEFILE |
| fi |
| |
| |
| # ------------------------------------------------------------------------ |
| # PAM Code |
| # ------------------------------------------------------------------------ |
| |
| AC_MSG_CHECKING([for PAM support]) |
| AC_ARG_WITH(pam, |
| [ --without-pam disable the use of pam (default: enabled)], |
| [ |
| dnl Check the withvalue |
| if test "x$withval" = "xno" ; then |
| use_pam=0 |
| AC_MSG_RESULT([disabled]) |
| fi |
| if test "x$withval" = "xyes" ; then |
| use_pam=1 |
| AC_MSG_RESULT([enabled]) |
| fi |
| ], |
| [ |
| if test "x$use_pam" = "x" ; then |
| use_pam=1 |
| AC_MSG_RESULT([enabled]) |
| fi |
| ] |
| ) |
| |
| if test "$use_pam" = "1"; then |
| AC_CHECK_LIB([pam], [pam_start], [], [AC_MSG_ERROR([PAM enabled but headers or library not found, install the PAM development support or run configure --without-pam])]) |
| fi |
| |
| |
| # ------------------------------------------------------------------------ |
| # SSL Code |
| # ------------------------------------------------------------------------ |
| |
| # Check for ssl includes |
| checksslincldir() { : |
| if test -f "$1/openssl/ssl.h"; then |
| sslincldir="$1" |
| return 0 |
| fi |
| return 1 |
| } |
| |
| # Check for ssl libraries |
| checkssllibdirdynamic() { : |
| CRYPTOLIB=`ls -1 $1/libcrypto.so* $1/libcrypto.dylib* 2>/dev/null | wc -l` |
| SSLLIB=`ls -1 $1/libssl.so* $1/libssl.dylib* 2>/dev/null | wc -l` |
| if test "(" $CRYPTOLIB -gt 0 -a $SSLLIB -gt 0 ")" |
| then |
| ssllibdir="$1" |
| return 0 |
| fi |
| return 1 |
| } |
| |
| checkssllibdirstatic() { : |
| if test "(" -f "$1/libcrypto.a" ")" -a \ |
| "(" -f "$1/libssl.a" ")" ; then |
| ssllibdir="$1" |
| return 0 |
| fi |
| return 1 |
| } |
| |
| # Check if we want to have SSL |
| |
| AC_MSG_CHECKING([for static SSL support]) |
| |
| AC_ARG_WITH(ssl-static, |
| [ --with-ssl-static=DIR location of SSL installation], |
| [ |
| dnl Check the specified location only |
| for dir in "$withval" "$withval/include"; do |
| checksslincldir "$dir" |
| done |
| for dir in "$withval" "$withval/lib"; do |
| checkssllibdirstatic "$dir" && break 2 |
| done |
| use_sslstatic=1 |
| LDFLAGS="`echo $LDFLAGS | sed -e 's/-rdynamic/-ldl/g'`" |
| AC_MSG_RESULT([enabled]) |
| AC_DEFINE([HAVE_OPENSSL], 1, [Define to 1 if you have openssl.]) |
| AC_SUBST(sslincldir) |
| AC_SUBST(ssllibdir) |
| CFLAGS="$CFLAGS -I$sslincldir" |
| LIBS="$LIBS $ssllibdir/libssl.a $ssllibdir/libcrypto.a" |
| ], |
| [ |
| use_sslstatic=0 |
| AC_MSG_RESULT([disabled]) |
| ] |
| ) |
| |
| if test "$use_sslstatic" = "0" |
| then |
| AC_MSG_CHECKING([for SSL support]) |
| |
| AC_ARG_WITH(ssl, |
| [ --without-ssl disable the use of ssl (default: enabled)], |
| [ |
| dnl Check the withvalue |
| if test "x$withval" = "xno" ; then |
| use_ssl=0 |
| AC_MSG_RESULT([disabled]) |
| fi |
| if test "x$withval" = "xyes" ; then |
| use_ssl=1 |
| AC_MSG_RESULT([enabled]) |
| fi |
| ], |
| [ |
| use_ssl=1 |
| AC_MSG_RESULT([enabled]) |
| ] |
| ) |
| |
| |
| # Check for SSL directory |
| if test "$use_ssl" = "1"; then |
| |
| AC_ARG_WITH(ssl-dir, |
| [ --with-ssl-dir=DIR location of SSL installation], |
| [ |
| dnl Check the specified location only |
| for dir in "$withval" "$withval/include"; do |
| checksslincldir "$dir" |
| done |
| for dir in "$withval" "$withval/lib"; do |
| checkssllibdirdynamic "$dir" && break 2 |
| done |
| ] |
| ) |
| |
| AC_MSG_CHECKING([for SSL include directory]) |
| AC_ARG_WITH(ssl-incl-dir, |
| [ --with-ssl-incl-dir=DIR location of installed SSL include files], |
| [ |
| dnl Check the specified location only |
| checksslincldir "$withval" |
| ], |
| [ |
| if test -z "$sslincldir"; then |
| dnl Search default locations of SSL includes |
| for maindir in /usr /usr/local /usr/lib /usr/pkg /var /opt /usr/sfw /opt/csw /opt/freeware; do |
| for dir in "$maindir/include"\ |
| "$maindir/include/openssl"\ |
| "$maindir/include/ssl"\ |
| "$maindir/ssl/include"; do |
| checksslincldir $dir && break 2 |
| done |
| done |
| fi |
| ] |
| ) |
| if test -z "$sslincldir"; then |
| AC_MSG_RESULT([Not found]) |
| echo |
| echo "Couldn't find your SSL header files." |
| echo "Use --with-ssl-incl-dir option to fix this problem or disable" |
| echo "the SSL support with --without-ssl" |
| echo |
| exit 1 |
| fi |
| AC_MSG_RESULT([$sslincldir]) |
| |
| AC_MSG_CHECKING([for SSL library directory]) |
| AC_ARG_WITH(ssl-lib-dir, |
| [ --with-ssl-lib-dir=DIR location of installed SSL library files], |
| [ |
| dnl Check the specified location only |
| checkssllibdirdynamic "$withval" |
| ], |
| [ |
| if test -z "$ssllibdir"; then |
| dnl Search default locations of SSL libraries |
| for maindir in "" \ |
| /usr \ |
| /usr/local \ |
| /usr/pkg \ |
| /var \ |
| /opt \ |
| /usr/sfw \ |
| /opt/csw \ |
| /opt/freeware; do |
| for dir in $maindir \ |
| $maindir/openssl \ |
| $maindir/ssl \ |
| $maindir/lib \ |
| $maindir/lib/openssl \ |
| $maindir/lib/ssl \ |
| $maindir/ssl/lib \ |
| $maindir/lib/64 \ |
| $maindir/lib/64/openssl \ |
| $maindir/lib/64/ssl \ |
| $maindir/ssl/lib/64 \ |
| $maindir/lib64 \ |
| $maindir/lib64/openssl \ |
| $maindir/lib64/ssl \ |
| $maindir/ssl/lib64 \ |
| $maindir/lib/${build} \ |
| $maindir/lib/${build_alias}; do |
| checkssllibdirdynamic $dir && break 2 |
| done |
| done |
| fi |
| ] |
| ) |
| if test -z "$ssllibdir"; then |
| AC_MSG_RESULT([Not found]) |
| echo |
| echo "Couldn't find your SSL library files." |
| echo "Use --with-ssl-lib-dir option to fix this problem or disable the" |
| echo "SSL support with --without-ssl" |
| echo |
| exit 1 |
| fi |
| AC_MSG_RESULT([$ssllibdir]) |
| |
| AC_DEFINE([HAVE_OPENSSL], 1, [Define to 1 if you have openssl.]) |
| AC_SUBST(sslincldir) |
| AC_SUBST(ssllibdir) |
| fi |
| |
| # Add SSL includes and libraries |
| if test "$sslincldir" -a "$ssllibdir" |
| then |
| if test "x$ARCH" = "xDARWIN"; then |
| # Darwin already knows about ssldirs |
| LIBS="$LIBS -lssl -lcrypto" |
| elif test -f "/usr/kerberos/include/krb5.h"; then |
| # Redhat 9 compilation fix: |
| CFLAGS="$CFLAGS -I$sslincldir -I/usr/kerberos/include" |
| LIBS="$LIBS -L$ssllibdir -lssl -lcrypto" |
| else |
| CFLAGS="$CFLAGS -I$sslincldir" |
| LIBS="$LIBS -L$ssllibdir -lssl -lcrypto" |
| fi |
| fi |
| fi |
| |
| # ------------------------------------------------------------------------ |
| # Outputs |
| # ------------------------------------------------------------------------ |
| |
| AH_BOTTOM([ |
| /* Mask out GCC __attribute__ extension for non-gcc compilers. */ |
| #ifndef __GNUC__ |
| #define __attribute__(x) |
| #endif |
| ]) |
| |
| AC_CONFIG_HEADER([src/config.h]) |
| AC_CONFIG_FILES([Makefile]) |
| AC_CONFIG_FILES([contrib/monit.upstart]) |
| AC_CONFIG_FILES([contrib/monit.service]) |
| |
| AC_OUTPUT |
| |
| echo |
| echo "Monit Build Information:" |
| echo |
| echo " Architecture: ${ARCH}" |
| if test "$use_sslstatic" = "1" -o "$use_ssl" = "1"; then |
| echo " SSL include directory: ${sslincldir}" |
| echo " SSL library directory: ${ssllibdir}" |
| fi |
| echo " Compiler flags: ${CFLAGS}" |
| echo " Linker flags: ${LIBS}" |
| echo " pid file location: ${piddir}" |
| echo " Install directory: ${prefix}" |
| echo |
| |
| cat <<EOT |
| +------------------------------------------------------------+ |
| | License: | |
| | This is Open Source Software and use is subject to the GNU | |
| | AFFERO GENERAL PUBLIC LICENSE version 3, available in this | |
| | distribution in the file COPYING. | |
| | | |
| | By continuing this installation process, you are bound by | |
| | the terms of this license agreement. If you do not agree | |
| | with the terms of this license, you must abort the | |
| | installation process at this point. | |
| +------------------------------------------------------------+ |
| | Monit has been configured with the following options: | |
| | | |
| EOT |
| if test "$use_pam" = "1"; then |
| echo "| PAM support: ENABLED |" |
| else |
| echo "| PAM support: DISABLED |" |
| fi |
| if test "$use_sslstatic" = "1" -o "$use_ssl" = "1"; then |
| echo "| SSL support: ENABLED |" |
| else |
| echo "| SSL support: DISABLED |" |
| fi |
| if test "$use_largefiles" = "1"; then |
| echo "| Large files support: ENABLED |" |
| else |
| echo "| Large files support: DISABLED |" |
| fi |
| if test "x1" = "x$OPTIMIZED"; then |
| echo "| Optimized: ENABLED |" |
| else |
| echo "| Optimized: DISABLED |" |
| fi |
| echo "+------------------------------------------------------------+" |