Remove strcasecmp. We use g_ascii_strcasecmp exclusively
[obnox/wireshark/wip.git] / configure.in
index a757ebf0a69d36336aa1ec0b7f4a52cb5b604000..47a713b0cd1737322b66f42fb64f56400b7e7c11 100644 (file)
@@ -12,7 +12,7 @@ dnl AC_CANONICAL_HOST
 dnl AC_CANONICAL_BUILD
 dnl AC_CANONICAL_TARGET
 
-AC_INIT(wireshark, 1.1.4)
+AC_INIT(wireshark, 1.3.0)
 AM_INIT_AUTOMAKE([1.9 tar-ustar])
 
 AM_DISABLE_STATIC
@@ -33,10 +33,10 @@ then
        AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
 fi
 AM_PROG_LEX
-AC_PATH_PROG(LEXDUMMY, $LEX)
-if test "x$LEXDUMMY" = x
+AC_PATH_PROG(LEX, flex)
+if test "x$LEX" = x
 then
-       AC_MSG_ERROR(I couldn't find (f)lex; make sure it's installed and in your path)
+       AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
 fi
 AC_PATH_PROG(POD2MAN, pod2man)
 if test "x$POD2MAN" = x
@@ -116,19 +116,15 @@ AC_ARG_WITH([gnutls],
                  [use gnutls library @<:@default=yes@:>@]),
   with_gnutls="$withval", with_gnutls="yes")
 if test "x$with_gnutls" = "xyes"; then
-  AM_PATH_LIBGNUTLS(1.2.0,
+  PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0],
         [
                 echo "gnuTLS found, enabling ssl decryption"
                 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
                 tls_message="yes"
         ]
         , [
-                if test x$libgnutls_config_prefix != x ; then
-                       AC_MSG_ERROR([[gnuTLS not found; install gnuTLS-devel package for your system]])
-                else
-                        echo echo "gnuTLS not found, disabling ssl decryption"
-                        tls_message="no"
-                fi
+                echo echo "gnuTLS not found, disabling ssl decryption"
+                tls_message="no"
         ]
   )
 fi
@@ -230,12 +226,24 @@ AC_ARG_ENABLE(extra-gcc-checks,
        then
                AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
                AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op)
                AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
 #              AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
 #              AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
+#              AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
                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(-Waddress)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
                #
                # epan/dissectors/packet-ncp2222.inc blocks this one
                # for now.
@@ -247,9 +255,14 @@ AC_ARG_ENABLE(extra-gcc-checks,
                # epan/dissectors/packet-afs.c blocks this one for now.
                #
                AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
+               #
+               # More cleanup needed for this on LP64.
+               #
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
        fi
 ],)
 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -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)
@@ -257,7 +270,8 @@ 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)
-AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
+
+AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
 
 #
 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
@@ -274,7 +288,7 @@ fi
 #
 # If we're running gcc, will enable a barrier "stop on warning".
 # This barrier is set for a very large part of the code. However, it is
-# typically not set for "generated" code  (lex, ans2wrs, idl2wrs, ...)
+# typically not set for "generated" code  (flex, ans2wrs, idl2wrs, ...)
 #
 warnings_as_errors_default="yes"
 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
@@ -1077,7 +1091,7 @@ AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
 
 AC_ARG_WITH(lua,
   AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
-                  [use liblua (located in directory DIR, if supplied) for the lua scripting plugin.  @<:@default=no@:>@]),
+                  [use liblua (located in directory DIR, if supplied) for the lua scripting plugin.  @<:@default=yes, if available@:>@]),
 [
        if test $withval = no
        then
@@ -1091,9 +1105,9 @@ AC_ARG_WITH(lua,
        fi
 ],[
        #
-       # Don't use liblua by default (it isn't ready yet)
+       # Use liblua by default
        #
-       want_lua=no
+       want_lua=ifavailable
        lua_dir=
 ])
 if test "x$want_lua" = "xno" ; then
@@ -1350,12 +1364,40 @@ else
 fi
 AC_SUBST(GEOIP_LIBS)
 
+dnl Python devel Check
+AC_ARG_WITH(python,
+    AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
+                    [use python interpretor (installed in DIR, if supplied). @<:@default=no@:>@ (EXPERIMENTAL)]),
+[
+pythondir='${libdir}/wireshark/python/${VERSION}'
+if test "x$withval" = "xno"; then
+  want_python=no
+elif test "x$withval" != "xyes"; then
+  pythondir="$withval"
+  want_python=yes
+  AC_WIRESHARK_PYTHON_CHECK
+else
+  want_python=yes
+  AC_WIRESHARK_PYTHON_CHECK
+fi
+])
+AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
+AC_SUBST(pythondir)
+
 #
 # Define WS_VAR_IMPORT appropriately for declarations of external
 # variables exported from dynamically-linked libraries.
 #
 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
 
+AC_ARG_ENABLE(airpcap,
+  AC_HELP_STRING( [--enable-airpcap],
+                  [use airpcap in wireshark.  @<:@default=no@:>@]),
+  enable_airpcap=$enableval
+  if test x$enable_airpcap != xno; then
+       AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
+  fi
+)
 #
 # Define HAVE_AIRPDCAP
 # We'll want to remove this eventually.
@@ -1401,15 +1443,6 @@ fi
 AC_SUBST(STRERROR_C)
 AC_SUBST(STRERROR_O)
 
-AC_CHECK_FUNC(strcasecmp, STRCASECMP_O="",
-  STRCASECMP_O="strcasecmp.o")
-if test "$ac_cv_func_strcasecmp" = no ; then
-  STRCASECMP_C="strcasecmp.c"
-  STRCASECMP_O="strcasecmp.o"
-fi
-AC_SUBST(STRCASECMP_C)
-AC_SUBST(STRCASECMP_O)
-
 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="",
   STRNCASECMP_O="strncasecmp.o")
 if test "$ac_cv_func_strncasecmp" = no ; then
@@ -1419,14 +1452,7 @@ fi
 AC_SUBST(STRNCASECMP_C)
 AC_SUBST(STRNCASECMP_O)
 
-AC_CHECK_FUNC(mkstemp, MKSTEMP_O="",
-  MKSTEMP_O="mkstemp.o")
-if test "$ac_cv_func_mkstemp" = no ; then
-  MKSTEMP_C="mkstemp.c"
-  MKSTEMP_O="mkstemp.o"
-fi
-AC_SUBST(MKSTEMP_C)
-AC_SUBST(MKSTEMP_O)
+AC_CHECK_FUNCS(mkstemp mkdtemp)
 
 #
 # XXX - if inet_aton isn't found, the build fails, with a complaint from
@@ -1687,6 +1713,7 @@ AC_OUTPUT(
   epan/dissectors/Makefile
   epan/ftypes/Makefile
   epan/wslua/Makefile
+  epan/wspython/Makefile
   codecs/Makefile
   gtk/Makefile
   gtk/doxygen.cfg
@@ -1747,12 +1774,18 @@ else
        pcre_message="yes"
 fi
 
-if test "x$want_lua" = "xyes" -a "x$have_plugins" = "xyes" ; then
+if test "x$want_lua" = "xyes" ; then
        lua_message="yes"
 else
        lua_message="no"
 fi
 
+if test "x$want_python" = "xyes"; then
+        python_message="yes"
+else
+        python_message="no"
+fi
+
 if test "x$want_portaudio" = "xyes" ; then
        portaudio_message="yes"
 else
@@ -1811,7 +1844,8 @@ echo "                     Build rawshark : $enable_rawshark"
 echo ""
 echo "             Install dumpcap setuid : $setuid_message"
 echo "                        Use plugins : $have_plugins"
-echo "                   Build lua plugin : $lua_message"
+echo "                    Use lua library : $lua_message"
+echo "                 Use python binding : $python_message"
 echo "                   Build rtp_player : $portaudio_message"
 echo "                        Use threads : $enable_threads"
 echo "             Build profile binaries : $enable_profile_build"