--- projects/cms/source/ihost/configure.in 2002/05/30 11:30:07 1.3 +++ projects/cms/source/ihost/configure.in 2005/09/24 13:30:40 1.34 @@ -1,54 +1,140 @@ -AC_INIT(ihost.c) -AM_INIT_AUTOMAKE(ihost, 1.0rc1) -dnl AC_CONFIG_SRCDIR([ihost.c]) -AM_CONFIG_HEADER([config.h]) +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. +# +# configure.in for i-scream ihost +# $Id: configure.in,v 1.34 2005/09/24 13:30:40 tdb Exp $ +# +# Change these to change the package name and version +AC_INIT(ihost, 1.5.9, bugs@i-scream.org) +AM_INIT_AUTOMAKE(ihost, 1.5.9) + +# Revision number (automatically updated) +AC_REVISION($Revision: 1.34 $) + +# Might work with older autoconfs... but tested on 2.57 +AC_PREREQ(2.57) + +# The file we use to pass #define's to the source +AM_CONFIG_HEADER(config.h) + +# Checks for programs AC_PROG_CC AC_PROG_INSTALL -AC_PROG_RANLIB -dnl AC_HEADER_DIRENT +# User specified libstatgrab prefix +AC_ARG_WITH([libstatgrab-prefix], + [ --with-libstatgrab-prefix=PATH libstatgrab is in PATH], + [ + if test -d "$withval/lib"; then + LDFLAGS="-L${withval}/lib ${LDFLAGS}" + fi + if test -d "$withval/include"; then + CPPFLAGS="-I${withval}/include ${CPPFLAGS}" + fi + ] +) + +# User specified libukcprog prefix +AC_ARG_WITH([libukcprog-prefix], + [ --with-libukcprog-prefix=PATH libukcprog is in PATH], + [ + if test -d "$withval/lib"; then + LDFLAGS="-L${withval}/lib ${LDFLAGS}" + fi + if test -d "$withval/include"; then + CPPFLAGS="-I${withval}/include ${CPPFLAGS}" + fi + ] +) + +# Checks for header files AC_HEADER_STDC -dnl AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h memory.h mntent.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/mount.h sys/param.h sys/socket.h sys/statvfs.h sys/time.h sys/vfs.h syslog.h unistd.h utmp.h]) +AC_CHECK_HEADERS(statgrab.h,,[AC_MSG_ERROR([need statgrab.h])]) +AC_CHECK_HEADERS(ukcprog.h,,[AC_MSG_ERROR([need ukcprog.h])]) -dnl AC_C_CONST -dnl AC_TYPE_UID_T -dnl AC_TYPE_PID_T -dnl AC_TYPE_SIZE_T -dnl AC_HEADER_TIME +# Checks for typedefs, structures, and compiler characteristics +AC_C_CONST -dnl AC_FUNC_FORK -AC_FUNC_GETLOADAVG -dnl AC_FUNC_MALLOC -dnl AC_CHECK_FUNCS([gethostbyname getmntent getmntinfo getpagesize inet_ntoa memmove memset socket strchr strdup strncasecmp strrchr strtol uname]) +# Checks for library functions +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_FUNC_FORK +AC_CHECK_FUNCS(strlcat) +# Figure out details about the host - we need the OS AC_CANONICAL_HOST +# Default needing setgid kmem to false +AM_CONDITIONAL(SETGIDKMEM, false) + +# Set things up for different OS's +# We define the name of the OS so the code can act accordingly +# We also need to add the right LDFLAGS case $host_os in solaris2.*) + AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])],[-lnsl -lsocket]) AC_DEFINE(SOLARIS, , [Building on Solaris 2.x]) - LDFLAGS="$LDFLAGS -lnsl -lsocket -lkstat" + LIBS="$LIBS -lnsl -lsocket -lkstat -ldevinfo -lstatgrab -lukcprog" ;; -freebsd4.*) - AC_DEFINE(FREEBSD, , [Building on FreeBSD 4.x]) - LDFLAGS="$LDFLAGS -lkvm" +freebsd*) + AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) + AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) + AC_DEFINE(FREEBSD, , [Building on FreeBSD]) + LIBS="$LIBS -lstatgrab -lkvm -ldevstat -lukcprog" + # FreeBSD needs ihost to be setgid kmem + AM_CONDITIONAL(SETGIDKMEM, true) ;; +netbsdelf*) + AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) + AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) + AC_DEFINE(NETBSD, , [Building on NetBSD]) + LIBS="$LIBS -lstatgrab -lkvm -lukcprog" + AM_CONDITIONAL(SETGIDKMEM, true) + ;; linux-gnu) - AC_DEFINE(LINUX, , [Building on GNU/Lunix]) + AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) + AC_DEFINE(LINUX, , [Building on GNU/Linux]) + LIBS="$LIBS -lstatgrab -lukcprog" ;; +cygwin) + AC_MSG_ERROR([libstatgrab doesn't fully support cygwin, yet]) + ;; +mingw32) + AC_CHECK_LIB(ukcprog, fpgetline,[:],[AC_MSG_ERROR([need libukcprog])]) + AC_DEFINE(MINGW, , [Building on MinGW]) + AC_DEFINE(WINVER, 0x0500, [Building for Windows 2000]) + LIBS="$LIBS -lstatgrab -lukcprog -lws2_32 -lpdh -lIphlpapi -lpsapi -lnetapi32" + ;; *) - AC_MSG_ERROR([Cannot build on unknown OS: $build_os]) + AC_MSG_ERROR([Cannot build on unknown OS: $host_os]) ;; esac -AC_ARG_WITH([pid-file], AC_HELP_STRING([--with-pid-file=FILE],[location of PID file (default: /var/tmp/.ihost.pid)]), [pidfile=$withval], [pidfile=[/var/tmp/.ihost.pid]]) +# Check for libstatgrab +AC_CHECK_LIB(statgrab, sg_get_host_info,[:],[AC_MSG_ERROR([need libstatgrab])]) + +# Check for the --with-pid-file option +AC_ARG_WITH([pid-file], [ --with-pid-file=FILE location of PID file (default: /var/tmp/.ihost.pid)], [pidfile=$withval], [pidfile=[/var/tmp/.ihost.pid]]) AC_DEFINE_UNQUOTED([PID_FILE], ["$pidfile"], [Location of PID file]) -AC_SUBST([pidfile], [$pidfile]) -AC_ARG_WITH([max-udp-size], AC_HELP_STRING([--with-max-udp-size=SIZE],[maximum size of UDP packets in kilobytes (default: 8192kb)]), [max_udp_size=$withval], [max_udp_size=[8192]]) -AC_DEFINE_UNQUOTED([UDP_MAX_PACKET_SIZE], [$max_udp_size], [Maximum size of UDP packets in kilobytes]) +# Check for the --with-max-udp-size option +AC_ARG_WITH([max-udp-size], [ --with-max-udp-size=KB maximum size of UDP packets in kilobytes (default: 8192kb)], [max_udp_size=$withval], [max_udp_size=[8192]]) +AC_DEFINE_UNQUOTED([MAX_UDP_PACKET_SIZE], [$max_udp_size], [Maximum size of UDP packets in kilobytes]) -AC_CONFIG_FILES([Makefile libstatgrab/Makefile libukcprog/Makefile]) -AC_CONFIG_FILES([ihostchk.sh], [chmod +x ihostchk.sh]) +# Check for the --with-log-file option +AC_ARG_WITH([log-file], [ --with-log-file=FILE location of log file (default: /var/log/ihost.log)], [logfile=$withval], [logfile=[/var/log/ihost.log]]) +AC_DEFINE_UNQUOTED([LOG_FILE], ["$logfile"], [Location of log file]) + +# Check for the --with-server-name option +AC_ARG_WITH([server-name], [ --with-server-name=NAME default server name (default: i-scream)], [servername=$withval], [servername=[i-scream]]) +AC_DEFINE_UNQUOTED([DEF_SERVER_NAME], ["$servername"], [Default Server Name]) + +# Check for the --with-server-port option +AC_ARG_WITH([server-port], [ --with-server-port=PORT default server port (default: 4567)], [serverport=$withval], [serverport=[4567]]) +AC_DEFINE_UNQUOTED([DEF_SERVER_PORT], [$serverport], [Default Server Port]) + +# And finish by changing these files +AC_CONFIG_FILES([Makefile]) AC_OUTPUT