The new icons are patterned after the existing capture icons. They could
probably benefit from some adjustments here and there.
Start moving toward icon names and a directory layout compliant with
freedesktop.org's Icon Naming Specification and Icon Theme
Specification. We aren't fully compliant and might never be but anyone
with exposure to FDO icon themes should at least know where everything
is.
Make Capture Start (x-capture-start) the first icon in the toolbar.
Define the Colorize Packets, Auto Scroll, and zoom icons even though the
Qt UI doesn't use them yet.
Leave the Capture Filter, Display Filter, Coloring Rules, Preferences,
and Help icons off for now. The GTK+ toolbar is overly cluttered and I'm
not sure they're necessary.
Try not to break ui/gtk/toolbar_icons.h.
Remove welcome.qrc. I initially added it in case we needed to overlay
the welcome screen with translucent .pngs but that never happened.
To do:
- Move the old GTK+ icons to their own directory.
- Find a better name for the "toolbar" directory. "stock"?
- Make the toolbar configurable.
Change-Id: Ie07592113d307b8db786aedace672312a870fe38
Reviewed-on: https://code.wireshark.org/review/4182
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Rather than checking for all the "--with" arguments just use the "$have_xxx"
variables.
Don't allow rpmbuild's ./configure to decide to build a GUI just because it's
available: make it build only what was ./configure'd.
Change-Id: I68582b4c13da7b52d56591dce68ac426e9f607f1
Reviewed-on: https://code.wireshark.org/review/3958
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Make sure the Qt UI is named "Wireshark" and its executable is named
"wireshark" or "wireshark.exe". Make sure the GTK+ UI is named
"Wireshark 1" or "Wireshark (GTK+)" depending on how much the target
audience is likely to care about UI toolkits. Make sure the GTK+
executable is named "wireshark-gtk" or "wireshark-gtk.exe".
It looks like moving to Qt 5.3 (g978faf3) broke the PortableApps
package. It's likely even more broken now.
Autotools out-of-tree builds also broke on Ubuntu 12.02 (automake
1.11.3) at some point. The first attempt to compile in ui/qt returns
"error: source_file.cpp: No such file or directory". The second attempt
works. Out-of-tree builds work fine on Ubuntu 14.04 (automake 1.14.1).
Tested:
- Nmake builds
- NSIS packaging
- CMake builds (Windows, OS X)
- Autotools build and distcheck
- RPM packaging
To do:
- Test Debian packaging
- Fix PortableApps
Change-Id: I66429870e05fd2d6fc901942477959ed6164fce2
Reviewed-on: https://code.wireshark.org/review/3919
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Extcap is a plugin interface, which allows for the usage
of external capture interfaces via pipes using a predefined
configuration language which results in a graphical gui.
This implementation seeks for a generic implementation,
which results in a seamless integration with the current
system, and does add all external interfaces as simple
interfaces.
Windows Note: Due to limitations with GTK and Windows,
a gspawn-winXX-helper.exe, respective gspawn-winXX-helper-console.exe
is needed, which is part of any GTK windows installation.
The default installation directory from the build is an extcap
subdirectory underneath the run directory. The folder used by
extcap may be viewed in the folders tab of the about dialog.
The default installation directory for extcap plugins with
a pre-build or installer version of wireshark is the extcap
subdirectory underneath the main wireshark directory.
For more information see:
http://youtu.be/Nn84T506SwU
bug #9009
Also take a look in doc/extcap_example.py for a Python-example
and in extcap.pod for the arguments grammer.
Todo:
- Integrate with Qt - currently no GUI is generated, but
the interfaces are still usable
Change-Id: I4f1239b2f1ebd8b2969f73af137915f5be1ce50f
Signed-off-by: Mike Ryan <mikeryan+wireshark@lacklustre.net>
Signed-off-by: Mike Kershaw <dragorn@kismetwireless.net>
Signed-off-by: Roland Knall <rknall@gmail.com>
Reviewed-on: https://code.wireshark.org/review/359
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Move them to the end of the list of optional programs.
Make it clear that echld is not built by default.
Change capitalization of tshark and tfshark.
Change-Id: Ib702ed72eb2469968e06a16c73a4009ba4cf68ad
Ping-Bug: 10380
Reviewed-on: https://code.wireshark.org/review/3596
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
We decided at sharkfest that this wasn't the right design for file dissection;
we have more-or-less settled on way forward, but nobody's shown interest in
implementing it. Whether or not that ever happens, this code is effectively
dead and should be removed.
Change-Id: I14d6086df3204fffb6485228db39d9f407661417
Reviewed-on: https://code.wireshark.org/review/3400
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
On the 32-bit OS X buildbot, automake is old enough that autotools
builds are verbose, printing the command line for each compile step; if
we cause CMake to produce verbose makefiles, they will also print the
command line, so we can see what differences there are.
This means the other debugging output we added isn't necessary; remove
it.
Sort the extra warning options in configure.ac based on whether they're
for C and C++ or just C, just as is the case in CMake, to make it easier
to keep the lists in sync; add comments to configure.ac to mirror the
ones in CMakeLists.txt.
Get rid of -Wno-deprecated-declarations; the CMake build doesn't use it,
and it doesn't appear to be necessary - if we ever have problems with OS
X complaining about using OpenSSL, for example, we should do as tcpdump
does and wrap uses of the "deprecated"-but-cross-platform APIs in
the appropriate pragmas.
Change-Id: I0b8b45f00481ac2b67da5c7dd028a029b130dcc4
Reviewed-on: https://code.wireshark.org/review/3377
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Also, comment out the addition of -Wno-deprecated-declarations, as the
CMake build doesn't use it.
If this succeeds in making the autotools and CMake builds compile C code
with the same -W and -f flags in the same order, that should eliminate
at least one reason why the CMake build produces compiler warnings that
the autotools build doesn't.
Change-Id: I0eaeae91b8e3c39c53f502daef86c2d103c8bdab
Reviewed-on: https://code.wireshark.org/review/3374
Reviewed-by: Guy Harris <guy@alum.mit.edu>
For autotools, dump CC, CFLAGS, CXX, and CXXFLAGS.
For CMake, dump CMAKE_C_COMPILER_ID and CMAKE_CXX_COMPILER_ID.
Hopefully this will help figure out why CMake builds catch different
warnings from autotools builds.
Change-Id: I26955ad955f60e8bad248562fa87963a3a1bb42f
Reviewed-on: https://code.wireshark.org/review/3365
Reviewed-by: Guy Harris <guy@alum.mit.edu>
It doesn't build on Linux but cmake looks for it (won't build without it) and
Windows users might want it.
Change-Id: I978f0de0a2895a82f4f3b8c1e9e0ecec6a93e6f4
Reviewed-on: https://code.wireshark.org/review/3325
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Include CMakeLists.txt files and the gnm subdirectory, along with the
top-level Makefile.inc and Makefile.preinc files. Don't explicitly
include Custom.make, as automake does that automatically given that it's
included by asn1/Makefile.am.
Add some files to EXTRA_DIST lists.
Move some .asn files to EXTRA_DIST; they don't need to be in SRC_FILES,
as SRC_FILES always includes EXTRA_DIST, and they *do* need to be in
EXTRA_DIST so that they're in the distribution.
Change-Id: Id91df577260fa57028d40fe098be1d79c59398e6
Reviewed-on: https://code.wireshark.org/review/3273
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Some routines Wireshark uses are present in some, but not all,
platforms; for routines that would be used on all platforms, libwsutil
provides its own implementations on platforms that lack them.
On platforms that provide a routine, that routine will not be part of
the API and ABI, and, if we do an API or ABI check using the header
libwsutil provides to declare the function on platforms that lack it, we
may have a collision between the declaration in our header and the
declaration in a system header.
There's no guarantee that we can make them match, as the declaration
might differ from platform to platform and from platform version to
platform version, so we simply leave the header file out of the check if
we have the function on the platform on which we're checking the API or
ABI.
Change-Id: I8a23e63d9e17e5c1f5a83304dbe14d1e7df22e7e
Reviewed-on: https://code.wireshark.org/review/3115
Reviewed-by: Guy Harris <guy@alum.mit.edu>
With autotools, CMake, and nmake, if we have a function, #define
HAVE_{function_name_in_all_caps}, otherwise don't #define it.
If we provide our own version of a function in libwsutil, make sure we
have a header that declares it, and *ONLY* include that header if
HAVE_{function_name_in_all_caps} is *NOT* defined, so that we don't have
the system declaration and our declaration colliding.
Check for inet_aton, strncasecmp, and strptime with CMake, just as we do
with autotools.
Simplify the addition of {function_name_in_all_caps}_LO to libwsutil in
autotools.
Change-Id: Id5be5c73f79f81919a3a865324e400eca7b88889
Reviewed-on: https://code.wireshark.org/review/2903
Reviewed-by: Guy Harris <guy@alum.mit.edu>
(Strong typing is for weak minds.
Human minds are weak.
Therefore, strong typing is for human minds.)
Change-Id: I099b85e98f3b9742b1addd8d260b3e94ca7add31
Reviewed-on: https://code.wireshark.org/review/2866
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Some of those routines are used only in dumpcap; others are used in
TShark and Wireshark as well.
Change-Id: I9d92483f2fcff57a7d8b6bf6bdf2870505d19fb7
Reviewed-on: https://code.wireshark.org/review/2841
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This way, if you ask for both setuid and setcap installation of dumpcap,
it will fail, rather than silently (other than a message you might miss)
ignoring the request for setuid installation. See bug 10246.
Also:
if you ask for setuid or setcap installation of dumpcap, but
dumpcap isn't built, it'll let you know that there's nothing to
make setuid/setcap, and fail;
if you ask for setcap installation of dumpcap, but setcap wasn't
found, it'll let you know that it can't install it setcap, and
fail;
so that it won't silently (other than a message you might miss) ignore
those requests, either.
Change-Id: Ibc01593e59fd1cd1be8c68d8cdacbfdca863efa0
Reviewed-on: https://code.wireshark.org/review/2771
Reviewed-by: Guy Harris <guy@alum.mit.edu>
That's the option for newer versions of Sun^WOracle C.
Change-Id: I62c12d5870d84587f81a8789732675021523e9ed
Reviewed-on: https://code.wireshark.org/review/2769
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Not all AC_WIRESHARK_LDFLAGS_CHECK flags are -Wl,{option} flags, so
don't check for that first. If we want to check for specific compilers
and linkers, we should do that, not for -Wl,{option} support.
Change-Id: Ib9581d4a1573a1ffa2493ce08e6d5845d2601352
Reviewed-on: https://code.wireshark.org/review/2755
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This pulls some stuff out of the top-level directory, and means we don't
have to build them once for every program using them.
Change-Id: I37b31fed20f2d5c3563ecd2bae9fd86af70afff5
Reviewed-on: https://code.wireshark.org/review/2591
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This includes ws_mempbrk_sse42.c; if the compiler doesn't support
-msse4.2, HAS_SSE4_2 isn't defined, so all the stuff in
ws_mempbrk_sse42.c that uses SSE 4.2 will be #ifdeffed out.
Not all compilers with which we're built will support -msse4.2; in
particular, the ones that aren't compiling for x86 won't....
Change-Id: I69566ca06f602104b40c78b3b06fcb7dfeb054b2
Reviewed-on: https://code.wireshark.org/review/2373
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Adding -Qunused-arguments to CXXFLAGS causes the checks for -f and -m
flags not to fail with clang++, causing the configure script to warn
about -f flags supported by clang but not clang++ indicating that the
compilers are a mismatched pair.
The checks we do for flags should eliminate "unused" -f/-m flags,
suppressing the warnings that way.
Change-Id: I749d6f499a3d34300518cc0ba539f355377359af
Reviewed-on: https://code.wireshark.org/review/2362
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This might fix the Solaris/SPARC build error
configure: error: conditional "SSE42_SUPPORTED" was never defined.
Usually this means the macro was only invoked conditionally.
(not all the world's a VAX^Wx86).
Change-Id: Ib189ce70b203875188cee3266b8652c02ca34237
Reviewed-on: https://code.wireshark.org/review/2358
Reviewed-by: Guy Harris <guy@alum.mit.edu>
- check only for -msse4.2
- check if there's nmmintrin.h header
- don't check if current CPU support -msse4.2 (fix cross compilation)
Change-Id: Iba8d291fdf5602937ab540a69b7608a81427ad25
Reviewed-on: https://code.wireshark.org/review/2189
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add autotools macros to distribution
Call AX_EXT to define HAVE_SSE4_2
Change-Id: I9ff085d923dfafb32510cdd14290e74a2aaea302
Reviewed-on: https://code.wireshark.org/review/2110
Tested-by: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Rename --enable-extra-warnings to --enable-extra-compiler-warnings, and
have the message talking about "extra warnings" talk about "extra
compiler warnings", to make it more uniform (the documentation for the
--enable flag speaks of "additional compiler warnings") and to clarify
that these are warnings from the compiler, not from *shark.
Change-Id: Ic1a045670144f8d9eda2e3427142027e2a339156
Reviewed-on: https://code.wireshark.org/review/1230
Reviewed-by: Guy Harris <guy@alum.mit.edu>
That makes it clearer that what we're enabling are extra warnings, and
fits better with the description for --enable-warnings-as-errors, which
says the default is "yes, unless extra warnings are enabled".
Change-Id: If21f778df0dfdb98acbe02cb6a763ed27f2a7f91
Reviewed-on: https://code.wireshark.org/review/1227
Reviewed-by: Guy Harris <guy@alum.mit.edu>
We test whether a given compiler supports a given -W flag, so we don't
need to separate them and check them only for particular compilers.
To make that even clearer, rename the --enable option from
--enable-extra-gcc-checks to --enable-extra-compiler-checks, and
document it as just "do additional -W checks", and rename the
WIRESHARK_EXTRA_GCC_ CMake variables to WIRESHARK_EXTRA_COMPILER_.
Sync up the lists of warning flags in CMake with the lists in autoconf.
Uncomment -Wdocumentation while we're at it. If it doesn't work *at
all*, comment it out until it's fixed, or, better yet, fix it; if it
still produces warnings, we just leave it among the "extra" flags.
Change-Id: I4042affdade612e4025e2881d08f1ca69d759626
Reviewed-on: https://code.wireshark.org/review/1226
Reviewed-by: Guy Harris <guy@alum.mit.edu>
With -Wunreachable-code flags (and disable for the moment -Wdocumentation)
Change-Id: I126c962b32e650a63b78092e95896736ae7335c9
Reviewed-on: https://code.wireshark.org/review/678
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Add optional dependancy to libsbc to play Bluetooth SBC in
A2DP payload. Also simplify RTP Player and extent codec interface.
Change-Id: I52e1fce9c82e2885736354fe73c6c37168a4fda3
Reviewed-on: https://code.wireshark.org/review/19
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
This is a VERY PRELIMINARY version of tfshark. It's an attempt to jumpstart FileShark and its architecture. Right now it's mostly just a very stripped down version of tshark with all of the necessary build modifications (including now building filetap library since tfshark depends on it)
This code has helped me identify what I believe to be all of the necessary layers for a complete fileshark architecture. And those layers will slowly be added in time (patches always welcome!).
svn path=/trunk/; revision=54646
dissector for Novell's PKIS certificate extensions
from me
clean up the $Id$ tags
remove packet-pkis(-template).h
remove ASN.1 definitions that cause compiler warnings
(OID, SecurityLabelType2)
move the dissector to the clean ASN.1 dissectors
support CMake build
change the name to novell_pkis
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9597
svn path=/trunk/; revision=54508
supported by some versions of g++ even though the corresponding version
of gcc supports them. Other versions of g++, and clang, support them.
Check, before adding a -W option for C++, whether the compiler supports
it; that check must be done with -Werror, at least with g++, in order to
get a non-zero exit status from the compiler.
svn path=/trunk/; revision=54447
Given that Wireshark is moving to QT, the Wireshark changes required to
fix the features deprecated in Gtk 3.10 will not be done.
svn path=/trunk/; revision=54337
It should fix:
cc1plus: warning: command line option `-Wmissing-prototypes' is valid for Ada/C/ObjC but not for C++ [enabled by default]
(only g++ complains, clang is OK with -Wmissing-prototypes)
svn path=/trunk/; revision=54086
on what libwiretap thinks it is.
Update some comments to reflect the death of the hack used to include
(libwiretap) plugin support in programs not built with libwireshark.
svn path=/trunk/; revision=54015
./configure's options for gtk2 vs gtk3 vs qt.
Make it possible to not build the GNOME package (now both UIs' packages are
optional). I think Chris requested this a while ago.
If this works out it may make sense to control the rest of the options via
./configure .
svn path=/trunk/; revision=53607
http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Code-Gen-Options.html#Code-Gen-Options
-ftrapv "generates traps for signed overflow on addition, subtraction,
multiplication operations." and -fwrapv "instructs the compiler to
assume that signed arithmetic overflow of addition, subtraction and
multiplication wraps around using twos-complement representation."
Those seem mutually-exclusive to me, and we probably want wrapping, not
traps, as there's probably a fair bit of code out there that explicitly
or implicitly assumes wrapping. (Actually, we really want to avoid
signed arithmetic for the cases that most matter, such as offsets and
lengths, but, unfortunately, we currently have API conventions that
allow negative values for lengths, either with -1 meaning "to the end"
or with negative values meaning "relative to the end".) In addition,
there seem to be some bugs complaining that -ftrapv doesn't always cause
traps on signed integer overflow.
We seem to be seeing crashes in Lemon on the Solaris buildbot subsequent
to adding -ftrapv; I don't know whether that's an overflow being
detected, a bug in the compiler, or something unrelated, especially
given that we're using Sun C, not GCC, on the Solaris buildbot.
However, we'll try removing -ftrapv, to see if it fixes the problem; the
MIT CSAIL paper in question wasn't really recommending all the GCC
options it mentioned (which, as noted, wouldn't make sense, as -ftrapv
and -fwrapv appear to be mutually-exclusive).
svn path=/trunk/; revision=53556
/usr/include/qt5/QtCore/qglobal.h:1079:4: error:
"You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC or -fPIE."
svn path=/trunk/; revision=53432
installing command-line developer tools with no SDKs but with a standard
UN*Xy /usr/include or of installing Full Frontal Xcode, if the user
didn't specify building against an SDK, check to see whether we *have*
any SDKs and, if not, don't set the deployment target.
svn path=/trunk/; revision=51501
configure Wireshark, so we don't, for example, do "make distcheck" with
no options, and thus default to GTK+ 3, on a system without GTK+ 3 where
Wireshark was configured with --with-gtk2. (This also means that if
we're configuring only with Qt, or with GTK+ *and* Qt, "make distcheck"
will check with those.)
svn path=/trunk/; revision=51456
the kernel" thing, and add the NetBSD and DragonFly BSD /proc links (if
they don't mount /proc, that doesn't work, but it doesn't get in the
way).
On Solaris, check for getexecname, just in case somebody tries to build
on an old Solaris that doesn't support it (that could well end up being
the least of their problems, but at least they won't ask us to diagnose
that one).
svn path=/trunk/; revision=51343
That way, if somebody specifies --with-gtk[23] and that version of GTK+
isn't found, we fail with an indication that the version of GTK+ they
asked for isn't there, and if no GUI toolkit was specified, and they
didn't explicitly say "don't build Wireshark", we look for GTK+ 3 and,
if it's not found, let the user know explicitly.
svn path=/trunk/; revision=51323
try it without -ldl (in case the OS doesn't have it - not a good idea,
as it complicates the build process for cross-platform tools that might
require it on other platforms, but "not a good idea" never stopped UN*X
vendors in the past) and, if that fails, try it with -ldl.
svn path=/trunk/; revision=51309
deployment target; if --disable-osx-deploy-target was specified, set it
to the OS version on which we're building - minor/dot-dot version and
all - as there's no guarantee that it'll work on *any* version earlier
than that.
svn path=/trunk/; revision=51060
anything other than OS X, fail; whatever it is you're trying to do won't
work (unless and until there exists a platform that fully supports
cross-development for OS X, *including* building against SDKs and
building with -mmacosx-version-min).
If you use neither on OS X, default to the OS major version on which
you're building. If you use --disable-osx-deploy-target, don't build
against an SDK and don't use -mmacosx-version-min.
svn path=/trunk/; revision=51057
packages, providing macros that we use in our configure script in case
somebody building from SVN doesn't happen to have the package installed
and thus doesn't happen to have those macros defined.
In the case of Qt, there *isn't* such a .m4 file, so we had to create
the macro. Move it to acinclude.m4, and rename it to
AC_WIRESHARK_QT_CHECK to indicate that it's our own check.
svn path=/trunk/; revision=50881
--disable-wireshark was not specified, build with GTK+ 3.
If any of --with-gtk2 or --with-qt are specified, and --with-gtk3 wasn't
specified, *don't* look for GTK+ 3 and don't build with it.
If *both* --with-gtk2 and --with-gtk3, fail.
svn path=/trunk/; revision=50872
@executable_path/../lib as well as /usr/local/lib, so we can use @rpath
in the install names in the executables and libraries in the application
bundle.
Have the osx-app.sh script tweak all references to libraries from
/usr/local/lib in all executables, libraries, and plugins in the app
bundle to use @rpath. (The "all" is important; it fixes the GTK+ crash
mentioned in the comment in osx-app.sh. The notion of doing all of them
came from the osx-app.sh script in a newer version of Inkscape.)
This renders the setting of DYLD_LIBRARY_PATH in the wrapper scripts in
the bundle unnecessary; remove it. (Ideally, we should try to get rid
of the wrapper scripts entirely, but that might have to wait for us to
switch to using Qt.)
svn path=/trunk/; revision=50560
tests using the compiler are done using the flags that
we'll be using when building.
Add a -mmacosx-version-min flag to CFLAGS/CPPFLAGS/LDFLAGS so that the
compiler tests use them. This may, or may not, obviate the need to set
MACOSX_DEPLOYMENT_TARGET in OSX_DEPLOY_TARGET.
svn path=/trunk/; revision=50426
when building for OS X; that causes the MACOSX_DEPLOYMENT_TARGET
environment variable to be set when building (so that, for example, we
don't use linker features available on the version on which we're
building but not on the minimum OS version for which we're building),
and causes the SDK for that version to be used (so that, for example, we
don't link with libraries with later version numbers than the ones
provided with the OS version for which we're building).
svn path=/trunk/; revision=50410
AC_WIRESHARK_COMPILER_FLAGS_CHECK, because it doesn't just affect CFLAGS
and it doesn't just affect the flags for GCC.
svn path=/trunk/; revision=50222
that it doesn't fail due to the C++ compiler not supporting -W options
that the C compiler does.
(We should fix that, too, by having separate checks for whether the C
and C++ compilers support particular options.)
svn path=/trunk/; revision=50215
C++ compiler (it might not be one on, for example, OS X, due to "cc"
being a C compiler, "CC" referring to "cc" due to the case-insensitivity
of the default OS X file system, and "CC" being one of the names checked
for in AC_PROG_CXX), so if we really need a C++ compiler, test it with a
program that a C compiler won't compile.
svn path=/trunk/; revision=50204
on a Mac, right? So of *COURSE* you want to use our shiny new frameworks
rather than those ugly old open-source multi-platform libraries, right?"
warnings.
svn path=/trunk/; revision=50200
bugs it points out that probably mean the code won't work on machines
that require alignment (e.g., SPARC machines), but we'll turn it on once
we fix them. (clang is fussier than GCC about this.)
svn path=/trunk/; revision=50187
an error, or not issue warnings, by default if you give them an unknown
-f flag. Instead, test that flag with all compilers, and use -Werror to
force it to error out.
As with C/C++ flags, so with C++-only flags.
svn path=/trunk/; revision=50178
machine, with both qt4 and qt5 development tools installed), moc and uic are the
qt5 versions, but the rest of the configuration process grabs qt4 headers and
link paths, leading to a lot of weird errors.
svn path=/trunk/; revision=50150
./configure now accepts:
--with-gtk2 : enabled by default; exclusive of --with-gtk3
--with-gtk3 : disabled by default; exclusive of --with-gtk2
--with-qt : disabled by default, can be specified with gtk
--enable-wireshark : controls whether *any* GUI is built
If Qt is enabled then a new program is created: "wireshark-qt". "wireshark"
remains the Gtk+ version.
svn path=/trunk/; revision=50147
Move DESKTOP_FILE_INSTALL into the group of programs used for packaging;
it's used when you install a source package. (It's not used to *build*
a source package, but....)
svn path=/trunk/; revision=49256
see whether it's Python 2 or not; if it's not, *then* look for Python 2.
That way, you can use Python on systems where python is Python 2 and
python2 doesn't exist.
Move the check for Python up after the check for Perl. (All the program
checks arguably belong together.)
AC_PATH_PROG() does AC_SUBST() for you; don't do it ourselves.
svn path=/trunk/; revision=49253
call PKG_PROG_PKG_CONFIG explicitly in configure.ac
AC_REQUIRE(PKG_PROG_PKG_CONFIG) may be expanded only under an if
statement that's not true and thus PKG_PROG_PKG_CONFIG will never be
called.
./configure --without-gnutls --with-libnl demonstrates the problem
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8634
svn path=/trunk/; revision=49215
Point users to https://code.google.com/p/pyreshark/ as an alternative to the
current Python support.
While we're in there, make it harder to enable Python: change it from
"--with-python" to "--with-broken-python" just to prevent people from enabling
unless they really mean it (are going to work on fixing it).
svn path=/trunk/; revision=49138
Wireshark compiles with -Wc++-compat and -Werror, at least on my machine
with llvm-gcc 4.2.1. Make that a standard -W flag, to keep code that
won't pass a C++ compiler from sneaking back in (except in the files
that can't currently be compiled with -Werror for various reasons).
svn path=/trunk/; revision=48535
non-Linux systems. Warn the user if they specified --with-libnl on one
of those systems.
Allow the user to specify a particular libnl version with --with-libnl.
If the user specifies --with-libnl=VERSION, and that libnl version isn't
found, fail. No need to have an explicit "auto" argument - that's the
default.
Fix a typo in a definition message.
svn path=/trunk/; revision=48402
Make libnl a --with flag instead of an --enable flag, since it is an optional
package. Make it a three-way flag, where 'no' disables, 'yes' enables (and
errors if it can't be found), and 'auto' enables (but doesn't complain if it
can't be found). Default to 'auto', which was our old behaviour.
[This is my first real foray into autoconf, so hopefully I got everything right]
svn path=/trunk/; revision=48398
Docbook was done using Pandoc and cleaned up by hand. Add an
asciidoc.conf which contains macros for linking to Wireshark bugs and
CVE IDs.
Remove the release-notes.chm target. I don't think we ever used it and
we're probably better off generating PDF or HTML if we need something
fancier than plain text.
In configure.ac, consolidate program path discovery a bit and add a2x
discovery.
svn path=/trunk/; revision=48307
thousands grouping (') flag and use it in format_size if it's available.
As far as I can tell this translates to "everywhere except Windows and
OpenBSD". According to the various build logs at
https://build.opensuse.org/package/show?package=mingw32-glib2&project=windows%3Amingw%3Awin32
the OBS GLib packages enable GLib's internal printf implementation from
Gnulib which means we *should* be able to enable this on Windows.
Unfortunately this doesn't appear to be the case.
svn path=/trunk/; revision=48042
Add a (crude) check for the Qt version, making 4.6.0 the minimum.
The existing checks in configure.ac should be moved into into this new module.
svn path=/trunk/; revision=47537
Use them instead of repeating the same number several times.
AC_SUBST() them so we can pick them up in, for example, wireshark.spec.in .
svn path=/trunk/; revision=47481
are built with warnings.
Also add compiler-specific flags (in this case, just the flags to enable
ANSI C compilation) to CFLAGS_FOR_BUILD.
svn path=/trunk/; revision=47479
what. If we don't find them, and the user specified --with-qt, fail (if
we haven't already failed to find Qt at all); if we don't find them, and
the user *didn't* specify --with-qt, just set UIC and MOC to "uic" and
"moc", which will fail on "make dist" but will at least allow the user
to build.
svn path=/trunk/; revision=47475
exists by doing:
if test "x$3" != "x" ; then
because if the program contains quotes it breaks the shell's parsing.
Instead test for the existence of $4 (which is mandatory if $3 is given).
Fix up the test program for -Wlogical-op so that it actually compiles
warning-free (at least on my system) when the compiler doesn't have the bug
we're checking for.
svn path=/trunk/; revision=46926
worked OK before. In the test program, try declaring foo() before
defining it, in case the problem is that --enable-extra-gcc-checks
enables checking for functions that weren't declared before they were
defined, so the lack of that declaration may have caused a separate
warning.
svn path=/trunk/; revision=46924
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().
Change some data types to avoid those implicit conversion warnings.
When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.
Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers. Cast
away those warnings in some cases where an API we don't control forces
us to do so.
Enable a bunch of additional warnings by default. Note why at least
some of the other warnings aren't enabled.
randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.
If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.
svn path=/trunk/; revision=46748
Enable PIE (if the compiler supports it) when compiling dumpcap. Do this
regardless of whether we're configured to install dumpcap setuid-root because
some users will end up running dumpcap as root regardless of how we were
configured.
svn path=/trunk/; revision=46608
function actually *exist*.
Declare foo() before defining it - if we configure with
--enable-extra-gcc-checks, given that we're building with -Werror (so
that we find out whether the compiler issues a warning for a particular
construct), we have to avoid constructs that will provoke *other*
warnings.
svn path=/trunk/; revision=46488
to see whether it really doesn't work right (i.e., warns bogusly about
variables in prototype definitions of function pointers shadowing
variables) or if the test fails for some other reason.
svn path=/trunk/; revision=46476
it do an additional check, if it finds that a given compiler option is
supported by the compiler, to see whether it's supported but
undesirable. The arguments are a chunk of code to try to compile with
-Werror, and a string to be used in the "checking..." message printed
when trying to compile the cunk of code.
Try enabling -Wshadow again, but have it check whether
extern int atoi(char *p);
int
foo(char *p)
{
int (*fptr)(char *p) = atoi;
return fptr(p) * 2;
}
compiles with -Wshadow and -Werror, so that we don't use -Wshadow with
compilers that complain about that; some older versions of GCC complain
about that, and it's really not worth our effort to eliminate or rename
arguments in function prototypes to make -Wshadow work even with those
compilers.
svn path=/trunk/; revision=46475
It appears that the compiler on
the OSX-10.5-x86 buildbot must be pretty old.
All the other *nix buildbot compilers do not
check the dummy param names used in the definition
of 'xxx' below to see if they are shadowing
anything.
void foo(tvbuff_t tvb, ...) {
'void (*xxx)(tvbuff_t tvb, ....) = NULL;'
...
}
I do seem to remember reading that gcc once
had this issue but was fixed eventually.
svn path=/trunk/; revision=46430