--- projects/cms/source/ihost/configure.in 2002/05/29 19:41:59 1.1 +++ projects/cms/source/ihost/configure.in 2003/03/03 12:32:35 1.9 @@ -1,29 +1,63 @@ -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.9 2003/03/03 12:32:35 tdb Exp $ +# +# Change these to change the package name and version +AC_INIT(ihost, 1.5, dev@i-scream.org.uk) +AM_INIT_AUTOMAKE(ihost, 1.5) + +# Revision number (automatically updated) +AC_REVISION($Revision: 1.9 $) + +# 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 -R${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])]) -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_LIB(statgrab, get_general_stats,,[AC_MSG_ERROR([need libstatgrab])]) +# 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_DEFINE(SOLARIS, , [Building on Solaris 2.x]) @@ -32,15 +66,30 @@ solaris2.*) freebsd4.*) AC_DEFINE(FREEBSD, , [Building on FreeBSD 4.x]) LDFLAGS="$LDFLAGS -lkvm" + # FreeBSD needs ihost to be setgid kmem + AM_CONDITIONAL(SETGIDKMEM, true) ;; linux-gnu) - AC_DEFINE(LINUX, , [Building on GNU/Lunix]) + AC_DEFINE(LINUX, , [Building on GNU/Linux]) ;; *) - AC_MSG_ERROR([Cannot build on unknown OS: $build_os]) + AC_MSG_ERROR([Cannot build on unknown OS: $host_os]) ;; esac -AC_CONFIG_FILES([Makefile libstatgrab/Makefile libukcprog/Makefile]) +# 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]) + +# 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]) + +# 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]) + +# And finish by changing these files +AC_CONFIG_FILES([Makefile libukcprog/Makefile]) AC_OUTPUT