# $Id$
#
-AC_PREREQ(2.52)
+AC_PREREQ(2.60)
dnl Check for CPU / vendor / OS
dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
dnl AC_CANONICAL_BUILD
dnl AC_CANONICAL_TARGET
-AC_INIT(wireshark, 1.0.99)
+AC_INIT(wireshark, 1.1.2)
AM_INIT_AUTOMAKE([1.9 tar-ustar])
AM_DISABLE_STATIC
dnl Checks for programs.
AC_PROG_CC
+AM_PROG_CC_C_O
AC_PROG_CPP
dnl Work around libtool bug (fixed in the version 1.5a?)
AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
[use gcrypt library @<:@default=yes@:>@]),
with_gcrypt="$withval", with_gcrypt="yes")
if test "x$with_gcrypt" = "xyes"; then
- AM_PATH_LIBGCRYPT(1.1.42,
+ AM_PATH_LIBGCRYPT(1.1.92,
[
echo "libgcrypt found, enabling ipsec decryption"
AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
- AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
+ #
+ # epan/dissectors/packet-ncp2222.inc blocks this one
+ # for now.
+ #
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
#Temporarily put cast-align here waiting eradication of 'cast
#increases required alignment of target type' on the Solaris
#slave.
- AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
- #Temporarily put shadow here awaiting eradication of a pile
- #of new warnings.
+ #
+ # epan/dissectors/packet-afs.c blocks this one for now.
+ #
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
fi
],)
-AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) /* -W is now known as -Wextra */
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
#
# If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
esac
AC_SUBST(FRAMEWORKS)
+#
+# If using $prefix we add "$prefix/include" to the include search path
+# and "$prefix/lib" to the library search path.
+#
+if test "x$prefix" != "x" ; then
+ AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
+ if test -d $prefix/include ; then
+ AC_MSG_RESULT(yes)
+ #
+ # Arrange that we search for header files in "$prefix/include", as
+ # various packages we use may have been installed under "$prefix/include".
+ #
+ CFLAGS="$CFLAGS -I$prefix/include"
+ CPPFLAGS="$CPPFLAGS -I$prefix/include"
+
+ #
+ # Arrange that we search for libraries in "$prefix/lib".
+ #
+ AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+
dnl Look in /usr/local for header files and libraries ?
dnl XXX FIXME don't include /usr/local if it is already in the system
dnl search path as this causes gcc 3.2 on Linux to complain about a change
wireshark_bin=""
wireshark_man=""
# Honor GLIB_CFLAGS
- AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.0 or later distribution not found.), gmodule)
+ AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
else
wireshark_bin="wireshark\$(EXEEXT)"
have_plugins=no
fi
+dnl IGE Mac integration check
+AC_MSG_CHECKING(whether to use IGE Mac integration functions)
+
+AC_ARG_WITH(ige-mac-integration,
+ AC_HELP_STRING( [--with-ige-mac-integration],
+ [use IGE Mac integration. (@<:@default=yes, if available@:>@]),
+[
+ if test $withval = no
+ then
+ want_ige_mac_integration=no
+ else
+ want_ige_mac_integration=yes
+ fi
+],[
+ want_ige_mac_integration=yes
+])
+if test "x$want_ige_mac_integration" = "xno" -o "x$no_gtk" = "xyes" ; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_WIRESHARK_IGE_MAC_INTEGRATION_CHECK
+fi
+
+
AC_SUBST(wireshark_bin)
AC_SUBST(wireshark_man)
AC_CHECK_HEADERS(netinet/in.h)
AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
-dnl iconv check
-AM_ICONV
-
dnl SSL Check
SSL_LIBS=''
AC_MSG_CHECKING(whether to use SSL library)
fi
+dnl c-ares Check
+C_ARES_LIBS=''
+AC_MSG_CHECKING(whether to use the c-ares library if available)
+
+AC_ARG_WITH(c-ares,
+ AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
+ [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]),
+[
+if test "x$withval" = "xno"; then
+ want_c_ares=no
+elif test "x$withval" = "xyes"; then
+ want_c_ares=yes
+elif test -d "$withval"; then
+ want_c_ares=yes
+ AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+fi
+])
+if test "x$want_c_ares" = "xno" ; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_WIRESHARK_C_ARES_CHECK
+fi
+AC_SUBST(C_ARES_LIBS)
+
dnl ADNS Check
ADNS_LIBS=''
AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
fi
])
-if test "x$with_adns" = "xno" ; then
+if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
fi
AC_SUBST(ADNS_LIBS)
+dnl GEOIP Check
+GEOIP_LIBS=''
+AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
+
+AC_ARG_WITH(geoip,
+ AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
+ [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
+[
+if test "x$withval" = "xno"; then
+ want_geoip=no
+elif test "x$withval" = "xyes"; then
+ want_geoip=yes
+elif test -d "$withval"; then
+ want_geoip=yes
+ AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+fi
+])
+if test "x$want_geoip" = "xno"; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_WIRESHARK_GEOIP_CHECK
+fi
+AC_SUBST(GEOIP_LIBS)
+
#
# Define WS_VAR_IMPORT appropriately for declarations of external
# variables exported from dynamically-linked libraries.
AC_SUBST(MKSTEMP_C)
AC_SUBST(MKSTEMP_O)
-AC_CHECK_FUNC(inet_aton,
- [INET_ATON_O=""
- INET_ATON_LO=""],
- [INET_ATON_O="inet_aton.o"
- INET_ATON_LO="inet_aton.lo"
-])
-if test "$ac_cv_func_inet_aton" = no ; then
+#
+# XXX - if inet_aton isn't found, the build fails, with a complaint from
+# libtool about inet_aton.lo not being a valid libtool object. We
+# probably have to handle it - and all the other replacement functions that
+# get built into libwireshark - differently.
+#
+AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
+ have_inet_aton=no)
+if test "$have_inet_aton" = no; then
INET_ATON_C="inet_aton.c"
INET_ATON_O="inet_aton.o"
INET_ATON_LO="inet_aton.lo"
AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
+else
+ INET_ATON_C=""
+ INET_ATON_O=""
+ INET_ATON_LO=""
fi
AC_SUBST(INET_ATON_C)
AC_SUBST(INET_ATON_O)
dnl Save the cacheable configure results to config.cache before recursing
AC_CACHE_SAVE
+sinclude(plugins/Custom.m4) dnl
+ifdef(_CUSTOM_AC_OUTPUT_, '', define(_CUSTOM_AC_OUTPUT_, )) dnl
+
AM_CONFIG_HEADER(config.h)
AC_OUTPUT(
Makefile
asn1/ess/Makefile
asn1/ftam/Makefile
asn1/gnm/Makefile
+ asn1/goose/Makefile
asn1/gsmmap/Makefile
asn1/h225/Makefile
asn1/h235/Makefile
tools/lemon/Makefile
wiretap/Makefile
wsutil/Makefile
+ _CUSTOM_AC_OUTPUT_
,)
dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
krb5_message="yes ($ac_krb5_version)"
fi
+if test "x$have_good_c_ares" = "xyes" ; then
+ c_ares_message="yes"
+else
+ c_ares_message="no"
+fi
+
if test "x$have_good_adns" = "xyes" ; then
adns_message="yes"
else
libcap_message="no"
fi
+if test "x$have_good_geoip" = "xyes" ; then
+ geoip_message="yes"
+else
+ geoip_message="no"
+fi
+
echo ""
echo "The Wireshark package has been configured with the following options."
echo " Build wireshark : $enable_wireshark"
echo " Use zlib library : $zlib_message"
echo " Use pcre library : $pcre_message"
echo " Use kerberos library : $krb5_message"
+echo " Use c-ares library : $c_ares_message"
echo " Use GNU ADNS library : $adns_message"
echo " Use SMI MIB library : $libsmi_message"
echo " Use GNU crypto library : $gcrypt_message"
echo " Use IPv6 name resolution : $enable_ipv6"
echo " Use gnutls library : $tls_message"
echo " Use POSIX capabilities library : $libcap_message"
+echo " Use GeoIP library : $geoip_message"