m4_define([version_major], [1])
m4_define([version_minor], [11])
-m4_define([version_micro], [0])
+m4_define([version_micro], [3])
m4_define([version_micro_extra], version_micro)
m4_append([version_micro_extra], [])
AC_INIT(wireshark, [version_major.version_minor.version_micro_extra], http://bugs.wireshark.org/, , http://www.wireshark.org/)
+CONFIG_ARGS="$*"
+AC_SUBST(CONFIG_ARGS)
# Minimum autoconf version we require.
AC_PREREQ(2.60)
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_CPP
+AC_PROG_MKDIR_P
+AC_WIRESHARK_CLANG_CHECK
+
dnl Work around libtool bug (fixed in the version 1.5a?)
AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
AC_LIBTOOL_DLOPEN
#
AC_ARG_WITH([qt],
AC_HELP_STRING( [--with-qt=@<:@yes/no@:>@],
- [use Qt @<:@default=no@:>@]),
+ [use Qt @<:@default=yes@:>@]),
with_qt="$withval", with_qt="unspecified")
AC_ARG_WITH([gtk2],
AC_SUBST(HAVE_OSX_PACKAGING)
#
-# Some compilers have to be told to fail on unknown warning errors;
+# Some compilers have to be told to fail when passed an unknown -W flag;
# make sure we do that.
#
AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
+#
+# Some C++ compilers have to be told to fail when passed a -W flag that
+# they don't think should apply to C++; make sure we do that.
+#
+AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
+
#
# Try to add some additional gcc checks to CFLAGS
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
-AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32)
+# The Qt headers generate a ton of shortening errors on 64-bit systems
+# so only enable this for C for now.
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
-AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
#
# XXX - OK for C++?
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
-CFLAGS_before_fvhidden=$CFLAGS
+CFLAGS_before_fvhidden="$CFLAGS"
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
-if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden"
+if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
then
# TODO add other ways of hiding symbols
AC_MSG_WARN(Compiler will export all symbols from shared libraries)
# privileges, and using PIE means the OS can run it at random locations
# in the address space to make attacks more difficult.
#
-CFLAGS_before_pie=$CFLAGS
-AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE, C)
-if test "x$CLFAGS" != "x$CFLAGS_before_pie"
+CFLAGS_before_pie="$CFLAGS"
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE)
+if test "x$CFLAGS" != "x$CFLAGS_before_pie"
then
# Restore CFLAGS
- CFLAGS=$CFLAGS_before_pie
+ CFLAGS="$CFLAGS_before_pie"
- LDFLAGS_before_pie=$LDFLAGS
+ LDFLAGS_before_pie="$LDFLAGS"
AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
if test "x$LDFLAGS" != "x$LDFLAGS_before_pie"
then
PIE_LDFLAGS="-pie"
# Restore LDFLAGS
- LDFLAGS=$LDFLAGS_before_pie
+ LDFLAGS="$LDFLAGS_before_pie"
fi
fi
#
# Add any checks here that are necessary for other OSes.
#
+AC_PATH_PROG(SED, sed)
+if test "x$SED" = x
+then
+ AC_MSG_ERROR(I couldn't find sed; make sure it's installed and in your path)
+fi
AC_WIRESHARK_GNU_SED_CHECK
if test "$HAVE_GNU_SED" = no ; then
case "$host_os" in
AC_ARG_ENABLE(packet-editor,
AC_HELP_STRING( [--enable-packet-editor],
- [add support for packet editor in Wireshark @<:@default=no@:>@]),
- enable_packet_editor=$enableval,enable_packet_editor=no)
+ [add support for packet editor in Wireshark @<:@default=yes@:>@]),
+ enable_packet_editor=$enableval,enable_packet_editor=yes)
if test x$enable_packet_editor = xyes; then
AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
fi
"x$with_gtk3" = "xunspecified" -a \
"x$with_qt" = "xunspecified"; then
#
- # No GUI toolkit was explicitly specified; pick GTK+ 3.
+ # No GUI toolkit was explicitly specified; pick Qt and GTK+ 3.
#
+ with_qt=yes
with_gtk3=yes
fi
if test "x$with_qt" = "xyes"; then
[
CFLAGS="$CFLAGS $Qt_CFLAGS"
CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
- have_qt=yes
+ have_qt=yes
GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
OSX_APP_FLAGS="$OSX_APP_FLAGS -qt"
OSX_DMG_FLAGS="-qt"
CPPFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CPPFLAGS"
CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
- CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
+ if test \( $gtk_config_major_version -eq 3 -a $gtk_config_minor_version -ge 10 \) ; then
+ ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
+ ## The deprecations in Gtk 3.10 will not be fixed ...
+ CPPFLAGS="-DGDK_DISABLE_DEPRECATION_WARNINGS $CPPFLAGS"
+ else
+ CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
+ fi
CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
if test ! \( $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -lt 20 \) ; then
# Enable GSEAL when building with GTK > 2.20
AC_SUBST(OSX_APP_FLAGS)
AC_SUBST(OSX_DMG_FLAGS)
-
# Enable/disable tshark
-
AC_ARG_ENABLE(tshark,
AC_HELP_STRING( [--enable-tshark],
[build TShark @<:@default=yes@:>@]),
fi
AC_SUBST(tshark_bin)
AC_SUBST(tshark_man)
-AC_SUBST(wiresharkfilter_man)
+# Enable/disable tfshark
+AC_ARG_ENABLE(tfshark,
+ AC_HELP_STRING( [--enable-tfshark],
+ [build TFShark @<:@default=no@:>@]),
+ tfshark=$enableval,enable_tfshark=no)
+if test "x$enable_tfshark" = "xyes" ; then
+ tfshark_bin="tfshark\$(EXEEXT)"
+ tfshark_man="tfshark.1"
+ wiresharkfilter_man="wireshark-filter.4"
+else
+ tfshark_bin=""
+ tfshark_man=""
+fi
+AC_SUBST(tfshark_bin)
+AC_SUBST(tfshark_man)
# Enable/disable editcap
AC_SUBST(editcap_bin)
AC_SUBST(editcap_man)
-
-
# Enable/disable echld
AC_ARG_ENABLE(echld,
AC_SUBST(echld_test_bin)
AC_SUBST(echld_dir)
-
# Enabling/disabling of dumpcap is done later (after we know if we have PCAP
# or not)
AC_SUBST(capinfos_bin)
AC_SUBST(capinfos_man)
+# Enable/disable captype
+
+AC_ARG_ENABLE(captype,
+ AC_HELP_STRING( [--enable-captype],
+ [build captype @<:@default=yes@:>@]),
+ enable_captype=$enableval,enable_captype=yes)
+
+if test "x$enable_captype" = "xyes" ; then
+ captype_bin="captype\$(EXEEXT)"
+ captype_man="captype.1"
+else
+ captype_bin=""
+ captype_man=""
+fi
+AC_SUBST(captype_bin)
+AC_SUBST(captype_man)
# Enable/disable mergecap
AC_SUBST(mergecap_bin)
AC_SUBST(mergecap_man)
-
# Enable/disable reordercap
AC_ARG_ENABLE(reordercap,
AC_SUBST(reordercap_bin)
AC_SUBST(reordercap_man)
-
# Enable/disable text2pcap
AC_ARG_ENABLE(text2pcap,
AC_SUBST(text2pcap_bin)
AC_SUBST(text2pcap_man)
-
# Enable/disable dftest
AC_ARG_ENABLE(dftest,
AC_SUBST(dftest_bin)
AC_SUBST(dftest_man)
-
# Enable/disable randpkt
AC_ARG_ENABLE(randpkt,
AC_SUBST(randpkt_bin)
AC_SUBST(randpkt_man)
-
+AC_SUBST(wiresharkfilter_man)
dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
dnl "gethostbyname()".
;;
esac
+# Gather only the "--with*" arguments and also a list of --with arguments for rpmbuild
+for f in $CONFIG_ARGS
+do
+ case $f in
+ --with-gtk2*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with gtk2"
+ ;;
+ --without-gtk2*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without gtk2"
+ ;;
+ --with-gtk3*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with gtk3"
+ ;;
+ --without-gtk3*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without gtk3"
+ ;;
+ --with-qt*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
+ ;;
+ --without-qt*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt"
+ ;;
+ --with*)
+ CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
+ ;;
+ esac
+
+done
+AC_SUBST(CONFIG_WITH_ARGS)
+AC_SUBST(RPMBUILD_WITH_ARGS)
+
dnl libtool defs
#
# Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
asn1/dsp/Makefile
asn1/ess/Makefile
asn1/ftam/Makefile
- asn1/gnm/Makefile
asn1/goose/Makefile
asn1/gprscdr/Makefile
asn1/gsm_map/Makefile
asn1/HI2Operations/Makefile
asn1/hnbap/Makefile
asn1/idmp/Makefile
+ asn1/ilp/Makefile
asn1/inap/Makefile
asn1/isdn-sup/Makefile
asn1/kerberos/Makefile
asn1/mpeg-pes/Makefile
asn1/nbap/Makefile
asn1/ns_cert_exts/Makefile
+ asn1/novell_pkis/Makefile
asn1/ocsp/Makefile
asn1/p1/Makefile
asn1/p22/Makefile
epan/wmem/Makefile
epan/wslua/Makefile
epan/wspython/Makefile
+ filetap/Makefile
codecs/Makefile
ui/Makefile
ui/doxygen.cfg
packaging/svr4/checkinstall
packaging/svr4/pkginfo
plugins/Makefile
- plugins/asn1/Makefile
plugins/docsis/Makefile
plugins/ethercat/Makefile
plugins/gryphon/Makefile
echo " Build wireshark (Gtk+) : $have_gtk""$gtk_lib_message"
echo " Build wireshark-qt : $enable_qtshark"
echo " Build tshark : $enable_tshark"
+echo " Build tfshark : $enable_tfshark"
echo " Build capinfos : $enable_capinfos"
+echo " Build captype : $enable_captype"
echo " Build editcap : $enable_editcap"
echo " Build dumpcap : $enable_dumpcap"
echo " Build mergecap : $enable_mergecap"