ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/configure.in
Revision: 1.57
Committed: Sat Feb 14 16:58:18 2004 UTC (20 years, 9 months ago) by ats
Branch: MAIN
Changes since 1.56: +4 -4 lines
Log Message:
Rework iface_stat code for Solaris so that it uses SIOCGIFFLAGS to find out
whether an interface is up or not. This means that we need to link with
-lsocket -lnsl now to get socket().

Also make the comment about when bytes-transferred stats a bit more explicit.
We're now in the slightly odd situation where it's possible for an interface to
show up in either or both of get_network_stats and get_network_iface_stats: for
instance, on raptor at the moment, ce0 is in use so shows up in both, lo0
doesn't have kstats for bytes transferred and thus only shows up in the second,
and ce1 exists but hasn't been plumbed so only shows up in the first. I'd be
mildly inclined to "fix" this by making get_network_stats do a SIOCGIFFLAGS
ioctl so unplumbed interfaces don't show up at all (and add packets
received/transmited to the get_network_stats result so we can at least show
something for lo0).

File Contents

# User Rev Content
1 tdb 1.4 # -*- Autoconf -*-
2     # Process this file with autoconf to produce a configure script.
3     #
4     # configure.in for libstatgrab
5 ats 1.57 # $Id: configure.in,v 1.56 2004/02/14 12:20:02 tdb Exp $
6 tdb 1.4 #
7 tdb 1.1
8 tdb 1.4 # Change these to change the package name and version
9 tdb 1.55 AC_INIT(libstatgrab, 0.9, bugs@i-scream.org)
10     AM_INIT_AUTOMAKE(libstatgrab, 0.9)
11 tdb 1.1
12 tdb 1.4 # Revision number (automatically updated)
13 ats 1.57 AC_REVISION($Revision: 1.56 $)
14 tdb 1.1
15 tdb 1.4 # Might work with older autoconfs... but tested on 2.57
16     AC_PREREQ(2.57)
17    
18     # The file we use to pass #define's to the source
19     AM_CONFIG_HEADER([config.h])
20    
21     # Checks for programs
22 tdb 1.1 AC_PROG_CC
23     AC_PROG_INSTALL
24 tdb 1.2 AC_PROG_LIBTOOL
25 tdb 1.1
26 tdb 1.4 # Checks for header files
27 tdb 1.1 AC_HEADER_STDC
28    
29 tdb 1.4 # Checks for typedefs, structures, and compiler characteristics
30     AC_C_CONST
31 tdb 1.1
32 tdb 1.4 # Checks for library functions
33     AC_FUNC_MALLOC
34     AC_FUNC_REALLOC
35 tdb 1.17 AC_CHECK_FUNCS(atoll)
36 ats 1.39
37     # Disk IO read and write statistics are only present on recent NetBSD.
38     AC_CHECK_MEMBER(struct disk_sysctl.dk_rbytes,
39     [AC_DEFINE(HAVE_DK_RBYTES, , [New-style NetBSD stats])],
40     [],
41     [#include <sys/disk.h>])
42 tdb 1.50
43 tdb 1.51 # Check for sys/loadavg.h
44 tdb 1.50 AC_CHECK_HEADERS([sys/loadavg.h])
45 tdb 1.51
46     # Check for libdevinfo.h
47     AC_CHECK_HEADERS([libdevinfo.h])
48 tdb 1.4
49 tdb 1.46 # Default needing setgid/setuid to false
50 tdb 1.35 AM_CONDITIONAL(SETGIDBINS, false)
51 tdb 1.46 AM_CONDITIONAL(SETUIDBINS, false)
52 tdb 1.35
53 tdb 1.4 # Set things up for different OS's
54     # We define the name of the OS so the code can act accordingly
55     # We also need to add the right LDFLAGS
56 tdb 1.1 case $host_os in
57 tdb 1.8 solaris2.[[6-7]])
58     AC_CHECK_HEADERS([kstat.h],,[AC_MSG_ERROR([need kstat.h])])
59     AC_DEFINE(SOLARIS, , [Building on Solaris 2.x])
60 tdb 1.52 AC_DEFINE(SOL7, , [Building on Solaris 2.6 or 2.7])
61 tdb 1.46 AM_CONDITIONAL(SETUIDBINS, true)
62 ats 1.57 LINKFLAGS="-lkstat -lsocket -lnsl"
63 tdb 1.52 AC_CHECK_LIB(devinfo, di_init, [LINKFLAGS="$LINKFLAGS -ldevinfo"])
64 tdb 1.8 ;;
65 tdb 1.1 solaris2.*)
66 tdb 1.4 AC_CHECK_HEADERS([kstat.h],,[AC_MSG_ERROR([need kstat.h])])
67 tdb 1.1 AC_DEFINE(SOLARIS, , [Building on Solaris 2.x])
68 tdb 1.46 AM_CONDITIONAL(SETUIDBINS, true)
69 ats 1.57 LINKFLAGS="-lkstat -ldevinfo -lsocket -lnsl"
70 tdb 1.1 ;;
71     freebsd4.*)
72 ats 1.38 AC_DEFINE(ALLBSD, , [Building on a BSD-derived system])
73 tdb 1.34 AC_DEFINE(FREEBSD, , [Building on FreeBSD])
74 tdb 1.35 AM_CONDITIONAL(SETGIDBINS, true)
75 tdb 1.34 LINKFLAGS="-lkvm -ldevstat"
76     ;;
77     freebsd5.*)
78 ats 1.38 AC_DEFINE(ALLBSD, , [Building on a BSD-derived system])
79 tdb 1.34 AC_DEFINE(FREEBSD, , [Building on FreeBSD])
80     AC_DEFINE(FREEBSD5, , [Building on FreeBSD 5.x])
81 tdb 1.35 AM_CONDITIONAL(SETGIDBINS, true)
82 tdb 1.29 LINKFLAGS="-lkvm -ldevstat"
83 ats 1.38 ;;
84 tdb 1.42 netbsdelf*)
85 ats 1.38 AC_DEFINE(ALLBSD, , [Building on a BSD-derived system])
86     AC_DEFINE(NETBSD, , [Building on NetBSD])
87 tdb 1.54 ;;
88     openbsd*)
89     AC_DEFINE(ALLBSD, , [Building on a BSD-derived system])
90     AC_DEFINE(OPENBSD, , [Building on OpenBSD])
91 tdb 1.1 ;;
92     linux-gnu)
93     AC_DEFINE(LINUX, , [Building on GNU/Linux])
94 tdb 1.43 ;;
95     cygwin)
96     AC_DEFINE(CYGWIN, , [Building on Cygwin])
97 tdb 1.1 ;;
98     *)
99     AC_MSG_ERROR([Cannot build on unknown OS: $host_os])
100     ;;
101     esac
102 tdb 1.29
103 tdb 1.31 # User specified curses/ncurses prefix
104     AC_ARG_WITH([curses-prefix],
105     [ --with-curses-prefix=PATH curses (or ncurses) is in PATH],
106     [
107     if test -d "$withval/lib"; then
108     SAIDARLIBS="-L${withval}/lib ${SAIDARLIBS}"
109     fi
110     if test -d "$withval/include"; then
111 tdb 1.32 SAIDARCPPFLAGS="-I${withval}/include -I${withval}/include/ncurses ${SAIRDARCPPFLAGS}"
112 tdb 1.31 fi
113     ]
114     )
115    
116     # Check if user wants to disable statgrab
117     AM_CONDITIONAL(STATGRAB, true)
118     AC_ARG_ENABLE(statgrab,
119     [ --disable-statgrab disable building of statgrab],
120     [
121     if test "x$enableval" = "xno" ; then
122     AM_CONDITIONAL(STATGRAB, false)
123     fi
124     ]
125     )
126    
127     # Check if user wants to disable saidar
128     AM_CONDITIONAL(SAIDAR, true)
129     AC_ARG_ENABLE(saidar,
130     [ --disable-saidar disable building of saidar],
131     [
132     if test "x$enableval" = "xno" ; then
133     AM_CONDITIONAL(SAIDAR, false)
134     fi
135     ],
136     [
137     # saidar needs curses
138     # (if we don't find curses we disable saidar)
139     MP_WITH_CURSES
140     ]
141     )
142    
143     # Check if the user would prefer not to build examples
144     AM_CONDITIONAL(EXAMPLES, true)
145     AC_ARG_ENABLE(examples,
146     [ --disable-examples disable building of examples],
147     [
148     if test "x$enableval" = "xno" ; then
149     AM_CONDITIONAL(EXAMPLES, false)
150     fi
151     ]
152     )
153    
154     # Check if user wants to install manpages
155     AM_CONDITIONAL(MANPAGES, true)
156     AC_ARG_ENABLE(manpages,
157     [ --disable-manpages disable installation of manpages],
158     [
159     if test "x$enableval" = "xno" ; then
160     AM_CONDITIONAL(MANPAGES, false)
161     fi
162     ]
163 tdb 1.35 )
164    
165     # Check if the user wants to turn off setgid binaries
166     AC_ARG_ENABLE(setgid-binaries,
167     [ --disable-setgid-binaries disable binaries being setgid],
168     [
169     if test "x$enableval" = "xno" ; then
170     AM_CONDITIONAL(SETGIDBINS, false)
171 tdb 1.46 fi
172     ]
173     )
174    
175     # Check if the user wants to turn off setuid binaries
176     AC_ARG_ENABLE(setuid-binaries,
177     [ --disable-setuid-binaries disable binaries being setuid],
178     [
179     if test "x$enableval" = "xno" ; then
180     AM_CONDITIONAL(SETUIDBINS, false)
181 tdb 1.35 fi
182     ]
183 tdb 1.31 )
184    
185     # The LIBS and CPPFLAGS that saidar needs
186     AC_SUBST(SAIDARLIBS)
187     AC_SUBST(SAIDARCPPFLAGS)
188    
189     # The flags needed to link to libstatgrab
190     # (ie. our dependencies)
191 tdb 1.29 AC_SUBST(LINKFLAGS)
192 tdb 1.1
193 tdb 1.4 # And finish by changing these files
194 tdb 1.31 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])
195 tdb 1.4
196     AC_OUTPUT