Re-generate a number of ASN.1-based dissectors with the most recent
[obnox/wireshark/wip.git] / configure.in
index a712bf4b76da0dd19a50ffe9401c72954e329cb1..a4a5d2c2be97b72d6cf896ff9c4321ab1cd8221d 100644 (file)
@@ -8,7 +8,7 @@ dnl Check for CPU / vendor / OS
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
 
-AM_INIT_AUTOMAKE(ethereal, 0.10.5)
+AM_INIT_AUTOMAKE(ethereal, 0.10.7)
 
 AM_DISABLE_STATIC
 
@@ -289,70 +289,6 @@ if test "$HAVE_GNU_SED" = no ; then
        esac
 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_TYPE(
-  uint64_t,
-  ac_ethereal_uint64_t_type=uint64_t,
-  ac_ethereal_uint64_t_type=u_int_64_t
-)
-
-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 <stdio.h>
-           #include <sys/types.h>
-
-           main()
-           {
-             printf("%" PRId64 "\n", ($ac_ethereal_uint64_t_type)1);
-             printf("%" PRIo64 "\n", ($ac_ethereal_uint64_t_type)1);
-             printf("%" PRIx64 "\n", ($ac_ethereal_uint64_t_type)1);
-             printf("%" PRIu64 "\n", ($ac_ethereal_uint64_t_type)1);
-           }
-         ]])
-      ],
-      [
-       AC_MSG_RESULT(yes)
-       ac_ethereal_inttypes_h_defines_formats=yes
-      ],
-      [
-       AC_MSG_RESULT(no)
-       ac_ethereal_inttypes_h_defines_formats=no
-      ])
-  ],
-  [
-    #
-    # We don't have inttypes.h, so it obviously can't define those
-    # macros.
-    #
-    ac_ethereal_inttypes_h_defines_formats=no
-  ])
-if test "$ac_ethereal_inttypes_h_defines_formats" = yes; then
-  AC_DEFINE(INTTYPES_H_DEFINES_FORMATS,,[Define if <inttypes.h> defines PRI[doxu]64 macros])
-else
-  AC_ETHEREAL_CHECK_64BIT_FORMAT(ll,
-    [
-      AC_ETHEREAL_CHECK_64BIT_FORMAT(L,
-       [
-         AC_ETHEREAL_CHECK_64BIT_FORMAT(q,
-           [
-             AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer])
-           ])
-       ])
-    ])
-fi
-
 # Enable/disable tethereal
 
 AC_ARG_ENABLE(ethereal,
@@ -473,6 +409,64 @@ 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("%" PRIu64 "\n", (guint64)1);
+           }
+         ]])
+      ],
+      [
+       AC_MSG_RESULT(yes)
+       ac_ethereal_inttypes_h_defines_formats=yes
+      ],
+      [
+       AC_MSG_RESULT(no)
+       ac_ethereal_inttypes_h_defines_formats=no
+      ])
+  ],
+  [
+    #
+    # We don't have inttypes.h, so it obviously can't define those
+    # macros.
+    #
+    ac_ethereal_inttypes_h_defines_formats=no
+  ])
+if test "$ac_ethereal_inttypes_h_defines_formats" = yes; then
+  AC_DEFINE(INTTYPES_H_DEFINES_FORMATS,,[Define if <inttypes.h> defines PRI[doxu]64 macros])
+else
+  AC_ETHEREAL_CHECK_64BIT_FORMAT(ll,
+    [
+      AC_ETHEREAL_CHECK_64BIT_FORMAT(L,
+       [
+         AC_ETHEREAL_CHECK_64BIT_FORMAT(q,
+           [
+             AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer])
+           ])
+       ])
+    ])
+fi
 
 AC_SUBST(ethereal_bin)
 AC_SUBST(ethereal_man)
@@ -516,6 +510,22 @@ AC_SUBST(editcap_bin)
 AC_SUBST(editcap_man)
 
 
+# Enable/disable capinfo
+
+AC_ARG_ENABLE(capinfo,
+[  --enable-capinfo        build capinfo.  [default=yes]],enable_capinfo=$enableval,enable_capinfo=yes)
+
+if test "x$enable_capinfo" = "xyes" ; then
+       capinfo_bin="capinfo\$(EXEEXT)"
+       capinfo_man="capinfo.1"
+else
+       capinfo_bin=""
+       capinfo_man=""
+fi
+AC_SUBST(capinfo_bin)
+AC_SUBST(capinfo_man)
+
+
 # Enable/disable mergecap
 
 AC_ARG_ENABLE(mergecap,
@@ -734,12 +744,35 @@ AC_CHECK_HEADERS(iconv.h)
 
 dnl SSL Check
 SSL_LIBS=''
-AC_MSG_CHECKING(whether to use SSL library if available)
-if test "x$enable_ssl" = "xno" ; then
-       AC_MSG_RESULT(no)
-else
+AC_MSG_CHECKING(whether to use SSL library)
+
+AC_ARG_WITH(ssl,
+changequote(<<, >>)dnl
+<<  --with-ssl[=DIR]        use SSL crypto library (located in directory DIR, if supplied).   [default=no]>>,
+changequote([, ])dnl
+[
+if test "x$withval" = "xno";  then
+       want_ssl=no
+elif test "x$withval" = "xyes"; then
+       want_ssl=yes
+elif test -d "$withval"; then
+       want_ssl=yes
+       AC_ETHEREAL_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+fi
+],[
+       want_ssl=no
+])
+if test "x$want_ssl" = "xyes"; then
        AC_MSG_RESULT(yes)
-       AC_ETHEREAL_SSL_CHECK
+       AC_CHECK_LIB(crypto,EVP_md5,
+           [
+               SSL_LIBS=-lcrypto
+           ],
+           [
+                AC_MSG_ERROR([SSL crypto library was requested, but is not available])
+           ])
+else
+       AC_MSG_RESULT(no)
 fi
 AC_SUBST(SSL_LIBS)
 
@@ -816,8 +849,16 @@ if test "x$NETSNMPCONFIG" != "xno" -a "x$NETSNMPCONFIG" != "x" -a -x "$NETSNMPCO
        AC_CHECK_HEADERS(net-snmp/net-snmp-config.h net-snmp/library/default_store.h)
        if test "x$ac_cv_header_net_snmp_net_snmp_config_h" = "xyes" -a "x$ac_cv_header_net_snmp_library_default_store_h" = "xyes" ; then
                SNMP_LIBS=`$NETSNMPCONFIG --libs`
-               AC_DEFINE(HAVE_NET_SNMP, 1, [Define to enable support for NET-SNMP])
-               have_net_snmp="yes"
+               if echo "$SNMP_LIBS" | grep crypto >/dev/null  && test "x$SSL_LIBS" = "x"; then
+                       AC_MSG_RESULT(Net-SNMP requires openssl but ssl not enabled - disabling Net-SNMP)
+                       CFLAGS="$ethereal_save_CFLAGS"
+                       CPPFLAGS="$ethereal_save_CPPFLAGS"
+                       SNMP_LIBS=
+                       NETSNMPCONFIG="no"
+               else
+                       AC_DEFINE(HAVE_NET_SNMP, 1, [Define to enable support for NET-SNMP])
+                       have_net_snmp="yes"
+               fi
        else
                # technically, we should retry ucd-snmp but it's
                # unlikely they have installed net-snmp-config and not
@@ -845,7 +886,7 @@ else
 fi
 
 if test "x$have_net_snmp" = "xyes" || test "x$have_ucd_snmp" = "xyes"; then
-       AC_DEFINE(HAVE_SOME_SNMP, 1, [Define to if some SNMP support is to be used])
+       AC_DEFINE(HAVE_SOME_SNMP, 1, [Define to if some SNMP support is to be used])
 fi
 
 AC_SUBST(SNMP_LIBS)
@@ -881,9 +922,6 @@ if test "x$want_krb5" = "xno" ; then
 else
        AC_MSG_RESULT(yes)
        AC_ETHEREAL_KRB5_CHECK
-       if test "x$want_krb5" = "xno" ; then
-               AC_MSG_RESULT(heimdal not found - disabling dissection for some kerberos data in packet decoding)
-       fi
 fi
 
 
@@ -972,15 +1010,43 @@ fi
 AC_SUBST(MKSTEMP_C)
 AC_SUBST(MKSTEMP_O)
 
-AC_CHECK_FUNC(inet_aton, INET_ATON_O="",
-  INET_ATON_O="inet_aton.lo")
+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=""],
+  [INET_ATON_O="inet_aton.o"
+   INET_ATON_LO="inet_aton.lo"
+])
 if test "$ac_cv_func_inet_aton" = no ; then
   INET_ATON_C="inet_aton.c"
-  INET_ATON_O="inet_aton.lo"
+  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])
 fi
 AC_SUBST(INET_ATON_C)
 AC_SUBST(INET_ATON_O)
+AC_SUBST(INET_ATON_LO)
 
 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
   dnl check for pre-BIND82 inet_pton() bug.
@@ -1005,13 +1071,16 @@ have_inet_pton=no])],
 have_inet_pton=no)
 if test "$have_inet_pton" = no; then
   INET_PTON_C="inet_pton.c"
-  INET_PTON_O="inet_pton.lo"
+  INET_PTON_O="inet_pton.o"
+  INET_PTON_LO="inet_pton.lo"
 else
   INET_PTON_C=""
   INET_PTON_O=""
+  INET_PTON_LO=""
 fi
 AC_SUBST(INET_PTON_C)
 AC_SUBST(INET_PTON_O)
+AC_SUBST(INET_PTON_LO)
 
 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
   AC_MSG_CHECKING([for inet_ntop prototype])
@@ -1036,13 +1105,16 @@ extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
       AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
       [Define if inet_ntop() prototype exists])], [
       AC_MSG_RESULT(no)])])
-  INET_NTOP_O=""], [
+  INET_NTOP_O=""
+  INET_NTOP_LO=""], [
   INET_NTOP_C="inet_ntop.c"
-  INET_NTOP_O="inet_ntop.lo"
+  INET_NTOP_O="inet_ntop.o"
+  INET_NTOP_LO="inet_ntop.lo"
   AC_DEFINE(NEED_INET_V6DEFS_H, 1,
   [Define if inet/v6defs.h needs to be included])])
 AC_SUBST(INET_NTOP_C)
 AC_SUBST(INET_NTOP_O)
+AC_SUBST(INET_NTOP_LO)
 
 AC_CHECK_FUNC(strptime, STRPTIME_O="",
   [STRPTIME_O="strptime.o"
@@ -1142,6 +1214,7 @@ AC_OUTPUT(
   epan/Makefile
   epan/doxygen.cfg
   epan/dfilter/Makefile
+  epan/dissectors/Makefile
   epan/ftypes/Makefile
   gtk/Makefile
   gtk/doxygen.cfg
@@ -1167,6 +1240,7 @@ AC_OUTPUT(
   plugins/lwres/Makefile
   plugins/megaco/Makefile
   plugins/mgcp/Makefile
+  plugins/opsi/Makefile
   plugins/pcli/Makefile
   plugins/rdm/Makefile
   plugins/rlm/Makefile
@@ -1198,6 +1272,12 @@ else
        pcre_message="yes"
 fi
 
+if test "x$want_ssl" = "xno" ; then
+       ssl_message="no"
+else
+       ssl_message="yes"
+fi
+
 if test "x$want_krb5" = "xno" ; then
        krb5_message="no"
 else
@@ -1222,6 +1302,7 @@ echo ""
 echo "The Ethereal package has been configured with the following options."
 echo "                    Build ethereal : $enable_ethereal"
 echo "                   Build tethereal : $enable_tethereal"
+echo "                     Build capinfo : $enable_capinfo"
 echo "                     Build editcap : $enable_editcap"
 echo "                    Build mergecap : $enable_mergecap"
 echo "                   Build text2pcap : $enable_text2pcap"
@@ -1241,5 +1322,6 @@ echo "                  Use zlib library : $zlib_message"
 echo "                  Use pcre library : $pcre_message"
 echo "              Use kerberos library : $krb5_message"
 echo "              Use GNU ADNS library : $adns_message"
+echo "            Use SSL crypto library : $ssl_message"
 echo "          Use IPv6 name resolution : $enable_ipv6"
 echo "     Use UCD SNMP/NET-SNMP library : $snmp_libs_message"