aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/configure.in
blob: 2c315ce7bf8c23961dbed37fccc2a9ff425f28a7 (plain)
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
# $Id: configure.in,v 1.15 1999/09/24 06:38:22 guy Exp $
dnl Process this file with autoconf to produce a configure script.
AC_INIT(wtap.c)
AM_INIT_AUTOMAKE(libwtap.a, 0.0.0)
AM_CONFIG_HEADER(config.h)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_YACC
AM_PROG_LEX
AC_PROG_RANLIB
AC_PATH_PROG(LEX, flex)

AC_SUBST(FLEX_PATH)

# If we're running gcc, add '-Wall' to CFLAGS.
AC_MSG_CHECKING(to see if we can add '-Wall' to CFLAGS)
if test x$GCC != x ; then
  CFLAGS="-Wall $CFLAGS"
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no)
fi

# Checks for glib first, or gtk+ if not present
AM_PATH_GLIB(1.1.0, CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS")

if test "x$GLIB_CFLAGS" = x ; then
 AM_PATH_GTK(1.0.0, CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS",
                    AC_MSG_ERROR(GTK+ library not found.))
 AC_DEFINE(HAVE_GLIB10)
fi

dnl Checks for header files
dnl WARNING: do *NOT* check for "unistd.h" unless you work around the
dnl following problem:
dnl
dnl At least on FreeBSD 3.2, "/usr/include/zlib.h" includes
dnl "/usr/include/zconf.h", which, if HAVE_UNISTD_H is defined,
dnl #defines "z_off_t" to be "off_t", and if HAVE_UNISTD_H is
dnl not defines, #defines "z_off_t" to be "long" if it's not
dnl already #defined.
dnl
dnl In 4.4-Lite-derived systems such as FreeBSD, "off_t" is
dnl "long long int", not "long int", so the definition of "z_off_t" -
dnl and therefore the types of the arguments to routines such as
dnl "gzseek()", as declared, with prototypes, in "zlib.h" - depends
dnl on whether HAVE_UNISTD_H is defined prior to including "zlib.h"!
dnl
dnl It's not defined in the FreeBSD 3.2 "zlib", so if we include "zlib.h"
dnl after defining HAVE_UNISTD_H, we get a misdeclaration of "gzseek()",
dnl and, if we're building with "zlib" support, anything that seeks
dnl on a file may not work.
dnl
dnl Other BSDs may have the same problem, if they haven't done something
dnl such as defining HAVE_UNISTD_H in "zconf.h".
dnl
dnl If "config.h" defines HAVE_UNISTD_H - which it will, on all systems
dnl that have it, if we test for it here, and all 4.4-Lite-derived
dnl BSDs have it - then, given that "zlib.h" is included by "file.h",
dnl that means that unless we include "zlib.h" before we include
dnl "config.h", we get a misdeclaration of "gzseek()".
dnl
dnl Unfortunately, it's "config.h" that tells us whether we have "zlib"
dnl in the first place, so we don't know whether to include "zlib.h"
dnl until we include "config.h"....
dnl
dnl Fortunately, we don't use "unistd.h", so we don't need to check
dnl for it.
dnl
dnl If we ever *do* end up requiring HAVE_UNISTD_H, a fix might be to
dnl turn "file_seek()" into a subroutine, at least if HAVE_ZLIB is
dnl defined, have it take an "off_t" as its second argument, and
dnl put it into a file that doesn't require HAVE_UNISTD_H.
dnl
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/time.h netinet/in.h)

dnl zlib check
AC_ARG_ENABLE(zlib,
[  --enable-zlib           use zlib to read compressed data.  [default=yes]],,enable_zlib=yes)

AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
if test "x$enable_zlib" = "xno" ; then
        AC_MSG_RESULT(no)
else
        AC_MSG_RESULT(yes)
	AC_WIRETAP_ZLIB_CHECK
fi

AC_OUTPUT(Makefile)