File: configure.in

package info (click to toggle)
tcpstat 1.4-4.1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 456 kB
  • ctags: 324
  • sloc: ansic: 2,050; sh: 331; makefile: 82
file content (192 lines) | stat: -rw-r--r-- 5,182 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
dnl Process this file with autoconf to produce a configure script.
dnl
dnl $Id: configure.in,v 1.31 2001/01/15 21:25:20 pherman Exp $
dnl

AC_INIT(src/tcpstat.c)
AM_INIT_AUTOMAKE(tcpstat, 1.4)
AM_CONFIG_HEADER(config.h)

dnl ###########################
dnl First, setup my own options
dnl ###########################
AC_ARG_WITH(pcap-include,
	[  --with-pcap-include=DIR pcap.h is in DIR])
if test "x$with_pcap_include" = x -o "x$with_pcap_include" = xno
then
# Try to make an educated guess
# Hacks for crazy Linux distributions.
#  C'mon kids get it together, woncha? I mean, base distros go in /usr
#  and everything else goes in /usr/local... sheesh.
#   Redhat	- /usr/include/pcap
#   SuSE	- /usr/include/nessus
  for pdir in /usr/include/pcap /usr/include/nessus /usr/local/include /usr/local/include/pcap
  do
    if test -r ${pdir}/pcap.h
    then CPPFLAGS="-I${pdir} "$CPPFLAGS; break
    fi
  done
else
  CPPFLAGS=" -I${with_pcap_include} "$CPPFLAGS
fi

AC_ARG_WITH(pcap-lib,
	[  --with-pcap-lib=DIR     libpcap.a is in DIR])
if test "x$with_pcap_lib" = x -o "x$with_pcap_lib" = xno
then
# Try to make an educated guess
  for pdir in /usr/local/lib /opt/lib /vol/lib
  do
    if test -r ${pdir}/libpcap.a
    then LDFLAGS="-L${pdir} "$LDFLAGS; break
    fi
  done
else
  LDFLAGS=" -L${with_pcap_lib} "$LDFLAGS
fi

AC_ARG_ENABLE(fdesc,
	[  --disable-fdesc         do this if installed setuid])
if test "x$enable_fdesc" = xno
then AC_DEFINE(NO_FILEDESC)
fi

dnl ######################################
dnl CHECK FOR VARIOUS OSES (Linux, etc...)
dnl ######################################
AC_MSG_CHECKING([to see if I can guess the OS to build for])
my_build_os=${build_os:-`uname -s | tr 'A-Z' 'a-z'`}
if test "x$my_build_os" = x
then AC_MSG_ERROR([Can't determine OS.  Broken uname?])
else echo ${my_build_os}
fi
case $my_build_os in
	linux*)		AC_DEFINE(_BSD_SOURCE) ;;
	bsd/os*)	;;
	sunos*)		;;
esac

dnl #########################
dnl Set Global make Variables
dnl #########################
AC_MSG_CHECKING([for \$CFLAGS environment variable])
if test "x${CFLAGS}" = "x"
then
  CFLAGS="-O"
  echo "None.  Using "$CFLAGS
else
  echo $CFLAGS
fi

dnl ###################
dnl Checks for programs
dnl ###################
AC_PROG_CC
AC_PROG_RANLIB


dnl #######################
dnl Checks for header files
dnl #######################
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(sys/time.h sys/stat.h unistd.h strings.h fcntl.h netinet/ip6.h)

dnl BSD/OS Seems to not have a good ethernet header, so we gotta wing it
AC_CHECK_HEADERS(net/ethernet.h net/ppp_defs.h)

dnl #############################################################
dnl Checks for typedefs, structures, and compiler characteristics
dnl #############################################################
AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME

dnl ############################
dnl Checks for library functions
dnl ############################
AC_CHECK_FUNCS(strtol strtoul ualarm perror inet_ntop)
AC_CHECK_FUNCS(snprintf, , [
echo "WARNING:  You don't seem to have snprintf() (Solaris 2.5.x?)"
echo "          There may be a slight security problem without it."
echo "          Probably not -- but you have been warned."
])

#dnl Solaris prefers perror
#AC_CHECK_FUNC(err, [:], [
# AC_CHECK_FUNC(perror, AC_DEFINE(USE_PERROR_INSTEAD), [ : ])
# ])

dnl math lib?
MATHLIB=""
AC_CHECK_LIB(m, sqrt, MATHLIB="-lm")

dnl socket?  Solaris has it somewhere else.
AC_CHECK_LIB(c, socket, [:], [
 AC_CHECK_LIB(socket, socket, [
  LIBS="-lsocket $LIBS"
  ], []) ])

dnl gethostbyaddr?  Solaris has it somewhere else.
AC_CHECK_LIB(c, gethostbyaddr, [:], [
 AC_CHECK_LIB(nsl, gethostbyaddr, [
  LIBS="-lnsl $LIBS"
  ], []) ])

dnl getprotobynumber?  Solaris has it somewhere else.
dnl hope the rest is also there (getnetbyname, getservbyport, etc.)
AC_CHECK_LIB(c, getprotobynumber, [:], [
 AC_CHECK_LIB(nsl, getprotobynumber, [
  LIBS="-lnsl $LIBS"
  ], []) ])

dnl pcap lib?
AC_CHECK_HEADERS(net/bpf.h)
AC_CHECK_HEADERS(pcap.h, [:], [
 AC_MSG_ERROR([
  I couldn't find pcap.h.  Please install libpcap.
  If you already have... then please rerun configure with the option
    --with-pcap-include=DIR
  with "DIR" being where pcap is found.])
])

AC_CHECK_LIB(pcap, pcap_major_version, LIBS="-lpcap $LIBS", [
 AC_MSG_ERROR([
  I couldn't find libpcap.  Please install libpcap.
  If you already have... then please rerun configure with the option
    --with-pcap-lib=DIR
  with "DIR" being where libpcap is found.])
])

dnl look for dbopen for tcpprof
TCPPROF=""
LD_TCPPROF=""
AC_CHECK_LIB(c, dbopen, [ TCPPROF=tcpprof ], [
 AC_CHECK_LIB(db1, dbopen, [
  TCPPROF=tcpprof
  LD_TCPPROF="-ldb1"
  AC_DEFINE(USE_DB1_LIBRARY)
  ], [
  AC_MSG_WARN([

  *** WARNING ***
  I couldn't locate the Berkeley DB library.  The extra utility
  "tcpprof" will not be built.  THIS IS OK!!!  "tcpstat" will
  continue to be built as if this never happened.

  If you wish to use the extra "tcpprof" program, please install
  the Berkeley DB library from:
      ftp://ftp.cs.berkeley.edu/ucb/4bsd/db.tar.gz
    ])
  ])
])
AC_SUBST(TCPPROF)
AC_SUBST(LD_TCPPROF)
AC_SUBST(MATHLIB)

AC_OUTPUT([
Makefile
doc/Makefile
lib/Makefile
src/Makefile
])