--- projects/libstatgrab/configure.in 2004/04/06 16:37:33 1.67 +++ projects/libstatgrab/configure.in 2011/11/11 16:34:59 1.104 @@ -2,15 +2,15 @@ # Process this file with autoconf to produce a configure script. # # configure.in for libstatgrab -# $Id: configure.in,v 1.67 2004/04/06 16:37:33 tdb Exp $ +# $Id: configure.in,v 1.104 2011/11/11 16:34:59 tdb Exp $ # # Change these to change the package name and version -AC_INIT(libstatgrab, 0.10, bugs@i-scream.org) -AM_INIT_AUTOMAKE(libstatgrab, 0.10) +AC_INIT(libstatgrab, 0.18, bugs@i-scream.org) +AM_INIT_AUTOMAKE(libstatgrab, 0.18) # Revision number (automatically updated) -AC_REVISION($Revision: 1.67 $) +AC_REVISION($Revision: 1.104 $) # Might work with older autoconfs... but tested on 2.57 AC_PREREQ(2.57) @@ -23,6 +23,12 @@ AC_PROG_CC AC_PROG_INSTALL AC_PROG_LIBTOOL +dnl Check for extra flags to enable some kind of behavior +AC_CHECK_DECL([_AIX],[ac_cv_need_minus_d_linux_source_compat="yes"]) + +AS_IF([test "x$ac_cv_need_minus_d_linux_source_compat" = "xyes"], + [CPPFLAGS="$CPPFLAGS -D_LINUX_SOURCE_COMPAT"]) + # Checks for header files AC_HEADER_STDC @@ -31,15 +37,32 @@ AC_C_CONST # Checks for library functions AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS(atoll) +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 stats])], + [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 ]) + +# FreeBSD 9 (and others) uses utmpx rather than utmp +AC_CHECK_MEMBER(struct utmpx.ut_type, + [AC_DEFINE(HAVE_UTMPX, , [utmpx])], + [], + [#include ]) + # Check for sys/loadavg.h AC_CHECK_HEADERS([sys/loadavg.h]) @@ -50,6 +73,9 @@ AC_CHECK_HEADERS([libdevinfo.h]) 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 @@ -59,31 +85,44 @@ solaris2.[[6-7]]) 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"]) + AC_CHECK_LIB(m, fabs, [SAIDARLIBS="$SAIDARLIBS -lm"]) ;; 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" + AC_CHECK_LIB(m, fabs, [SAIDARLIBS="$SAIDARLIBS -lm"]) ;; +hpux11.11*|hpux11.[[23]]*) + AC_DEFINE(HPUX, , [Building on HP-UX 11.11+]) + ;; +aix[[5-9]]*) + AC_DEFINE(AIX, , [Building on AIX 5.x - 9.x]) + AC_CHECK_LIB(perfstat, perfstat_cpu_total, [LINKFLAGS="$LINKFLAGS -ldevinfo"]) + ;; 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" ;; -freebsd5.*) +freebsd[[5-9]].* | freebsd10.*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(FREEBSD, , [Building on FreeBSD]) - AC_DEFINE(FREEBSD5, , [Building on FreeBSD 5.x]) + AC_DEFINE(FREEBSD5, , [Building on FreeBSD 5.x - 10.x]) LINKFLAGS="-ldevstat" ;; netbsdelf1*) AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) AC_DEFINE(NETBSD, , [Building on NetBSD]) ;; -netbsdelf2*) +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]) @@ -96,15 +135,31 @@ 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) +linux-gnu*) AC_DEFINE(LINUX, , [Building on GNU/Linux]) AM_CONDITIONAL(SETUIDBINS, true) + BIN_OWNER="root" + BIN_PERM="4755" ;; +kfreebsd*-gnu*) + AC_DEFINE(ALLBSD, , [Building on a BSD-derived system]) + AC_DEFINE(FREEBSD, , [Building on FreeBSD]) + AC_DEFINE(FREEBSD5, , [Building on FreeBSD 5.x - 9.x]) + LINKFLAGS="-ldevstat" + ;; 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]) ;; @@ -118,7 +173,7 @@ AC_ARG_WITH([curses-prefix], SAIDARLIBS="-L${withval}/lib ${SAIDARLIBS}" fi if test -d "$withval/include"; then - SAIDARCPPFLAGS="-I${withval}/include -I${withval}/include/ncurses ${SAIRDARCPPFLAGS}" + SAIDARCPPFLAGS="-I${withval}/include ${SAIRDARCPPFLAGS}" fi ] ) @@ -211,7 +266,12 @@ AC_SUBST(SAIDARCPPFLAGS) # (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 examples/Makefile libstatgrab.pc src/statgrab/statgrab-make-mrtg-config src/statgrab/statgrab-make-mrtg-index src/saidar/Makefile]) +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