From Vincent Helfre:
[obnox/wireshark/wip.git] / configure.in
index d624709aefbd508de9d9fe356c3bb3705ca2b98c..245e1560b2ea9c06aadcb64957b2332136aa61c9 100644 (file)
@@ -13,7 +13,7 @@ dnl AC_CANONICAL_BUILD
 dnl AC_CANONICAL_TARGET
 
 AC_INIT(wireshark, 1.0.99)
-AM_INIT_AUTOMAKE(tar-ustar)
+AM_INIT_AUTOMAKE([1.9 tar-ustar])
 
 AM_DISABLE_STATIC
 
@@ -53,9 +53,29 @@ then
        #
        AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
 fi
+
+#
+# XXX - this looks for various HTML viewers on the host, not the target;
+# we really want to know what's available on the target, for cross-builds.
+# That would probably require us to, at run time, look for xdg-open and,
+# if we don't find it, look for mozilla, htmlview, etc.
+#
 AC_PATH_PROG(HTML_VIEWER, xdg-open)
-if test "x$HTML_VIEWER" = x
+if test "x$HTML_VIEWER" != x
 then
+       #
+       # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
+       # Define some variable to be that, so we just run that?
+       #
+       AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
+
+       #
+       # XXX - we have to define HTML_VIEWER for the prefs.c code that
+       # sets the default value of the Web browser preference, even
+       # though that preference won't be offered.
+       #
+       AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
+else
        AC_PATH_PROG(HTML_VIEWER, htmlview)
        if test "x$HTML_VIEWER" = x
        then
@@ -63,13 +83,6 @@ then
        else
                AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
        fi
-else
-       #
-       # XXX - define something to be the full path of xdg-open, so we
-       # just run that?
-       #
-       AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
-       AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
 fi
 
 AC_PATH_PROG(LEX, flex)
@@ -126,7 +139,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])
@@ -222,7 +235,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)
@@ -230,15 +246,19 @@ 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)
+               #
+               # 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)
 
 #
 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
@@ -584,14 +604,14 @@ if test "$GTK_OK" = "no" ; then
        wireshark_bin=""
        wireshark_man=""
        # Honor GLIB_CFLAGS
-       AM_PATH_GLIB_2_0(2.0.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.0 or later distribution not found.), gmodule)
 
 else
        wireshark_bin="wireshark\$(EXEEXT)"
        wireshark_man="wireshark.1"
         wireshark_SUBDIRS="codecs gtk"
        # Honor GLIB_CFLAGS
-       AM_PATH_GLIB_2_0(2.0.0, , AC_MSG_ERROR(GLib 2.0 or later distribution not found.), gmodule)
+       AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
 fi
 
 #
@@ -630,66 +650,6 @@ else
   have_plugins=no
 fi
 
-#
-# We can't just check for <inttypes.h> - some systems have one that
-# doesn't define all the PRI[doxu]64 macros.
-#
-AC_CHECK_HEADERS(inttypes.h,
-  [
-    #
-    # OK, we have inttypes.h, but does it define those macros?
-    #
-    AC_MSG_CHECKING([[whether inttypes.h defines the PRI[doxu]64 macros]])
-    AC_COMPILE_IFELSE(
-      [
-       AC_LANG_SOURCE(
-         [[
-           #include <inttypes.h>
-           #include <glib.h>
-           #include <stdio.h>
-           #include <sys/types.h>
-
-           main()
-           {
-             printf("%" PRId64 "\n", (gint64)1);
-             printf("%" PRIo64 "\n", (guint64)1);
-             printf("%" PRIx64 "\n", (guint64)1);
-             printf("%" PRIX64 "\n", (guint64)1);
-             printf("%" PRIu64 "\n", (guint64)1);
-           }
-         ]])
-      ],
-      [
-       AC_MSG_RESULT(yes)
-       ac_wireshark_inttypes_h_defines_formats=yes
-      ],
-      [
-       AC_MSG_RESULT(no)
-       ac_wireshark_inttypes_h_defines_formats=no
-      ])
-  ],
-  [
-    #
-    # We don't have inttypes.h, so it obviously can't define those
-    # macros.
-    #
-    ac_wireshark_inttypes_h_defines_formats=no
-  ])
-if test "$ac_wireshark_inttypes_h_defines_formats" = yes; then
-  AC_DEFINE(INTTYPES_H_DEFINES_FORMATS,,[Define if <inttypes.h> defines PRI[doxu]64 macros])
-else
-  AC_WIRESHARK_CHECK_64BIT_FORMAT(ll,
-    [
-      AC_WIRESHARK_CHECK_64BIT_FORMAT(L,
-       [
-         AC_WIRESHARK_CHECK_64BIT_FORMAT(q,
-           [
-             AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer])
-           ])
-       ])
-    ])
-fi
-
 AC_SUBST(wireshark_bin)
 AC_SUBST(wireshark_man)
 
@@ -1164,15 +1124,11 @@ fi
 AC_SUBST(LIBCAP_LIBS)
 
 dnl Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
+AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
 AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/socket.h sys/sockio.h sys/stat.h sys/time.h sys/types.h sys/utsname.h sys/wait.h)
 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)
@@ -1290,45 +1246,6 @@ AC_C_BIGENDIAN
 # XXX - do we need this?
 AC_PROG_GCC_TRADITIONAL
 
-#
-# Does GLib define G_GINT64_MODIFIER?
-#
-AC_MSG_CHECKING([[whether glib.h defines the G_GINT64_MODIFIER macro]])
-AC_COMPILE_IFELSE(
-  [
-    AC_LANG_SOURCE(
-      [[
-       #include <glib.h>
-       #include <glib/gprintf.h>
-       #include <stdio.h>
-
-       main()
-       {
-         char strbuf[16+1];
-         g_snprintf(strbuf, sizeof strbuf, "%" G_GINT64_MODIFIER "x\n", (gint64)1);
-       }
-      ]])
-  ],
-  [
-    AC_MSG_RESULT(yes)
-  ],
-  [
-    AC_MSG_RESULT(no)
-    AC_WIRESHARK_CHECK_64BIT_FORMAT(l,
-      [
-      AC_WIRESHARK_CHECK_64BIT_FORMAT(ll,
-       [
-         AC_WIRESHARK_CHECK_64BIT_FORMAT(L,
-           [
-             AC_WIRESHARK_CHECK_64BIT_FORMAT(q,
-               [
-                 AC_MSG_ERROR([neither %lx nor %llx nor %Lx nor %qx worked on a 64-bit integer])
-               ])
-           ])
-       ])
-    ])
-  ])
-
 GETOPT_C=""
 GETOPT_O=""
 AC_CHECK_FUNC(getopt, GETOPT_O="",
@@ -1380,28 +1297,6 @@ fi
 AC_SUBST(MKSTEMP_C)
 AC_SUBST(MKSTEMP_O)
 
-ac_save_LIBS="$LIBS"
-LIBS="$GLIB_LIBS $LIBS"
-G_ASCII_STRTOULL_C=""
-G_ASCII_STRTOULL_O=""
-G_ASCII_STRTOULL_LO=""
-AC_CHECK_FUNC(g_ascii_strtoull,
-  [G_ASCII_STRTOULL_O=""
-   G_ASCII_STRTOULL_LO=""],
-  [G_ASCII_STRTOULL_O="g_ascii_strtoull.o"
-   G_ASCII_STRTOULL_LO="g_ascii_strtoull.lo"
-   AC_DEFINE(NEED_G_ASCII_STRTOULL_H, 1, [Define if g_ascii_strtoull.h needs to be included])
-])
-LIBS="$ac_save_LIBS"
-if test "$ac_cv_func_g_ascii_strtoull" = no ; then
-  G_ASCII_STRTOULL_C="g_ascii_strtoull.c"
-  G_ASCII_STRTOULL_O="g_ascii_strtoull.o"
-  G_ASCII_STRTOULL_LO="g_ascii_strtoull.lo"
-fi
-AC_SUBST(G_ASCII_STRTOULL_C)
-AC_SUBST(G_ASCII_STRTOULL_O)
-AC_SUBST(G_ASCII_STRTOULL_LO)
-
 AC_CHECK_FUNC(inet_aton,
   [INET_ATON_O=""
    INET_ATON_LO=""],
@@ -1654,6 +1549,7 @@ AC_OUTPUT(
   help/Makefile
   packaging/Makefile
   packaging/macosx/Info.plist
+  packaging/macosx/Makefile
   packaging/nsis/Makefile
   packaging/rpm/Makefile
   packaging/rpm/SPECS/Makefile
@@ -1684,6 +1580,7 @@ AC_OUTPUT(
   plugins/rtnet/Makefile
   plugins/rudp/Makefile
   plugins/sbus/Makefile
+  plugins/sercosiii/Makefile
   plugins/stats_tree/Makefile
   plugins/unistim/Makefile
   plugins/v5ua/Makefile
@@ -1693,6 +1590,7 @@ AC_OUTPUT(
   tools/idl2wrs.sh
   tools/lemon/Makefile
   wiretap/Makefile
+  wsutil/Makefile
   ,)
 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
 
@@ -1783,4 +1681,4 @@ echo "             Use GNU crypto library : $gcrypt_message"
 echo "             Use SSL crypto library : $ssl_message"
 echo "           Use IPv6 name resolution : $enable_ipv6"
 echo "                 Use gnutls library : $tls_message"
-echo "                 Use libcap library : $libcap_message"
+echo "     Use POSIX capabilities library : $libcap_message"