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
QtWidgets and, if we find it, add its flags to CFLAGS and CXXFLAGS, so
that we find the include files for the widgets. (If we don't find it,
we assume it's Qt 4.)
svn path=/trunk/; revision=46382
Looks like this is not ready for prime time.
ToDo: determine why the OSX builds are finding issues that I don't see on Fedora.
svn path=/trunk/; revision=46378
AFAIK, all GTK Wireshark non-dirty sources now compile
without [-Wshadow] warnings.
(Altho I haven't tried the QT build or other possible
build variants), hopefully any remaining [-Wshadow] warnings for non-dirty
source can be fixed as they occur.
(Obviously this change can be reverted if there are many issues).
So: let's see if any of the automated builds break; :)
svn path=/trunk/; revision=46376
name". If it doesn't have a description, on OS X, use the System
Configuration framework to attempt to get a "friendly name" for
interfaces.
If a loopback device doesn't have a friendly name, give it "Loopback" as
the friendly name.
Move the "turn a CFString into a mallocated C string" routine into
common code, as it's used in more than one place.
svn path=/trunk/; revision=46131
checking whether the relevant frameworks are available. (An iOS port's
going to require a *lot* more work, and I don't know whether
Darwin-the-pure-OS even builds and runs any more.)
We don't need Core Services any more, as we're no longer using
Gestalt(). We just need Core Foundation for getting the OS version and
Application Services for firing up Web browser or file manager windows.
svn path=/trunk/; revision=46129
the compile line when building with cmake.
Put _U_'s definition in config.h when building with autofoo and on Windows.
svn path=/trunk/; revision=45034
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6134 :
Make VERSION_MAJOR, VERSION_MINOR, and VERSION_MICRO available in config.h so
(e.g.) dissector writers can #if around them as necessary to make a piece of
code compile with different versions of Wireshark. (Hopefully VERSION_MICRO
is not important in this respect!)
Windows also defines VERSION_EXTRA which can be used to help identify custom
builds; this is not done for these build methods (yet?).
svn path=/trunk/; revision=44986
add -no-cpp-precomp; I think the way the compiler handled precompiled
headers changed at some point. Let's stop adding it; that would fix bug
5878.
svn path=/trunk/; revision=44816
We *do*, however, use CFPropertyListCreateWithStream(), so we need to
check for it, and, if we're able to use the OS X frameworks at all, use
CFPropertyListCreateFromStream() if we don't have
CFPropertyListCreateWithStream().
svn path=/trunk/; revision=44812