Commit graph

303 commits

Author SHA1 Message Date
Jeroen Roovers
cf0d762d73 do not clobber user CFLAGS
Bug: 10791
Change-Id: I58c35c757039e69111a39100f5ccb306e098d591
Reviewed-on: https://code.wireshark.org/review/10519
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-09-18 01:37:25 +00:00
Jeffrey Smith
a2fec21886 Check if -fPIC is needed for Qt5 code to compile
On many systems, Qt5 requires that code compiled against it must compile
with -fPIC.  The preferred place to determine whether this is necessary
is at configure time.  This change adds the auto-tool code to make that
happen and removes the hack put in place as an interim solution.

Bug: 11230
Change-Id: I6e583c67bb67d168a30c0af05a8cd0a070522ba0
Reviewed-on: https://code.wireshark.org/review/10281
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-09-10 13:00:34 +00:00
Guy Harris
a1a2d50716 Make .o files, not .cpp and .h files, depend on the ui_*.h files.
That's one of the mechanisms the autotools documentation suggests using
to handle generated header files.

Using it means that "make dist" will no longer try to build those files
(they're not part of the distribution - and they can't be, as the files
would be different for Qt 4 and Qt 5, and need to be generated by the
uic from the same version of Qt as the one against which Wireshark is
being built).

This means we don't need to try to find uic, moc, or rcc if we're not
building with Qt, so don't do so.

Change-Id: Id2aadb8289598b82e14e4ed402ff8cdc15fdef74
Reviewed-on: https://code.wireshark.org/review/9583
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-07-10 21:30:33 +00:00
Guy Harris
5c8b92c28b Make sure we get the Qt tools for the Qt version with which we're building.
For example, Qt 4's uic produces .h files that don't compile with Qt 5,
as they use header #include paths that work with Qt 4's headers but not
Qt 5's headers.

Change-Id: I50c7bd15fca05475180a933a6c77955dc686c0c5
Reviewed-on: https://code.wireshark.org/review/9567
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-07-08 22:10:05 +00:00
Jeff Morriss
aa8a171955 Search for the Lua (version < 5.3) package first: it's the most common case.
Change-Id: I5a74870c491d46e538200f2b275b1608c0afecd4
Ping-Bug: 11219
Reviewed-on: https://code.wireshark.org/review/8865
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-06-11 13:33:11 +00:00
Guy Harris
3944e55633 Clean up --with-qt handling.
If you don't specify --with-qt or --without-qt, we build with Qt iff we
find it; we don't fail if we don't find it.

If you specify --with-qt, we build with Qt if we find it and fail if we
don't find it.

If you specify --without-qt, we don't look for Qt and don't build with
it.

This is all independent of --with-gtk2 or --with-gtk3.

Change-Id: I508d3281192bda9168fc46aba6011687c83ef818
Reviewed-on: https://code.wireshark.org/review/8861
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-06-09 23:37:52 +00:00
Jeff Morriss
032ad5a7aa Update how we search for Lua with pkg-config.
First, search for packages with the version number without the period (bug
11219).

Second, don't look for Lua 5.3 because we don't work with it.  If what we find
(without pkg-config's help) is Lua 5.3, disable Lua support (bug 10881).

Cmake support by Peter Wu (originally Ie73e5b53640f10432881a9671c0a605f7f027ed8):
Note the check for "lua<=5.2.99" instead of "lua<5.3" since cmake does not
support the latter syntax. Tested with lua5.2, lua5.1 and lua (5.3) installed.

Bug: 11219
Ping-Bug: 10881
Change-Id: I382d07ca00eafc6111cd4e9faa2b66f6b8f95b6e
Reviewed-on: https://code.wireshark.org/review/8783
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-06-08 08:13:09 +00:00
Mike Frysinger
222de83d95 switch to AC_PATH_TOOL
The TOOL variant will automatically search for host prefixed scripts
(e.g. armv7a-unknown-linux-gnueabi-pcap-config) before falling back
to the default (i.e. pcap-config).  This makes cross-compiling a bit
simpler.

Change-Id: Ia450839693b5550f798634a7e8b82c2a661b088c
Reviewed-on: https://code.wireshark.org/review/8481
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-05-28 15:24:58 +00:00
Guy Harris
5fa914c19e Add a major version number argument to --with-qt.
Without a major version number, it behaves as before, picking whatever
version it finds, and preferring Qt 5 to Qt 4.  With a major version
number, it looks only for the version in question.

Bug: 10793
Change-Id: Idf6c2c61e84bb87f7b601d8f09c33f31b67bf46d
Reviewed-on: https://code.wireshark.org/review/8052
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-13 19:16:23 +00:00
Guy Harris
5f933e8560 Only add flags to CFLAGS_FOR_BUILD if $CC and $CC_FOR_BUILD are the same.
Otherwise, just because a flag is appropriate for $CC, that doesn't
necessarily mean it's appropriate for $CFLAGS_FOR_BUILD.

(We don't use CFLAGS_FOR_BUILD for many things, so it's probably not
worth making a lot of effort to throw all the warning flags into it if
we're cross-compiling; we *do* throw them in for native compilation,
which is what most developers use and test with, so that should be
sufficient to let the warnings catch problems with the build tools we're
building.)

Change-Id: Iad9d611b4687e9e154f9871f741f3c8f3b307c88
Reviewed-on: https://code.wireshark.org/review/8026
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-12 04:07:53 +00:00
Guy Harris
083f6b6e6d Have a #define for whether the capture buffer size can be set.
It can be set if either 1) this is Windows (where we're assumed to be
using WinPcap, which includes calls to set the buffer size) or 2) we
have pcap_create() (in which case we also have pcap_set_buffer_size(),
at least in a normal libpcap release).

Use that rather than testing "defined(_WIN32) ||
defined(HAVE_PCAP_CREATE)"; that makes it a bit more obvious what's
being tested.

Change-Id: Id9f8455019d19206b04dd6820a748cb97ae5ad12
Reviewed-on: https://code.wireshark.org/review/7816
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-03-25 03:22:33 +00:00
Jeff Morriss
a308aef89d Look for and use gethostbyname() if we don't have getaddrinfo(). Fail to
configure if we can't find any name resolver (autotools only).

This puts back the gethostbyname()/gethostbyname2() code removed in
I3348179626e97daaddfbc89e3ed21e39915e3de4 and
If59ce8a038776eadd6cd1794ed0e2dad8bf8a22c but as a last-resort option (only
if we don't have a better or more modern name resolver).

As suggested/requested by Guy in https://code.wireshark.org/review/#/c/7423/

Change-Id: I706dbbd65135f47c67d3d8d88a61ad7273914c47
Reviewed-on: https://code.wireshark.org/review/7447
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-03-03 15:02:08 +00:00
Jeff Morriss
3336f71753 Actually define HAVE_GETADDRINFO if we find it.
AC_CHECK_FUNC() doesn't define HAVE_XXX but AC_CHECK_FUNCS() does.  And
AC_CHECK_LIBS() certainly doesn't define HAVE_<function>.

Also remove some ancient comments.

Change-Id: I49d701bb96d3bd3c55c4beb99d532e397ec554ad
Reviewed-on: https://code.wireshark.org/review/7400
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-02-26 03:36:15 +00:00
Gerald Combs
881ff5df92 Remove gethostbyaddr and gethostbyaddr2.
They've been deprecated for a very long time. Replace them with
getaddrinfo. Note that we might not want to do synchronous name
resolution at all.

Add HAVE_GETADDRINFO to the KfW win-mac.h collision list.

Change-Id: If59ce8a038776eadd6cd1794ed0e2dad8bf8a22c
Reviewed-on: https://code.wireshark.org/review/6958
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-02-06 08:07:10 +00:00
Jeff Morriss
4fe8ca0576 Simplify how we find Lua and expand the places we look.
First, it appears some packagers actually ship a pkg-config file for Lua.
Try to use it.  (Unfortunately the package name varies so we have to try
several package names.)

If that fails, try to find Lua directly, accounting for the various naming
conventions we've seen.

Bug: 10475
Bug: 10572
Change-Id: I82e789c466a488dc12431cdd90c49b4c1052414a
Reviewed-on: https://code.wireshark.org/review/6756
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-02-04 00:53:29 +00:00
Guy Harris
5653fcedca No *pcap should have pcap_open() without the other remote extensions.
WinPcap 3.0 introduced pcap_open(); it also introduced
pcap_findalldevs_ex() and pcap_createsrcstr().  If you're going to put
pcap_open() in libpcap, there's not much point to doing so but not also
putting pcap_findalldevs_ex() and pcap_createsrcstr() there.

(And, in the future, there'll be support for remote capturing with
pcap_create() and pcap_activate(), with no need for pcap_createsrcstr(),
and a replacement for pcap_findalldevs() and pcap_findalldevs_ex(),
which we'll also check for.)

So there's no need to check for pcap_findalldevs_ex() or
pcap_createsrcstr().

Change-Id: I9323aad20136684d05d1e909326792a2f1408887
Reviewed-on: https://code.wireshark.org/review/6311
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-04 20:59:14 +00:00
Gerald Combs
4921e55990 Qt: Initial VoIP Calls dialog.
Add Telephony menu items for VoIP Calls and SIP Flows. Put VoIP Calls at
the top, since that seems to be the primary item.

Add configure-time checks for QtMultimediaWidgets in anticipation of
adding a VoIP playback dialog.

Add an icon for the playback button. (Yes, I've been avoiding
GNOME-level gratuitous icons so far but this is one of the rare
occiasions where it makes sense.)

Add a help link define for the VoIP calls dialog.

Change-Id: I5d0799685c598ad9af76fe9667f8ea7d14b66050
Reviewed-on: https://code.wireshark.org/review/5674
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-09 21:25:33 +00:00
Guy Harris
392c41ce30 Add support for getting nanosecond time stamp resolution when capturing.
If we have pcap_set_tstamp_precision(), use it to request nanosecond
time stamp resolution *if* we're writing a pcap-ng file; any code that
reads those files and can't handle nanosecond time stamp resolution is
broken and needs to be fixed.

If we're writing a pcap file, don't ask for nanosecond resolution time
stamps, as that requires a different magic number for pcap files, and
not all code that reads pcap files can handle that.  (Unlike pcap-ng,
where the ability to have non-microsecond time stamp resolution was
present from Day One, it's a relatively recent addition to pcap.)  We
could add a command-line option/GUI option for that, like the option
recent versions of tcpdump have, if it matters.

Change-Id: I8fa464eb929feecb9a70be70712502c9f0cc5270
Reviewed-on: https://code.wireshark.org/review/4355
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-09-28 23:29:05 +00:00
Garming Sam
df335d52c0 Cope with MIT being line wrapped when compiling with kerberos
The line "Massachusetts Institute of Technology" now appears
across two lines in the header file.

Change-Id: I618b520d6c15f51180b47d93c75e29a6f43b868b
Reviewed-on: https://code.wireshark.org/review/3790
Reviewed-by: Evan Huus <eapache@gmail.com>
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-08-22 23:24:17 +00:00
Guy Harris
d434e08b01 Fix a comment.
Change-Id: I4dff4912ad8355552ba9efee73c0aae9a2a55000
Reviewed-on: https://code.wireshark.org/review/3415
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-04 20:42:28 +00:00
Guy Harris
27cfea6467 Define INET6 in config.h rather than in the Makefile.
That's what we do with nmake and CMake; this makes it uniform, so it's
easier to compare compiler commands.

Change-Id: Ice2c4bd796e921fa3089e8a45a32ad14d9b0e0a4
Reviewed-on: https://code.wireshark.org/review/3387
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-03 18:49:17 +00:00
Guy Harris
aa0f80981a Don't check for -Wl,{option} support.
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>
2014-07-01 19:47:07 +00:00
Guy Harris
b378f72545 Fix comments to reflect reality.
Change-Id: Id56f5844932371a89785f4ddce87eb66789acdc8
Reviewed-on: https://code.wireshark.org/review/2754
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-01 19:27:01 +00:00
Guy Harris
c507304d98 If we don't check for something, don't print a result.
This caues a bunch of bogus "no"s to be printed when testing for
various compiler options when the compiler isn't GCC-like enough to
accept GCC-style -W, -f, and -m flags.

Change-Id: I16cf45729c61d166644cbddccfbaeb9b7770b045
Reviewed-on: https://code.wireshark.org/review/2365
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-18 05:47:24 +00:00
Guy Harris
20accf341c Don't do the check for clang/clang++.
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>
2014-06-18 04:58:42 +00:00
Guy Harris
4cebb0686f Add -Werror when testing -m compiler flags.
As with -f flags, some compilers need -Werror to force the compiler to
fail when passed an unknown -m flag.

Also, if it's not a -W or -f or -m flag, don't forget to add it to
CFLAGS and/or CXXFLAGS.

And propagate a comment to the C++ flag testing.

Change-Id: I53e0e59b34b10b9477c60ddd4f2e047b3b8be77f
Reviewed-on: https://code.wireshark.org/review/2361
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-18 04:27:59 +00:00
Guy Harris
d58ac9ad38 Get rid of the last bits of Python, as they break the build.
Bereft of life, it rests in peace.

Change-Id: I8b9bc8c6cef0635d5526aa6b389aa33bc41fbc66
Reviewed-on: https://code.wireshark.org/review/2284
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-16 22:54:42 +00:00
Guy Harris
68f9811b1b Don't distinguish between "GCC" and "Clang" extra -W flags.
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>
2014-04-20 22:47:18 +00:00
Guy Harris
81c0091c0a Try to improve the "Kerberos requested but not OpenSSL" message.
At least one person didn't realize that it meant that you have to
specify --with-ssl when configuring, so try saying that a bit more
explicitly.

Change-Id: If15a9cfaeaf7d4aca2c570602fc09ff3ae489d35
Reviewed-on: https://code.wireshark.org/review/575
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-03-09 22:42:41 +00:00
Guy Harris
2412913616 Fix configure-script errors with some versions of autoconf.
svn path=/trunk/; revision=54470
2013-12-26 21:45:51 +00:00
Guy Harris
0893e06324 OK, "i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc.
build 5658) (LLVM build 2336.11.00)" likes -Wmissing-prototypes but not
-Wmissing-declarations and G++ 4.8.2 likes -Wmissing-declarations but
not -Wmissing-prototypes, so check whether *either* of them requires
-Werror in order to be detected as NSFC++.

Fix a copy-and-pasteo while we're at it.

Don't treat a different willingness to accept
-Wmissing-{prototypes,declarations} as an indication that you have
mismatched C and C++ compilers.

svn path=/trunk/; revision=54468
2013-12-26 21:03:54 +00:00
Guy Harris
b5baf01b86 No need for quotes around the arguments to AC_MSG_ macros.
svn path=/trunk/; revision=54448
2013-12-24 18:51:13 +00:00
Guy Harris
8713e0457b Some warning options are, for reasons not entirely obvious to me, not
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
2013-12-24 18:43:42 +00:00
Gerald Combs
f6884b5945 Add checks to see if CC and/or CXX are Clang. Add "-Qunused-arguments"
to CFLAGS and/or CXXFLAGS as needed.

svn path=/trunk/; revision=52654
2013-10-16 22:39:44 +00:00
Guy Harris
2accaae68a Fix other HAVE_LUA entry.
svn path=/trunk/; revision=52517
2013-10-10 22:56:48 +00:00
Guy Harris
36fe610b11 Just describe HAVE_LUA as "Define to use Lua"; it's not tied to a
version, and this matches cmakeconfig.h.in.

svn path=/trunk/; revision=52511
2013-10-10 20:20:45 +00:00
Balint Reczey
d353e38a41 Revert "Prefer newer Lua versions"
The original version was OK, obviously.

svn path=/trunk/; revision=52141
2013-09-18 21:51:45 +00:00
Balint Reczey
3db47e653e Prefer newer Lua versions
svn path=/trunk/; revision=52140
2013-09-18 21:13:36 +00:00
Jörg Mayer
f9faa339a5 Fix a typo
svn path=/trunk/; revision=52030
2013-09-14 07:00:52 +00:00
Guy Harris
bebe1200de Just check whether dladdr() is available; we check in the code whether
it succeeds, so there's no point in checking whether it succeeds in a
sample program.

svn path=/trunk/; revision=51322
2013-08-12 20:01:30 +00:00
Guy Harris
70523b5014 On some platforms, to get dladdr() you need to link with -ldl. First
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
2013-08-12 09:09:32 +00:00
Guy Harris
05a7ab12c1 Add a AC_WIRESHARK_QT_MODULE_CHECK that checks for a particular Qt
module, and use that in AC_WIRESHARK_QT_CHECK.

svn path=/trunk/; revision=50882
2013-07-24 23:44:56 +00:00
Guy Harris
f317c7821d The files in aclocal-fallback are copies of .m4 files from various
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
2013-07-24 22:34:44 +00:00
Guy Harris
f4361b8e38 If the LHS of an "expr LHS : RHS" expression has an X added to avoid
confusing expr if the LHS is an empty string, the RHS needs it as well.

Also, fix some typoes ("$X" rather than "X$"), and use lower-case "x",
as that's what's used elsewhere when doing that sort of thing.

svn path=/trunk/; revision=50331
2013-07-02 23:56:32 +00:00
Stephen Fisher
b4dca0fbd2 Change additions from r50178 from if expr "$GCC_OPTION" to if expr
"X$GCC_OPTION" so expr doesn't get confused by the GCC_OPTION that 
starts with a hyphen and spit out messages like this (on FreeBSD): 

checking whether we can add -fexcess-precision=fast to CXXFLAGS... expr:
illegal option -- f
expr: usage: expr [-e] expression

expr: illegal option -- f
expr: usage: expr [-e] expression

no


svn path=/trunk/; revision=50330
2013-07-02 23:28:51 +00:00
Guy Harris
70075fa70f Rename AC_WIRESHARK_GCC_CFLAGS_CHECK to
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
2013-06-28 22:00:52 +00:00
Guy Harris
eea87ac6e7 Change formatting in the hopes of making the code a bit easier to figure
out, and update a comment.

svn path=/trunk/; revision=50221
2013-06-28 21:51:31 +00:00
Guy Harris
623cca3634 When checking whether a given option should be added to the compiler
flags, if the option should be added to the flags for both C and C++,
test both the C and C++ compilers and, if the answers are different,
print a warning; the user might have (intentionally or unintentionally)
selected mismatched compilers, e.g. clang and g++ on OS X.

svn path=/trunk/; revision=50219
2013-06-28 21:38:51 +00:00
Guy Harris
04cc1e2fb5 Don't assume that compilers not named "clang" will, by default, report
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
2013-06-27 00:45:39 +00:00
Guy Harris
eaf5e3fd1f Don't assume that compilers that need an extra option to report errors,
rather than just warnings, for unknown warning options are named
"clang"; they might not be.

svn path=/trunk/; revision=50177
2013-06-26 22:43:51 +00:00
Jeff Morriss
ffc5183fd2 (Attempt to) fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8813 :
Enable INET6 checking on Solaris versions other than 5.8.

(Yes, theoretically this should be checking for Solaris 5.7 or later.  I'm
going to go out on a limb and assume that no one is actually still using 5.7
or, if they are, they aren't trying to compile a modern Wireshark on it...)

svn path=/trunk/; revision=50173
2013-06-26 18:19:43 +00:00
Martin Kaiser
43db810318 look for /usr/include/lua5.x directories to determine the lua version
(Debian squeeze installs lua includes in /usr/include/lua5.1 and libs
 under /usr/lib, there's no --with-lua=<dir> setting for this
 configuration)

see also https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8438

svn path=/trunk/; revision=48146
2013-03-06 21:48:30 +00:00
Guy Harris
1d3e62c025 Add the warning flags to CFLAGS_FOR_BUILD, so any build tools we build
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
2013-02-04 22:23:19 +00:00
Jeff Morriss
3be49bedd1 In AC_WIRESHARK_GCC_CFLAGS_CHECK() don't check if $3 (the program to be run)
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
2013-01-04 02:12:51 +00:00
Guy Harris
b961881fb3 Add some additional arguments to AC_WIRESHARK_GCC_CFLAGS_CHECK() to make
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
2012-12-09 02:52:33 +00:00
Anders Broman
d54b681f84 From Jim Young and updated by Max Romanov:
The modification to acinclude.m4 adds a new test in the
AC_WIRESHARK_OSX_INTEGRATION_CHECK section to first look for the library
gtkmacintegration.  "gtkmacintegration" is the new internal name for GTK+ MAC
OSX library after the project was moved to www.gtk.org.  Previously this
library was known as igemacintegration.

The patches to the three gtk/*.c files update the conditional #include
<gtkmacintegration/gtkosxapplication.h> to use the new folder name.   The
Option 1 patch will break any build environment that expects to find the
gtkosapplication.h file in the older igemacintegration folder.  
In addition the patch includes updates to
gtk/main.c and gtk/main_menubar.c for a more standard looking App menu.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6702

svn path=/trunk/; revision=45869
2012-11-02 09:58:43 +00:00
Bill Meier
88c8b9218d Use -D_FORTIFY_SOURCE=2 only if the gc optimization level is greater than 0.
Fixes Bug #7449: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7449

-----
Issue:

Building Wireshark with '-O0 -D_FORTIFY_SOURCE=2 ...' fails

The warning [error] message:

/usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires
compiling with optimization (-O) [-Werror=cpp]`


A bit of research shows that this warning was added to a recent version of
glibc (on at least Fedora).

 See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979

The warning message occurs if -D_FORTIFY_SOURCE=... is used and the gcc
'optimization level' == 0 (-O0).

Unfortunately when building with -O0 this warning message:

1. Causes compiles to fail (if -Werror [stop  on warning])
2. Causes ./configure to fail with an (incorrect) message
   about the pcap header being older than the libpcap version.


svn path=/trunk/; revision=43601
2012-07-07 22:35:55 +00:00
Anders Broman
e6e6d6217b From Tony Trinh:
Update Lua from 5.1 to 5.2

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7400

svn path=/trunk/; revision=43482
2012-06-25 20:42:07 +00:00
Anders Broman
aeceb172a4 From Tony Trinh:
Update autoconf script to check for Lua 5.2 

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7400

svn path=/trunk/; revision=43480
2012-06-25 20:31:24 +00:00
Jörg Mayer
7e10804902 Whitespace fix
svn path=/trunk/; revision=43305
2012-06-17 12:07:08 +00:00
Guy Harris
68a4971594 If the user tries to save a capture file atop a file that has all its
write bits turned off or, on 4.4-Lite-based systems, has its "user
immutable" bit turned on, ask them if they really want to overwrite the
file (as those are both used to say "this file is precious, don't let me
easily accidentally trash it") and, if the "user immutable" bit is set,
turn it off first so that the move in the "safe save" won't fail.

svn path=/trunk/; revision=43006
2012-06-02 18:53:13 +00:00
Guy Harris
931acaff3e Fix some comments and some indentation.
svn path=/trunk/; revision=41596
2012-03-16 08:02:35 +00:00
Guy Harris
04acb74936 Put -D and -I flags into CPPFLAGS rather than into CFLAGS; that should
make them apply to C++ as well as C.  That seems to be what the autoconf
documentation suggests:

- Variable: CFLAGS
  Debugging and optimization options for the C compiler. If it is not set
  in the environment when configure runs, the default value is set when
  you call AC_PROG_CC (or empty if you don't). configure uses this
  variable when compiling or linking programs to test for C features.

  If a compiler option affects only the behavior of the preprocessor
  (e.g., -Dname), it should be put into CPPFLAGS instead. If it affects
  only the linker (e.g., -Ldirectory), it should be put into LDFLAGS
  instead. If it affects only the compiler proper, CFLAGS is the natural
  home for it. If an option affects multiple phases of the compiler,
  though, matters get tricky. One approach to put such options directly
  into CC, e.g., CC='gcc -m64'. Another is to put them into both CPPFLAGS
  and LDFLAGS, but not into CFLAGS.

	...

- Variable: CPPFLAGS
  Preprocessor options for the C, C++, Objective C, and Objective C++
  preprocessors and compilers. If it is not set in the environment when
  configure runs, the default value is empty. configure uses this variable
  when preprocessing or compiling programs to test for C, C++, Objective
  C, and Objective C++ features.

  This variable's contents should contain options like -I, -D, and -U that
  affect only the behavior of the preprocessor. Please see the explanation
  of CFLAGS for what you can do if an option affects other phases of the
  compiler as well.

svn path=/trunk/; revision=41593
2012-03-16 03:27:45 +00:00
Guy Harris
b53e379447 Have AC_WIRESHARK_GCC_CFLAGS_CHECK take an optional second flag to
indicate whether the flag is C-only, C++-only, or for both compilers;
pass the appropriate value for C-only flags.  Have the "Checking for..."
message indicate whether we're adding to CFLAGS, CXXFLAGS, or both.

(Yes, the macro should probably be renamed.  "GCC" refers to the GNU
Compiler Collection, which includes a C++ compiler, although that's also
used for compilers that are more-or-less compatible with the ones from
the GNU Compiler Collection, such as the clang compilers.)

We set -Wformat-security whether or not --enable-extra-gcc-checks was
specified, so we don't need to do it again if it was specified.

svn path=/trunk/; revision=41586
2012-03-16 00:49:01 +00:00
Guy Harris
e42d0d35d8 Referring to pcap_version[] doesn't do what you want on at least some
UN*Xes (Fedora 16 and probably other Linux distributions, probably at
least some if not all other ELF-based systems, and perhaps also Mac OS
X), and causes problems if pcap_version[] has a different length in the
libpcap with which the executable was built and the libpcap with which
it's run, so we avoid using it for now.

svn path=/trunk/; revision=40138
2011-12-09 21:15:48 +00:00
Anders Broman
0b41604bad From Kevin Hildebrand:
Typo in acinclude.m4 breaks Heimdal kerberos builds

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6512

svn path=/trunk/; revision=39677
2011-10-30 16:19:05 +00:00
Gerald Combs
b9b05239f1 Add GeoIP IPv6 database support. Tested with GeoIP 1.4.7, but older
versions *should* be supported.

svn path=/trunk/; revision=39280
2011-10-05 22:27:51 +00:00
Stig Bjørlykke
5603cef9f2 Remove support for libpcre, we use GRegex in GLib.
svn path=/trunk/; revision=38683
2011-08-23 09:25:06 +00:00
Jeff Morriss
3ba6316a06 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5607 :
When testing if we can add things to LDFLAGS, don't set LDFLAGS to CFLAGS
if the test determines that the flag cannot be added to LDFLAGS.

(Simple typo: LDFLAGS_saved was being set to CFLAGS instead of LDFLAGS.)

svn path=/trunk/; revision=38434
2011-08-09 19:49:08 +00:00
Guy Harris
0bd4a1ac3f Use spaces uniformly in AC_WIRESHARK_PYTHON_CHECK.
If we don't find python-config, set want_python to no, so the
end-of-configuration message says we're not using the Python
interpreter.  Also fix some cases where we were setting want_zlib rather
than want_python (cut-and-pasteo).

svn path=/trunk/; revision=37654
2011-06-11 21:49:24 +00:00
Guy Harris
350ec69e9a Do the Python embedding similarly to other "default = yes, if available"
items.

Add some quoting to the zlib tests, just in case the argument contains
white space.

Clean up capitalization of Lua and Python.

Link programs that use libwireshark with the Python libraries, and build
Epan with the Python cflags.

svn path=/trunk/; revision=37652
2011-06-11 19:05:17 +00:00
Guy Harris
7eb4723184 Don't bother checking for gzgets(), as we don't use it, and don't even
need to use its presence in zlib as a proxy for "not the crufty old zlib
that comes with some versions of X11".

Do, however, check for inflatePrime() there, instead, just in case the
crufty old zlib that comes with some versions of X11 lack it; this is to
prevent the configure script from assuming a shiny new zlib by testing
with a non-X11 program, causing the build to fail when you build
Wireshark.

svn path=/trunk/; revision=36969
2011-05-03 04:48:02 +00:00
Jeff Morriss
ed8ea7bb34 After testing for the presence of python-config, fix typo so that we actually
test whether we found it or not.

If the user asked for Python support, error out if we find we can't use it.

svn path=/trunk/; revision=36924
2011-04-28 02:24:46 +00:00
Guy Harris
f4ed7e8927 By default, clang only warns about unknown -W options, it doesn't
generate an error for them.  Force them to be treated as errors, so we
correctly test whether an option is supported.

svn path=/trunk/; revision=36732
2011-04-20 09:16:44 +00:00
Guy Harris
b9d4c025d1 Instead of having GCC and CLANG variables, just have
ac_supports_gcc_flags and ac_supports_W_linker_passthrough flags, the
first of which, for now, we set for GCC and clang, and the latter of
which we set for GCC, clang, and xlc (probably true for some other
compilers as well).

Rename AC_WIRESHARK_GCC_LDFLAGS_CHECK to AC_WIRESHARK_LDFLAGS_CHECK, as
it's not checking for anything GCC-specific.  (Leave
AC_WIRESHARK_GCC_CFLAGS_CHECK unrenamed for now, as the flags we test
with it are originally GCC flags that clang also supports for GCC
compatibility.)

Fix some string-equality tests to use = rather than ==; the former is
what the test/[ command uses.

Don't turn on "-no-cpp-precomp" for clang - it whines if you do.

svn path=/trunk/; revision=36731
2011-04-20 08:37:45 +00:00
Guy Harris
05e06f7a7a First cut at support for clang. We may want to have specific items for
"supports GCC-style -W flags", etc., and may want to improve the check
for "is this clang", as well as deciding what other stuff should be done
if we have clang as well.  clang should, I think, largely be
gcc-compatible at the command line.

svn path=/trunk/; revision=36729
2011-04-20 03:22:19 +00:00
Guy Harris
4d6cb744df Add a "-d" flag to dumpcap, to print out the generated code for the
capture filter in human-readable form.  (Well, readable by humans who
know BPF machine language, at least. :-))

svn path=/trunk/; revision=33509
2010-07-13 23:26:07 +00:00
Guy Harris
22c9dd27f7 First check for the new GTK+/OS X integration functions, then the old
ones; it appears that at least one user's -ligemacintegration has both
(see bug 4823), and we should choose the new ones in that case.

Also, always set have_ige_mac if we have the functions.

Fix tpyoes while we're at it.

svn path=/trunk/; revision=33106
2010-06-05 22:04:28 +00:00
Guy Harris
36623bcb71 From H.sivank: GtkOSXApplication support.
Call the various flavors of OS X integration just "OS X integration",
not anything with "IGE" in it - it appears that, in some places,
"ige-mac-integration" refers only to the older Carbon-based functions,
although the library still appears to be called -ligemacintegration.

Update the URLs for the information about the OS X integration
libraries.

Clean up help message for --with-pcap-remote.

Clean up white space a bit.

Speaking of white space, it's "Mac OS X", not "MacOS X".

svn path=/trunk/; revision=32941
2010-05-25 00:35:44 +00:00
Stephen Fisher
3e3cb2d6a3 As of release 1.5, MIT Kerberos moved krb5.h to krb5/krb5.h. Check both
places.  Fix prompted by report on -dev from Jeff Blaine using MIT Kerberos
1.8.


svn path=/trunk/; revision=32727
2010-05-09 06:33:03 +00:00
Guy Harris
7dbbb8c572 Just check for pcap_create(); it first appeared in libpcap 1.0.0, and
pcap_set_buffer_size() did as well, so there aren't any libpcap releases
with pcap_create() but not pcap_set_buffer_size().

Only do one check for pcap_create.

svn path=/trunk/; revision=32695
2010-05-06 23:33:41 +00:00
Anders Broman
f9981411f1 Checking in Stigs changes from
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=475
BUT not activating the check for 
pcap_create()
pcap_set_buffer_size()
This should make it possible to build with support for setting the buffersize if not capturing 802.11 traffic.

The code for handling the 'B' option should be OK in any case.

svn path=/trunk/; revision=32688
2010-05-06 18:34:30 +00:00
Anders Broman
c911b0101b Check for pcap_create
Using pcap create and pcap_activate should make it possible
to set the capture buffer size on Linux systems as well as Windows.
Help to implement it would be apreciated :-)

Ref:
http://seclists.org/tcpdump/2009/q3/151

svn path=/trunk/; revision=32687
2010-05-06 15:39:08 +00:00
Guy Harris
980ac5960e Don't say "Checking for broken pcap-config" if we don't have a
pcap-config to check for brokenness.

svn path=/trunk/; revision=31919
2010-02-19 00:15:29 +00:00
Guy Harris
56cffa1135 Put in missing comma.
svn path=/trunk/; revision=31241
2009-12-11 09:11:42 +00:00
Guy Harris
488253bfe7 Add the time zone abbreviation to the result of abs_time_to_str() and
abs_time_secs_to_str().

svn path=/trunk/; revision=31234
2009-12-11 03:39:17 +00:00
Jörg Mayer
b6cffe4050 - Add an AC macro to test linker flags.
- Test whether the linker supports --as-needed and if so,
  adds it to LDFLAGS

svn path=/trunk/; revision=29327
2009-08-07 18:49:24 +00:00
Guy Harris
e411397ef8 Check for libpcap 1.0's broken pcap-config, which put a space between -L
and its argument - that doesn't work on some platforms (e.g., OS X).

svn path=/trunk/; revision=28664
2009-06-08 17:23:00 +00:00
Guy Harris
923b8ae800 Check for a pcap-config script (as provided by libpcap 1.x) and, if we
find it, use it to determine where to find libpcap and what additional
libraries it requires.

svn path=/trunk/; revision=28653
2009-06-08 02:12:23 +00:00
Stig Bjørlykke
31a2a3065d Don't reuse lua_dir in a for loop.
svn path=/trunk/; revision=28625
2009-06-03 15:40:12 +00:00
Stig Bjørlykke
863e456e78 Fixed setting of LUA_INCLUDES when having extraneous lua heder directory.
Fixed resetting flags after negative check for Lua.

svn path=/trunk/; revision=28624
2009-06-03 15:28:30 +00:00
Stig Bjørlykke
d861a1a6dc Only give a failure message if configuring with --with-lua=yes.
svn path=/trunk/; revision=28623
2009-06-03 13:45:48 +00:00
Stig Bjørlykke
76520bcc34 Added check for extraneous lua header directories, as some systems
apparently put the headers in a "lua5.1" subdirectory.

svn path=/trunk/; revision=28622
2009-06-03 13:21:48 +00:00
Stig Bjørlykke
39d713806f Use liblua by default, if available.
svn path=/trunk/; revision=28621
2009-06-03 12:13:07 +00:00
Sebastien Tandel
52cc5fb1e8 python binding for wireshark (first commit)
* ability to write dissectors with python for wireshark.
        documentation (http://wiki.wireshark.org/Python)


svn path=/trunk/; revision=28529
2009-05-29 21:10:40 +00:00
Stig Bjørlykke
26424033d3 From Petr Sumbera (bug 3305):
Recognize Solaris Kerberos (which is based on MIT Kerberos).

svn path=/trunk/; revision=27622
2009-03-06 18:56:53 +00:00
Stephen Fisher
3a50c0063f Fix bug #3152 for good.
svn path=/trunk/; revision=27092
2008-12-23 03:25:56 +00:00
Jeff Morriss
6c81d84efc Fix bug 3152: when searching for igemacintegration manually set GTK_LIBS to
the found library (AC_SEARCH_LIBS sets the LIBS variable but we really don't
want that).

svn path=/trunk/; revision=27088
2008-12-22 16:10:14 +00:00
Guy Harris
44f8cae6ab If we don't have any of the pcap_datalink_XXX_to_YYY routines,
substitute our own (I wrote them all, so I can steal them from the
BSD-licensed libpcap if I want :-)).  This means that
linktype_name_to_val() and linktype_val_to_name() are always available,
and we don't need to #ifdef use of them.

Use pcap_datalink_val_to_description() to get the description for a
particular DLT_ value, rather than mapping the DLT_ value to a
WTAP_ENCAP_ value and getting the description for the latter.

svn path=/trunk/; revision=27074
2008-12-21 23:22:12 +00:00
Jeff Morriss
5b9a2fdd6d After checking for ige_mac_menu_set_menu_bar reset CFLAGS and LIBS
back to what they were before the test (without GTK_LIBS).
This prevents tshark (and every other program) from unnecessarily linking
against GTK_LIBS.

svn path=/trunk/; revision=27056
2008-12-19 02:48:19 +00:00