| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- dnl Process this file with autoconf to produce a configure script.
- dnl Disable caching
- define([AC_CACHE_LOAD],)
- define([AC_CACHE_SAVE],)
- AC_INIT(src/nrpe.c)
- AC_CONFIG_HEADER(common/config.h)
- AC_PREFIX_DEFAULT(/usr/local/nagios)
- PKG_NAME=nrpe
- PKG_VERSION="2.0b4"
- PKG_HOME_URL="http://www.nagios.org/"
- PKG_REL_DATE="06-04-2003"
- dnl Figure out how to invoke "install" and what install options to use.
- AC_PROG_INSTALL
- AC_SUBST(INSTALL)
- dnl Checks for programs.
- AC_PROG_CC
- AC_PROG_MAKE_SET
- dnl Checks for header files.
- AC_HEADER_STDC
- AC_HEADER_TIME
- AC_HEADER_SYS_WAIT
- AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h getopt.h grp.h netdb.h pwd.h signal.h strings.h string.h syslog.h unistd.h arpa/inet.h netinet/in.h sys/types.h sys/time.h sys/resource.h sys/wait.h sys/socket.h sys/stat.h)
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_STRUCT_TM
- AC_TYPE_MODE_T
- AC_TYPE_PID_T
- AC_TYPE_SIZE_T
- AC_TYPE_SIGNAL
- AC_TYPE_GETGROUPS
- dnl Define u_int32_t if we don't have it already (Solaris)
- AC_CHECK_SIZEOF(int)
- AC_CHECK_SIZEOF(short)
- AC_CHECK_SIZEOF(long)
- AC_CHECK_TYPE(u_int32_t,unsigned int)
- if test "$ac_cv_type_u_int32_t" = no ; then
- if test "$ac_cv_sizeof_int" = 4 ; then
- AC_DEFINE(U_INT32_T_IS_UINT)
- else
- if test "$ac_cv_sizeof_long" = 4 ; then
- AC_DEFINE(U_INT32_T_IS_ULONG)
- else
- if test "$ac_cv_sizeof_short" = 4 ; then
- AC_DEFINE(U_INT32_T_IS_USHORT)
- fi
- fi
- fi
- fi
- dnl AC_CHECK_SIZEOF(int)
- dnl AC_CHECK_SIZEOF(short)
- dnl AC_CHECK_SIZEOF(long)
- dnl if test "$ac_cv_sizeof_int" = 4 ; then
- dnl AC_CHECK_TYPE(int32_t, int)
- dnl AC_CHECK_TYPE(u_int32_t, unsigned int)
- dnl elif test "$ac_cv_sizeof_short" = 4 ; then
- dnl AC_CHECK_TYPE(int32_t, short)
- dnl AC_CHECK_TYPE(u_int32_t, unsigned short)
- dnl elif test "$ac_cv_sizeof_long" = 4 ; then
- dnl AC_CHECK_TYPE(int32_t, long)
- dnl AC_CHECK_TYPE(u_int32_t, unsigned long)
- dnl else
- dnl AC_MSG_ERROR([Cannot find a type with size of 32 bits])
- dnl fi
- dnl Checks for library functions.
- AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
- AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
- AC_SUBST(SOCKETLIBS)
- AC_CHECK_FUNCS(strdup strstr strtoul initgroups)
- AC_MSG_CHECKING(for type of socket size)
- AC_TRY_COMPILE([#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- ],
- [int a = send(1, (const void *)0, (size_t *) 0, (int *) 0);],
- [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)],
- [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)])
- dnl Does user want to check for SSL?
- AC_ARG_ENABLE(ssl,--enable-ssl enables native SSL support,[
- if test x$enableval = xyes; then
- check_for_ssl=yes
- else
- check_for_ssl=no
- fi
- ],check_for_ssl=yes)
- dnl Optional SSL library and include paths
- ssl_lib_dir=
- ssl_inc_dir=
- AC_ARG_WITH(ssl-lib,--with-ssl-lib=DIR sets location of the SSL library,[
- ssl_lib_dir=$withval
- ])
- AC_ARG_WITH(ssl-inc,--with-ssl-inc=DIR sets location of the SSL include files,[
- ssl_inc_dir=$withval
- ])
- AC_ARG_WITH(kerberos-inc,--with-kerberos-inc=DIR sets location of the Kerberos include files,[
- kerberos_inc_dir=$withval
- ])
- dnl Check for SSL support
- dnl Modified version of Mark Ethan Trostler's macro <trostler@juniper.net>
- if test x$check_for_ssl = xyes; then
- AC_MSG_CHECKING(for SSL)
- found_ssl=no
- for dir in $ssl_inc_dir /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr; do
- ssldir="$dir"
- if test -f "$dir/include/openssl/ssl.h"; then
- found_ssl=yes
- CFLAGS="$CFLAGS -I$ssldir/include/openssl"
- break
- fi
- if test -f "$dir/include/ssl.h"; then
- found_ssl=yes
- CFLAGS="$CFLAGS -I$ssldir/include"
- break
- fi
- done
- if test x_$found_ssl != x_yes; then
- AC_MSG_ERROR(Cannot find ssl libraries)
- else
- printf "SSL found in $ssldir\n";
- LIBS="$LIBS -lssl -lcrypto";
- if test x$ssl_lib_dir != x; then
- LDFLAGS="$LDFLAGS -L$ssl_lib_dir";
- else
- LDFLAGS="$LDFLAGS -L$ssldir/lib";
- fi
- AC_DEFINE_UNQUOTED(HAVE_SSL)
- AC_SUBST(HAVE_SSL)
-
- dnl Generate DH parameters
- echo ""
- echo "*** Generating DH Parameters for SSL/TLS ***"
- if test -f "$ssldir/sbin/openssl"; then
- sslbin=$ssldir/sbin/openssl
- else
- sslbin=$ssldir/bin/openssl
- fi
- $sslbin dhparam -out /dev/null -C 512 > src/dh.h
- fi
- dnl RedHat 8.0 and 9.0 include openssl compiled with kerberos, so we must include header file
- AC_MSG_CHECKING(for Kerberos include files)
- found_kerberos=no
- for dir in $kerberos_inc_dir /usr/kerberos/include; do
- kerbdir="$dir"
- if test -f "$dir/krb5.h"; then
- found_kerberos=yes
- CFLAGS="$CFLAGS -I$kerbdir"
- AC_DEFINE_UNQUOTED(HAVE_KRB5_H)
- dnl AC_CHECK_HEADERS(krb5.h)
- break
- fi
- done
- if test x_$found_kerberos != x_yes; then
- printf "could not find include files\n";
- else
- printf "found Kerberos include files in $kerbdir\n";
- fi
-
- fi
- AC_ARG_WITH(nrpe_user,--with-nrpe-user=<user> sets user name to run NRPE,nrpe_user=$withval,nrpe_user=nagios)
- AC_ARG_WITH(nrpe_group,--with-nrpe-group=<group> sets group name to run NRPE,nrpe_grp=$withval,nrpe_grp=nagios)
- AC_ARG_WITH(nrpe_port,--with-nrpe-port=<port> sets port number for NRPE to listen on,nrpe_port=$withval,nrpe_port=5666)
- AC_SUBST(nrpe_user)
- AC_SUBST(nrpe_grp)
- AC_SUBST(nrpe_port)
- AC_DEFINE_UNQUOTED(DEFAULT_SERVER_PORT,$nrpe_port)
- AC_ARG_ENABLE(command-args,--enable-command-args allows clients to specify command arguments. *** THIS IS A SECURITY RISK! *** Read the SECURITY file before using this option!,AC_DEFINE_UNQUOTED(ENABLE_COMMAND_ARGUMENTS))
- AC_PATH_PROG(PERL,perl)
- AC_OUTPUT(Makefile src/Makefile subst)
- perl subst nrpe.cfg
- perl subst init-script
- perl subst init-script.debian
- perl subst init-script.freebsd
- perl subst nrpe.xinetd
- dnl Review options
- echo ""
- echo ""
- AC_MSG_RESULT([*** Configuration summary for $PKG_NAME $PKG_VERSION $PKG_REL_DATE ***:])
- echo ""
- echo " General Options:"
- echo " -------------------------"
- AC_MSG_RESULT([ NRPE port: $nrpe_port])
- AC_MSG_RESULT([ NRPE user: $nrpe_user])
- AC_MSG_RESULT([ NRPE group: $nrpe_grp])
- echo ""
- echo ""
- echo "Review the options above for accuracy. If they look okay,"
- echo "type 'make all' to compile the NRPE daemon and client."
- echo ""
|