X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=configure.in;h=a10171812cf5d5e31d2df0b746821cd766e52b61;hb=271bae5533286542c19c77e8918b1da6a96acaf7;hp=bbaf53b4905cc2b2725f44acef7a9b3288bf976c;hpb=29fd6404843e564a173c68f261de0ad078974599;p=obnox%2Fwireshark%2Fwip.git diff --git a/configure.in b/configure.in index bbaf53b490..a10171812c 100644 --- a/configure.in +++ b/configure.in @@ -2,18 +2,29 @@ # AC_PREREQ(2.60) +AC_INIT(wireshark, 1.3.4) + dnl Check for CPU / vendor / OS dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other dnl macros. +dnl +dnl As nothing in the Wireshark is itself a build tool (we are not, +dnl for example, a compiler that generates machine code), we probably +dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able +dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just +dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as +dnl lemon, that need to be built for the build machine, not for the +dnl host machine, so we might need both. +dnl +dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails. -dnl AC_CANONICAL_HOST dnl AC_CANONICAL_BUILD -dnl AC_CANONICAL_TARGET +dnl AC_CANONICAL_HOST +AC_CANONICAL_TARGET -AC_INIT(wireshark, 1.1.2) -AM_INIT_AUTOMAKE([1.9 tar-ustar]) +AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip]) AM_DISABLE_STATIC @@ -33,10 +44,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 +127,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 @@ -176,6 +183,22 @@ AC_PATH_PROG(FOP, fop) AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no") AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes) +# +# Look for something to convert HTML to text (for docbook/) +# +AC_PATH_PROG(ELINKS, elinks) +AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no") +AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes) + +AC_PATH_PROG(LINKS, links) +AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no") +AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes) + +AC_PATH_PROG(LYNX, lynx) +AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no") +AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes) + + # Check for hhc (html help compiler) AC_PATH_PROG(HHC, hhc.exe) AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no") @@ -230,30 +253,45 @@ 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) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init) # # 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) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations) - #Temporarily put cast-align here waiting eradication of 'cast - #increases required alignment of target type' on the Solaris - #slave. # # 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) @@ -262,6 +300,11 @@ AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align) AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security) +AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed]) +# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto]) +# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr]) +# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program]) + # # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well, # so we can use _U_ to flag unused function arguments and not get warnings @@ -277,7 +320,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) @@ -399,6 +442,9 @@ cygwin*) esac AC_SUBST(LDFLAGS_SHAREDLIB) +# Control silent compiling +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])]) + # # On OS X, if we find the headers for Core Foundation, Launch Services, # and Core Services, add -framework options to link with Application @@ -676,6 +722,43 @@ else have_plugins=no fi +# +# If we have , check whether we can use dladdr to find a +# filename (hopefully, a full pathname, but no guarantees) for +# the executable. +# +if test "$ac_cv_header_dlfcn_h" = "yes" +then + AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable) + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$GLIB_LIBS $LIBS" + AC_TRY_RUN([ +#define _GNU_SOURCE /* required on Linux, sigh */ +#include + +int +main(void) +{ + Dl_info info; + + if (!dladdr((void *)main, &info)) + return 1; /* failure */ + return 0; /* assume success */ +} +], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c" + ac_cv_dladdr_finds_executable_path=yes]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + if test x$ac_cv_dladdr_finds_executable_path = xyes + then + AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable]) + fi + AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path) +fi + dnl IGE Mac integration check AC_MSG_CHECKING(whether to use IGE Mac integration functions) @@ -703,9 +786,6 @@ fi AC_SUBST(wireshark_bin) AC_SUBST(wireshark_man) -rdps_bin="rdps\$(EXEEXT)" -AC_SUBST(rdps_bin) - # Enable/disable tshark @@ -1026,6 +1106,7 @@ AC_ARG_WITH(pcre, ],[ # # Use libpcre if it's present, otherwise don't. + # XXX - Should GLib 2.14 take precedence here? # want_pcre=ifavailable pcre_dir= @@ -1046,7 +1127,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 @@ -1060,9 +1141,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 @@ -1319,12 +1400,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. @@ -1334,6 +1443,9 @@ AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)]) dnl Checks for typedefs, structures, and compiler characteristics. # AC_C_CONST +# Check how we can get the time zone abbreviation +AC_WIRESHARK_TIMEZONE_ABBREV + # We need to know whether "struct sockaddr" has an "sa_len" member # for get_interface_list(). @@ -1348,13 +1460,15 @@ AC_PROG_GCC_TRADITIONAL GETOPT_C="" GETOPT_O="" -AC_CHECK_FUNC(getopt, GETOPT_O="", - [GETOPT_O="getopt.o" - AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h needs to be included]) -]) +AC_CHECK_FUNC(getopt, + [GETOPT_O="" + AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the header file.]) + ], + GETOPT_O="wsgetopt.o" +) if test "$ac_cv_func_getopt" = no ; then - GETOPT_C="getopt.c" - GETOPT_O="getopt.o" + GETOPT_C="wsgetopt.c" + GETOPT_O="wsgetopt.o" fi AC_SUBST(GETOPT_C) AC_SUBST(GETOPT_O) @@ -1370,15 +1484,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 @@ -1388,14 +1493,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 @@ -1556,6 +1654,18 @@ then fi AC_SUBST(ENABLE_STATIC) +AC_ARG_ENABLE(new-packet-list, + AC_HELP_STRING( [--enable-new-packet-list], + [use new packet list feature. @<:@default=yes@:>@]), + new_packet_list=$enableval,new_packet_list=yes) +AC_MSG_CHECKING(if new packet list is used); +if test "x$new_packet_list" = "xyes" ; then + AC_MSG_RESULT(yes) + CFLAGS=" -DNEW_PACKET_LIST $CFLAGS" +else + AC_MSG_RESULT(no) +fi + dnl Save the cacheable configure results to config.cache before recursing AC_CACHE_SAVE @@ -1570,10 +1680,13 @@ AC_OUTPUT( asn1/acp133/Makefile asn1/acse/Makefile asn1/ansi_map/Makefile - asn1/ansi-tcap/Makefile + asn1/ansi_tcap/Makefile asn1/camel/Makefile asn1/cdt/Makefile + asn1/charging_ase/Makefile asn1/cmip/Makefile + asn1/cmp/Makefile + asn1/crmf/Makefile asn1/cms/Makefile asn1/dap/Makefile asn1/disp/Makefile @@ -1583,7 +1696,7 @@ AC_OUTPUT( asn1/ftam/Makefile asn1/gnm/Makefile asn1/goose/Makefile - asn1/gsmmap/Makefile + asn1/gsm_map/Makefile asn1/h225/Makefile asn1/h235/Makefile asn1/h245/Makefile @@ -1597,13 +1710,13 @@ AC_OUTPUT( asn1/h501/Makefile asn1/inap/Makefile asn1/ldap/Makefile - asn1/logotype-cert-extn/Makefile + asn1/logotypecertextn/Makefile asn1/lte-rrc/Makefile asn1/mms/Makefile asn1/mpeg-audio/Makefile asn1/mpeg-pes/Makefile asn1/nbap/Makefile - asn1/ns-cert-exts/Makefile + asn1/ns_cert_exts/Makefile asn1/ocsp/Makefile asn1/p7/Makefile asn1/pcap/Makefile @@ -1612,8 +1725,6 @@ AC_OUTPUT( asn1/pkinit/Makefile asn1/pkix1explicit/Makefile asn1/pkix1implicit/Makefile - asn1/pkixcmp/Makefile - asn1/pkixcrmf/Makefile asn1/pkixproxy/Makefile asn1/pkixqualified/Makefile asn1/pkixtsp/Makefile @@ -1647,13 +1758,16 @@ AC_OUTPUT( asn1/x509sat/Makefile asn1/x721/Makefile doc/Makefile + docbook/Makefile epan/Makefile + epan/crc/Makefile epan/crypt/Makefile epan/doxygen.cfg epan/dfilter/Makefile epan/dissectors/Makefile epan/ftypes/Makefile epan/wslua/Makefile + epan/wspython/Makefile codecs/Makefile gtk/Makefile gtk/doxygen.cfg @@ -1669,32 +1783,19 @@ AC_OUTPUT( packaging/svr4/checkinstall packaging/svr4/pkginfo plugins/Makefile - plugins/agentx/Makefile - plugins/artnet/Makefile plugins/asn1/Makefile - plugins/ciscosm/Makefile plugins/docsis/Makefile - plugins/enttec/Makefile plugins/ethercat/Makefile plugins/giop/Makefile plugins/gryphon/Makefile - plugins/infiniband/Makefile plugins/irda/Makefile - plugins/lwres/Makefile plugins/m2m/Makefile plugins/mate/Makefile plugins/opcua/Makefile - plugins/opsi/Makefile - plugins/pcli/Makefile plugins/profinet/Makefile - plugins/rlm/Makefile - plugins/rtnet/Makefile - plugins/rudp/Makefile - plugins/sbus/Makefile plugins/sercosiii/Makefile plugins/stats_tree/Makefile plugins/unistim/Makefile - plugins/v5ua/Makefile plugins/wimax/Makefile plugins/wimaxasncp/Makefile tools/Makefile @@ -1727,12 +1828,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 @@ -1791,7 +1898,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"