# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # # configure.in for libstatgrab # $Id: configure.in,v 1.92 2007/01/05 13:35:26 tdb Exp $ # # Change these to change the package name and version AC_INIT(libstatgrab, 0.15, bugs@i-scream.org) AM_INIT_AUTOMAKE(libstatgrab, 0.15) AM_MAINTAINER_MODE # Revision number (automatically updated) AC_REVISION($Revision: 1.92 $) # 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_LIBTOOL # Checks for header files AC_HEADER_STDC # Checks for typedefs, structures, and compiler characteristics AC_C_CONST # Checks for library functions AC_FUNC_MALLOC AC_CHECK_FUNCS(atoll seteuid setegid setresuid setresgid) # Disk IO read and write statistics are only present on recent NetBSD. AC_CHECK_MEMBER(struct disk_sysctl.dk_rbytes, [AC_DEFINE(HAVE_DK_RBYTES, , [New-style NetBSD disk stats])], [], [#include ]) # Disk IO read and write statistics are only present on recent OpenBSD. AC_CHECK_MEMBER(struct diskstats.ds_rbytes, [AC_DEFINE(HAVE_DS_RBYTES, , [New-style OpenBSD disk stats])], [], [#include ]) # NetBSD 2.0 uses statvfs rather than statfs AC_CHECK_MEMBER(struct statvfs.f_fstypename, [AC_DEFINE(HAVE_STATVFS, , [NetBSD 2.0 statvfs])], [], [#include ]) # Check for sys/loadavg.h AC_CHECK_HEADERS([sys/loadavg.h]) # Check for libdevinfo.h AC_CHECK_HEADERS([libdevinfo.h]) # Default needing setgid/setuid to false AM_CONDITIONAL(SETGIDBINS, false) AM_CONDITIONAL(SETUIDBINS, false) # Default MINGW setting AM_CONDITIONAL(MINGW, 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.[[6-7]]) AC_CHECK_HEADERS([kstat.h],,[AC_MSG_ERROR([need kstat.h])]) AC_DEFINE(SOLARIS, , [Building on Solaris 2.x]) AC_DEFINE(SOL7, , [Building on Solaris 2.6 or 2.7]) AM_CONDITIONAL(SETUIDBINS, true) BIN_OWNER="root" BIN_PERM="4755" LINKFLAGS="-lkstat -lsocket -lnsl" AC_CHECK_LIB(devinfo, di_init, [LINKFLAGS="$LINKFLAGS -ldevinfo"]) ;; solaris2.*) AC_CHECK_HEADERS([kstat.h],,[AC_MSG_ERROR([need kstat.h])]) AC_DEFINE(SOLARIS, , [Building on Solaris 2.x]) LINKFLAGS="-lkstat -ldevinfo -lsocket -lnsl" ;; hpux11.11*) AC_DEFINE(HPUX, , [Building on HP-UX 11.11]) ;; freebsd4.*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(FREEBSD, , [Building on FreeBSD]) AM_CONDITIONAL(SETGIDBINS, true) BIN_GROUP="kmem" BIN_PERM="2755" LINKFLAGS="-lkvm -ldevstat" ;; freebsd[[5-7]].*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(FREEBSD, , [Building on FreeBSD]) AC_DEFINE(FREEBSD5, , [Building on FreeBSD 5.x - 7.x]) LINKFLAGS="-ldevstat" ;; netbsdelf1*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(NETBSD, , [Building on NetBSD]) ;; netbsdelf[[2-3]]*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(NETBSD, , [Building on NetBSD]) AC_DEFINE(NETBSD2, , [Building on NetBSD 2.x]) ;; openbsd*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(OPENBSD, , [Building on OpenBSD]) ;; dragonfly*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(DFBSD, , [Building on DragonFlyBSD]) AM_CONDITIONAL(SETGIDBINS, true) BIN_GROUP="kmem" BIN_PERM="2755" LINKFLAGS="-lkvm -ldevstat" ;; linux-gnu) AC_DEFINE(LINUX, , [Building on GNU/Linux]) AM_CONDITIONAL(SETUIDBINS, true) BIN_OWNER="root" BIN_PERM="4755" ;; cygwin) AC_DEFINE(CYGWIN, , [Building on Cygwin]) ;; mingw32) AC_DEFINE(MINGW, , [Building on MinGW]) AC_DEFINE(WINVER, 0x0500, [Building for Windows 2000]) AM_CONDITIONAL(MINGW, true) LINKFLAGS="-lpdh -lIphlpapi -lpsapi -lnetapi32" ;; *) AC_MSG_ERROR([Cannot build on unknown OS: $host_os]) ;; esac # User specified curses/ncurses prefix AC_ARG_WITH([curses-prefix], [ --with-curses-prefix=PATH curses (or ncurses) is in PATH], [ if test -d "$withval/lib"; then SAIDARLIBS="-L${withval}/lib ${SAIDARLIBS}" fi if test -d "$withval/include"; then SAIDARCPPFLAGS="-I${withval}/include ${SAIRDARCPPFLAGS}" fi ] ) # Check if user wants to disable statgrab AM_CONDITIONAL(STATGRAB, true) AC_ARG_ENABLE(statgrab, [ --disable-statgrab disable building of statgrab], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(STATGRAB, false) fi ] ) # Check if user wants to disable saidar AM_CONDITIONAL(SAIDAR, true) AC_ARG_ENABLE(saidar, [ --disable-saidar disable building of saidar], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(SAIDAR, false) fi ], [ # saidar needs curses # (if we don't find curses we disable saidar) MP_WITH_CURSES ] ) # Check if the user would prefer not to build examples AM_CONDITIONAL(EXAMPLES, true) AC_ARG_ENABLE(examples, [ --disable-examples disable building of examples], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(EXAMPLES, false) fi ] ) # Check if user wants to install manpages AM_CONDITIONAL(MANPAGES, true) AC_ARG_ENABLE(manpages, [ --disable-manpages disable installation of manpages], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(MANPAGES, false) fi ] ) # Check if the user wants to turn off setgid binaries AC_ARG_ENABLE(setgid-binaries, [ --disable-setgid-binaries disable binaries being setgid], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(SETGIDBINS, false) fi ] ) # Check if the user wants to turn off setuid binaries AC_ARG_ENABLE(setuid-binaries, [ --disable-setuid-binaries disable binaries being setuid], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(SETUIDBINS, false) fi ] ) # Check if the user would prefer not to include compatibility code AM_CONDITIONAL(DEPRECATED, true) AC_ARG_ENABLE(deprecated, [ --disable-deprecated disable inclusion of pre-0.10 compatibility code], [ if test "x$enableval" = "xno" ; then AM_CONDITIONAL(DEPRECATED, false) fi ] ) # The LIBS and CPPFLAGS that saidar needs AC_SUBST(SAIDARLIBS) AC_SUBST(SAIDARCPPFLAGS) # The flags needed to link to libstatgrab # (ie. our dependencies) AC_SUBST(LINKFLAGS) # Ownership and permissions possibly needed for binaries AC_SUBST(BIN_OWNER) AC_SUBST(BIN_GROUP) AC_SUBST(BIN_PERM) # And finish by changing these files AC_CONFIG_FILES([Makefile src/Makefile src/libstatgrab/Makefile src/statgrab/Makefile docs/Makefile docs/libstatgrab/Makefile docs/statgrab/Makefile docs/saidar/Makefile examples/Makefile libstatgrab.pc src/statgrab/statgrab-make-mrtg-config src/statgrab/statgrab-make-mrtg-index src/saidar/Makefile]) AC_OUTPUT