--- projects/cms/source/ihost/configure.in 2002/05/31 13:34:59 1.6 +++ projects/cms/source/ihost/configure.in 2005/09/24 13:30:40 1.34 @@ -1,62 +1,140 @@ -dnl configure.in for i-scream ihost -dnl $Id: configure.in,v 1.6 2002/05/31 13:34:59 tdb Exp $ +# -*- 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 $ +# -dnl Change these to change the package name and version -AC_INIT(ihost.c) -AM_INIT_AUTOMAKE(ihost, 1.0rc1) +# 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) -dnl The file we use to pass #define's to the source +# 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) -dnl We need a CC, install, and ranlib +# Checks for programs AC_PROG_CC AC_PROG_INSTALL -AC_PROG_RANLIB -dnl And we probably need the standard C bits +# 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 +AC_CHECK_HEADERS(statgrab.h,,[AC_MSG_ERROR([need statgrab.h])]) +AC_CHECK_HEADERS(ukcprog.h,,[AC_MSG_ERROR([need ukcprog.h])]) -dnl The program needs to know whether it can use getloadavg -AC_FUNC_GETLOADAVG +# Checks for typedefs, structures, and compiler characteristics +AC_C_CONST -dnl Figure out details about the host - we need the OS +# 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 -dnl Default needing setgid kmem to false +# Default needing setgid kmem to false AM_CONDITIONAL(SETGIDKMEM, false) -dnl Set things up for different OS's -dnl We define the name of the OS so the code can act accordingly -dnl We also need to add the right LDFLAGS +# 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" - dnl FreeBSD needs ihost to be setgid kmem +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 -dnl Check for the --with-pid-file option -dnl define accordingly for the code, and subst for the scripts +# 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]) -dnl Check for the --with-max-udp-size option -dnl define accordingly for the code +# 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([UDP_MAX_PACKET_SIZE], [$max_udp_size], [Maximum size of UDP packets in kilobytes]) +AC_DEFINE_UNQUOTED([MAX_UDP_PACKET_SIZE], [$max_udp_size], [Maximum size of UDP packets in kilobytes]) -dnl And finish by changing these files -AC_OUTPUT([Makefile libstatgrab/Makefile libukcprog/Makefile ihostchk.sh], [chmod ugo+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