From Chidambaram Arunachalam:
[obnox/wireshark/wip.git] / configure.in
index 2d70ea693382e0c1a13508697fbc1096bd5023ef..7d37b20c8fe155483001f156788e35263239876c 100644 (file)
@@ -1,6 +1,6 @@
 # $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
@@ -12,13 +12,14 @@ dnl AC_CANONICAL_HOST
 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], )
@@ -139,7 +140,7 @@ AC_ARG_WITH([gcrypt],
                  [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])
@@ -235,7 +236,10 @@ AC_ARG_ENABLE(extra-gcc-checks,
                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)
@@ -243,18 +247,20 @@ AC_ARG_ENABLE(extra-gcc-checks,
                #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,
@@ -443,6 +449,30 @@ darwin*)
 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
@@ -600,7 +630,7 @@ if test "$GTK_OK" = "no" ; then
        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)"
@@ -646,6 +676,30 @@ else
   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)
 
@@ -1125,9 +1179,6 @@ AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/socket.h sys/sockio.h sys/stat.h sy
 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)
@@ -1193,6 +1244,31 @@ else
 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)
@@ -1210,7 +1286,7 @@ elif test -d "$withval"; then
        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)
@@ -1218,6 +1294,31 @@ else
 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.
@@ -1296,17 +1397,23 @@ fi
 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)
@@ -1452,6 +1559,9 @@ AC_SUBST(ENABLE_STATIC)
 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
@@ -1472,6 +1582,7 @@ AC_OUTPUT(
   asn1/ess/Makefile
   asn1/ftam/Makefile
   asn1/gnm/Makefile
+  asn1/goose/Makefile
   asn1/gsmmap/Makefile
   asn1/h225/Makefile
   asn1/h235/Makefile
@@ -1590,6 +1701,7 @@ AC_OUTPUT(
   tools/lemon/Makefile
   wiretap/Makefile
   wsutil/Makefile
+  _CUSTOM_AC_OUTPUT_
   ,)
 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
 
@@ -1638,6 +1750,12 @@ else
        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
@@ -1650,6 +1768,12 @@ 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"
@@ -1674,6 +1798,7 @@ echo "                   Use pcap library : $want_pcap"
 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"
@@ -1681,3 +1806,4 @@ echo "             Use SSL crypto library : $ssl_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"