aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/configure.in
blob: f3bf9d3f0df44ff1a084ebcfff261c0b6b5af83e (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# $Id: configure.in,v 1.18 1999/12/04 05:14:38 guy Exp $
dnl
dnl Process this file with autoconf 2.13 or later to produce a
dnl configure script; 2.12 doesn't generate a "configure" script that
dnl defines SHELL, and "Makefile.in" has
dnl
dnl	SHELL = @SHELL@
dnl
dnl which requires it to be defined - and there may be other problems
dnl with pre-2.13 "autoconf" as well.
dnl
AC_INIT(wtap.c)

AC_PREREQ(2.13)

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)

AC_CANONICAL_HOST

# We must know our byte order
AC_C_BIGENDIAN

dnl zlib check
AC_ARG_ENABLE(zlib,
[  --enable-zlib           use zlib to read compressed data.  [default=yes]],, [dnl
case "$host_os" in
netbsd*)	enable_zlib=no;;
*)		enable_zlib=yes;;
esac])

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)