Commit Graph

607 Commits

Author SHA1 Message Date
Christian Tellefsen adb731c1cd Allow make-version.pl to use git when missing from path
This change allows make-version.pl to run correctly on Windows
without having the git binary dir in PATH. This prevents problems when
installing "Git for Windows" with default settings (git only available
via the bundled shell (bash).

Details:
* Add Git to the list of packages to be looked up by CMake.
* If Git is found by CMake, pass the full path to make-version.pl
* make-version.pl: Test whether git is available, and display a warning if git is missing.

On Unix-type systems this should have no impact.

Tested on Windows Server 2012 R2 and Ubuntu 15.04.

Change-Id: I7f7be2035c262658801586cb24c82b912848e31d
Reviewed-on: https://code.wireshark.org/review/13111
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-01-27 09:28:13 +00:00
Guy Harris 54e3b32027 Don't treat Visual Studio specially for linker flags.
Have CHECK_C_LINKER_FLAG pass /WX to the linker if we're using MSVC, to
force the link to fail if the linker doesn't recognize the flag.

Add flags to WIRESHARK_LD_FLAGS even with MSVC; let CHECK_C_LINKER_FLAG
figure out whether the flag should be used.

While we're at it, fix CHECK_C_LINKER_FLAG to save and restore
CMAKE_REQUIRED_LIBRARIES.

Change-Id: I7f73b4cc3a28eb14e46c2e1e9ad69f5303754f01
Reviewed-on: https://code.wireshark.org/review/13558
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>
2016-01-27 05:24:50 +00:00
Guy Harris 3cecda0246 Explain why we're still checking for MSVC.
Change-Id: I7d656eb5b38e8f7697b1414b6b3364a85ad132cf
Reviewed-on: https://code.wireshark.org/review/13557
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-27 01:13:36 +00:00
Michal Privoznik 8454f2a20e CMake: Produce correct plugindir for pkg-config
So far the plugindir variable in the pkg-config file is set like
this:

  set( plugindir "\${libdir}/${PLUGIN_INSTALL_DIR}" )

where libdir is set to:

  set( libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}" )

However, PLUGIN_INSTALL_DIR already contains
CMAKE_INSTALL_LIBDIR:

  set(PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/\
  ${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}")

Therefore, if the pkg-config file is generated by cmake, the
resulting plugindir points to:

   plugindir=${libdir}/lib/wireshark/plugins/2.1.0
   libdir=${exec_prefix}/lib

This is obviously wrong as after variable substitution the
resulting path is /usr/lib/lib/wireshark/plugins/...

Change-Id: I448991284d8948434311b1c0828828fd93d0baf8
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-on: https://code.wireshark.org/review/13258
Tested-by: João Valverde <j@v6e.pt>
Reviewed-by: João Valverde <j@v6e.pt>
2016-01-23 15:55:08 +00:00
Gerald Combs 441c6d4e9c CMake: Fix an endif.
Fix

CMake Warning (dev) in CMakeLists.txt:
  A logical block opening on the line

    C:/Development/wireshark-w64/CMakeLists.txt:1649 (if)

  closes on the line

    C:/Development/wireshark-w64/CMakeLists.txt:1668 (endif)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

Change-Id: I6b6060e4d88b385deb81111234e3229d104772f1
Reviewed-on: https://code.wireshark.org/review/13407
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-19 00:08:51 +00:00
Michal Labedzki 1cc4ac4619 Add Lua dependings only if LUA is enabled
Avoid build fail if found Lua but it is disabled.

Change-Id: If1cf0d650454d2844a1430135de1385c984e5ba4
Reviewed-on: https://code.wireshark.org/review/13394
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-18 16:09:05 +00:00
Michal Privoznik ea16a84ef5 Generate better pkg-config file
Firstly, when building with autogen.sh and configure script, the
wireshark.pc is not generated at all. Then, due to not matching
names some variables are not being replaced as they should be.

Bug: 11069
Change-Id: Iefa7a9b536f3fee7f9ad78803aaacc5bb64a9c8d
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-on: https://code.wireshark.org/review/13005
Reviewed-by: João Valverde <j@v6e.pt>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-04 08:15:29 +00:00
Peter Wu 408ea5d2fa cmake: do not fail if help/faq.txt already exists
The glob pattern should not catch the generated faq.txt file. Fix this
by explicitly listing all source .txt files.

Bug: 11896
Change-Id: I3904a0e094b5dba3808dacaaabd4db298a8f14cb
Reviewed-on: https://code.wireshark.org/review/12930
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
2015-12-30 00:44:25 +00:00
Michael Mann 5e4bbcda98 Refactor GUI dependencies out of color_filters.[ch] and move it to epan directory.
This also moved color.h into color_filters.h

Change-Id: Ic19e27aa1b3ec67e764aa7ee8bbef7b1187bb12e
Reviewed-on: https://code.wireshark.org/review/12831
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-28 18:33:41 +00:00
Guy Harris fd462af183 Fix a typo in a comment.
Change-Id: I4bde3d058c0602fe2a1f314a77fb62227d530666
Reviewed-on: https://code.wireshark.org/review/12834
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-23 03:49:36 +00:00
Dario Lombardo ac0eb6043b extcap: add randpktdump, a random packet generator.
This new extcap is for testing and educational purpose.
It relies on rankpkt-core functions to generate random packets.

Change-Id: If6890f0673545682995a2079458108edc0913b30
Reviewed-on: https://code.wireshark.org/review/11764
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-22 12:24:16 +00:00
Gerald Combs 6dfcbedde9 CMake: Make "install ... DESTINATION" paths relative.
Make sure we use relative destination paths in each install
command. Apparently many CPack generators don't support absolute paths,
particularly on Windows. This fixes the following error when running
`cpack -G WIX` here:

----
CPack: Create package using WIX
CPack: Install projects
CPack: - Install project: Wireshark
CMake Error at C:/Development/wireshark/cmbuild/cmake_install.cmake:206 (message):
  ABSOLUTE path INSTALL DESTINATION forbidden (by caller): C:/Program Files/Wireshark/lib/wireshark/extcap/androiddump.exe

CPack Error: Error when generating package: wireshark
----

Change-Id: Ifdcd40814df8163ea722a65ef55acc1a511b2f75
Reviewed-on: https://code.wireshark.org/review/12657
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2015-12-18 17:05:12 +00:00
Guy Harris 54413c8594 Note why we do -Wno-variadic-macros.
Change-Id: Id57a6985eb37d9bf5246cf0f57cc24bb0ca153b9
Reviewed-on: https://code.wireshark.org/review/12639
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-14 22:27:01 +00:00
João Valverde 2aab706c5a Remove -Wwrite-strings compiler flag
The "-Wwrite-strings" flag produces nuisance warnings. These warnings are
not useful, they're impossible to fix in a sane way and therefore are being
handled with casts of static strings to (char *).

This just moves the warning to [-Wcast-qual] and a compiler pragma is
in turn required (and used) to squelch that warning.

Remove the Wwrite-strings warning. Let that responsibility fall on the
programmer (as is done by casting).

Change-Id: I5a44dfd9decd6d80797a521a3373593074962fb5
Reviewed-on: https://code.wireshark.org/review/12162
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-12 16:21:19 +00:00
Guy Harris d7006cebbb Revert "Build Flex-generated files with "warnings are errors"."
This reverts commit b56f53884b.

Sadly, we *do* get warnings at this point with older versions of Flex,
such as the one on the 32-bit OS X buildbot.

Change-Id: I9aec1a16e9f2e1bbcfaac3dffdabdd89af5815e3
Reviewed-on: https://code.wireshark.org/review/12443
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-05 17:13:28 +00:00
Guy Harris b56f53884b Build Flex-generated files with "warnings are errors".
We shouldn't be getting warnings at this point.

Change-Id: I363a48546cb8d916425f42962ae1697d52ed9a29
Reviewed-on: https://code.wireshark.org/review/12436
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-05 12:08:52 +00:00
Gerald Combs 42333aa353 CMake+PortableApps: Include the VC runtime (second try).
Move the code that finds the Visual C++ redistributable DLLs to its
own module. Run it before we create our NSIS and PortableApps targets.
Add a PortableApps target that copies the redistributable

This reverts commit 403fa9fbe0cdba3f443ec4674cda40092525ffe4.

Bug: 11800
Change-Id: I081d8fd3f5f37dd590659ca8f2bd309642a9a9df
Reviewed-on: https://code.wireshark.org/review/12431
Reviewed-by: Gerald Combs <gerald@wireshark.org>
(cherry picked from commit 5b580834aeeee8477039bc099c49c21aeeb3b71f)
Reviewed-on: https://code.wireshark.org/review/12432
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
2015-12-04 22:32:32 +00:00
Guy Harris be04716601 More libcodecs -> libwscodecs.
Change-Id: I861c625a4bf36ec8bddebec483f43cf6b3cd7c09
Reviewed-on: https://code.wireshark.org/review/12421
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-04 01:47:54 +00:00
Pascal Quantin 651e0884b7 Change codecs from static to dynamic library
This allows to properly register codecs plugins.
See https://www.wireshark.org/lists/wireshark-dev/201511/msg00202.html for details.

Change-Id: Ibc13a19936abb7a2e81b86582a75fa424351565b
Reviewed-on: https://code.wireshark.org/review/12385
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-03 23:54:49 +00:00
Ryan Doyle be2e0996b1 CMake: Fix breakage with CMake 3
This fix was accidentally reverted in d6da952. Tested with CMake
2.8.12.2 and 3.3.2.

Change-Id: I05312eb9ec18be88be6155edb1ced67ea2ee2bba
Reviewed-on: https://code.wireshark.org/review/12301
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-11-30 08:43:07 +00:00
Peter Wu 98a50d8513 cmake: print the current CMAKE_C_FLAGS/CMAKE_CXX_FLAGS
It is misleading to print RelWithDebInfo flags if I am using Debug.

Change-Id: I575d5c950cbe9d59852799c28fd88426f20cdaab
Reviewed-on: https://code.wireshark.org/review/12133
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-26 05:48:42 +00:00
Peter Wu 12b2e3d4e2 cmake: fix dependencies for copy_data_files
Ensure that files from INSTALL_FILES depend on html_docs, not the parent
target copy_data_files (that would not help at all). Ensure that lua
scripts are generated before copying them (another moved dependency).
Explicitly track the help files that have to be textified for Windows
(this finalizes the addition of proper dependencies to copy_data_files
targets).

Since there is no compelling reason for the extra
copy_data_files_depends target now, remove it and move copy_data_files a
bit further in the file such that the dependencies can be set.

While at it, remove the unnecessary make_directory, the copy_data_files
target will create it automatically when copying a file into it.

Should fix the problem reported at https://code.wireshark.org/review/12028

Change-Id: I81e56c93ac0fc85e7385605b9c780a80b3d43c85
Reviewed-on: https://code.wireshark.org/review/12130
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-25 11:01:10 +00:00
AndersBroman 46f3fe48a3 [Custom plugins] CUSTOM_PLUGIN_IN_FILES is no longer required.
Change-Id: I329a26ece145d70221d47c728e11dca54416a5cf
Reviewed-on: https://code.wireshark.org/review/12092
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-24 12:01:33 +00:00
Pascal Quantin 8748a047bf Fix NSIS installer generation broken in gffb5b3d
Change-Id: Ife7595f1bdeba02d53ec558cd4f26288b26687e7
Reviewed-on: https://code.wireshark.org/review/12091
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-24 09:24:53 +00:00
Peter Wu ffb5b3d727 cmake: add dependency information for copy_data_files
Original problem: run/radius/ (and other files) would continuously be
copied over because the "copy_directory" command is always invoked,
resulting in a newer timestamp (observable via rsync output).

Fix 1: convert from "copy_directory" to copying individual files
(matched via a glob pattern).

Fix 2: add DEPENDS information to the commands, ensuring that the
copy commands are only invoked when the file is actually newer.
(copy_if_different does not respect timestamp, so use plain copy.)

Other visible changes:
 - radius/Custom.make (automake thingey) is not copied anymore because
   an explicit list is used with glob patterns.
 - Removed comment about "default.tt" (gone since
   v1.99.0-rc1-1684-g07b003a, Makefile.nmake is still untouched though).

Due to fix 1, the number of processes increase by about 300. Due to fix
2 however, less processes are executed for repetitive runs. This is
visible in the following build time comparison:

    patch/generator cmake  build1  build2   clean
    before/make     24.86  152.73    3.46    1.04
    after/make      24.78  153.08    3.40    1.03
    before/ninja    22.99  141.68    0.64    0.24
    after/ninja     22.89  141.66    0.10    0.25

cmake is "cmake -DCMAKE_BUILD_TYPE=None -GNinja" (-G"Unix Makefiles");
build1 is invocation of "make -j10"/"ninja" on v2.1.0rc0-668-g94b9907;
build2 is the second invocation with this patch;
clean is "make clean" or "ninja clean".

Numbers are in seconds over 3 runs. This patch has no significant
performance impact for the first build, but the second run has improved
because the more efficient Ninja generator executes less processes.

Change-Id: I7b62556393520044aaaad17dafb82ac137ae73bb
Reviewed-on: https://code.wireshark.org/review/12028
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-24 06:13:56 +00:00
Alexis La Goutte 073cfb33ec CMakeLists (root): fix indent (use tabs)
Change-Id: I14089fbdafa00280ff7b3148c2e0a880b925958e
Reviewed-on: https://code.wireshark.org/review/11872
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-23 12:25:10 +00:00
Guy Harris d69cec7cff Quote the path for the Windows setup script.
The path may contain a space (it does on my Windows 7 VM), so quote it
in the PowerShell command.

Change-Id: Ib130991b8c29cb327832f2fe51cb37828526448b
Reviewed-on: https://code.wireshark.org/review/12041
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-22 19:16:25 +00:00
Graham Bloice f1efeb1eba Fix Windows hardening check
The hardening check runs on all binaries and quite a few third party binaries
are not hardened, thus leading to a warning on the buildslave.
The change reduces the noise by not counting the binaries that are known to be
"soft".  They are still printed in the output though, for reference.

Also fixed the search directory passed to the script.

Change-Id: I1619066c687c9ba934ab38fccbbf2011108328e4
Reviewed-on: https://code.wireshark.org/review/12016
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Graham Bloice <graham.bloice@trihedral.com>
2015-11-21 18:20:55 +00:00
Dario Lombardo d6da95231e extcap: add sshdump.
sshdump is an extcap module that allows dumping from a remote host using an ssh connection.
It goes with the existing extcap plugin interface.

Change-Id: I8987614fdd817b8173a50130812bc643a4833bca
Reviewed-on: https://code.wireshark.org/review/11402
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-19 15:29:18 +00:00
Gerald Combs e3eb9f3208 CMake: Add Qt5Svg to PACKAGELIST.
...otherwise we won't copy it to ${CMAKE_BINARY_DIR}/run/Wireshark.app on
OS X, which means our flag icons won't be displayed.

Bug: 11697
Change-Id: I26cd6a2dd13be35f9a80fd93adc8248848df5978
Reviewed-on: https://code.wireshark.org/review/11923
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-11-17 22:45:44 +00:00
Peter Wu 442314e8b2 Revert "Override optimization and other flags for make based generators."
Some compiler flags may not be passed twice (such as -mllvm
-msan-keep-going), so avoid duplicating CMAKE_C(XX)_FLAGS.

When -DCMAKE_BUILD_TYPE=<type> is set, you can override the default
optimization and debug flags with -DCMAKE_C_FLAGS_<type>=....

This reverts commit 15a238a28d.

Change-Id: I4e1cf11c49eaf00ad4a2c430454a127b4be20d9e
Reviewed-on: https://code.wireshark.org/review/11597
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-16 08:36:01 +00:00
Guy Harris d66d379ac8 Try retroactively applying the Qt folks' fix for QTBUG-47942.
The current version of the fix only adds -fPIC under certain
circumstances; we check whether it was added and, if it was, and those
circumstances are *not* in effect, we remove it.

Bug: 11643
Change-Id: I75d0ff9b4781d7d4cd884a29bbce7d392939315c
Reviewed-on: https://code.wireshark.org/review/11849
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-15 22:04:26 +00:00
Pascal Quantin b20d5bbc0b CMake: set WinPcap version in top CMakeLists.txt file like for NMake
This allows displaying the WinPcap version in about dialog

Change-Id: Ic3f4256d81db68314a158fc55682dfd9dbf799a0
Reviewed-on: https://code.wireshark.org/review/11726
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2015-11-11 17:47:45 +00:00
Dario Lombardo f1ff6d62c4 randpkt: split into a core and an app.
This will allow other apps to use the random packet generation
features.

Change-Id: I7e9af58cbe39da4908242b5fbb292f473e03b4f2
Reviewed-on: https://code.wireshark.org/review/11579
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-11 13:22:05 +00:00
Evan Huus 4f01f3d806 Move -fno-delete-null-pointer-checks to optional
It is no longer supported on El Capitan's clang, which was causing my
cmake/osx/qt build to fail with:

    clang: error: optimization flag '-fno-delete-null-pointer-checks' is not
    supported

Change-Id: Idfac336758cdea9a34446d8281cd237ad3ee6823
Reviewed-on: https://code.wireshark.org/review/11571
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
2015-11-06 04:40:42 +00:00
Ryan Doyle 2014eb0ad3 CMake: Fix compatibility with CMake 3
The version of CMake I use (3.2.2) failed to parse the
CMakeLists.txt

Change-Id: I146c5a5ba8cd6fa6236b53039a31cc085bf5b460
Reviewed-on: https://code.wireshark.org/review/11392
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-29 20:59:50 +00:00
Gerald Combs 670475413a CMake: Use CMAKE_CL_64.
CMake sets CMAKE_CL_64 if we're using a 64-bit version of Visual Studio.
Use it.

Change-Id: I04595a0e703e39e428d853a506472f3881672a35
Reviewed-on: https://code.wireshark.org/review/11376
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-29 00:52:07 +00:00
Peter Wu fe1ab42f16 Require GnuTLS 2.12.0, add cmake version detection
Since v2.1.0rc0-17-g877fd03 and v2.0.0rc0-23-g263ff53 ("ssl-utils:
load RSA keys based on their modulus+exponent"), GnuTLS 2.12.0 is
needed.

Add a version check to cmake as well, tested on CentOS6 (with
pkg-config check disabled to verify the code path). Note that RHEL6
has GnuTLS 2.8.5 and thus SSL decryption with a RSA private key is no
longer supported on that version.

Change-Id: I99fdfe6790107f48629dd435794fe8880263063d
Reviewed-on: https://code.wireshark.org/review/11044
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-10-25 14:05:07 +00:00
Gerald Combs 1cecd985ab Pass --verbose to windeployqt.
Change-Id: I0adc2eb294c7165b9a327a70b2437916b228f044
Reviewed-on: https://code.wireshark.org/review/11219
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-22 21:11:32 +00:00
Peter Wu 1eba9d926b Avoid adding -pie on older cmake versions
Fixes building on Ubuntu 12.04 x86_64 which has cmake 2.8.7.

Bug: 11617
Change-Id: I253e9fda698d4b963d50516e483d8243231f056b
Reviewed-on: https://code.wireshark.org/review/11193
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-10-22 06:16:24 +00:00
Peter Wu 82ec0bb0fc Require libgcrypt 1.4.2, add cmake version detection
libgcrypt 1.4.2 is required since since v1.11.0-rc1-2787-g23f9100
("Really add support for AEAD ciphers (GCM)") due to the use of
gcry_cipher_setctr. Bump the version in configure.ac too.

Add version check for gcrypt to cmake. Tested with CentOS 6 (cmake
2.8.12.2, libgcrypt 1.4.5).

Change-Id: I93c3ed902a764d9d14675779e866230d073c96d5
Reviewed-on: https://code.wireshark.org/review/11043
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-10-20 03:28:55 +00:00
Guy Harris 08a20705b4 Do -fPIC only if it's necessary.
Or, at least, undo the unconditional addition of -fPIC to
Qt5Widgets_EXECUTABLE_COMPILE_FLAGS, and add it back only if we need it
to compile a small test program that includes <QtCore>.

-fPIC still shows up for other reasons; perhaps we need to undo other
unconditional operations "helpfully" done by Qt5CoreConfigExtras.cmake.

Change-Id: I76c1b01b3dce7398e4115552bc4ff87bc775e027
Reviewed-on: https://code.wireshark.org/review/11079
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-19 21:17:52 +00:00
Joerg Mayer 94fee9e78f Move the static handling to a place where it is effective during package
discovery.
  More work needed to get static really working.

v2:
  - Rebase
  - Remove accidentally added macos-setup.sh changes

Change-Id: Ic3a68d2ab7064afffbf5dcfc90925699e8729780
Reviewed-on: https://code.wireshark.org/review/11082
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-10-17 10:40:44 +00:00
Gerald Combs b05803db4b CMake: Add /WX
Add "/WX" to the Visual C++ compiler flags if DISABLE_WERROR is off,
similar to config.nmake.

We haven't compiled C++ code with -Wshorten-64-to-32 for quite 
some time so there's no need to add -Wno-shorten-64-to-32 in
ui/qt/CMakeLists.txt.

Additionally, squelch

----
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3050) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3065) : see reference to function template instantiation 'void std::_Median<_RanIt,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3127) : see reference to function template instantiation 'std::pair<_RanIt,_RanIt> std::_Unguarded_partition<_RanIt,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3157) : see reference to function template instantiation 'void std::_Sort<_Iter,int,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Diff,_Pr)' being compiled
        with
        [
            _Iter=QList<QString>::iterator
,            _RanIt=QList<QString>::iterator
,            _Diff=int
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
        .\rpc_service_response_time_dialog.cpp(130) : see reference to function template instantiation 'void std::sort<QList<QString>::iterator,bool(__cdecl *)(const QString &,const QString &)>(_RanIt,_RanIt,_Pr)' being compiled
        with
        [
            _RanIt=QList<QString>::iterator
,            _Pr=bool (__cdecl *)(const QString &,const QString &)
        ]
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3051) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3052) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\algorithm(3053) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data (.\rpc_service_response_time_dialog.cpp)
----

in both rpc_service_response_time_dialog.cpp and wireshark_application.cpp
so that we'll compile successfully.

Change-Id: I457bcede99dcb1f3c1001f1f559c4901bb000357
Reviewed-on: https://code.wireshark.org/review/10533
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-16 21:32:22 +00:00
Gerald Combs 7682ae4887 Keep CMake from finding Cygwin's Python.
Try to find Python and set PYTHON_EXECUTABLE on Windows via the registry
prior to calling FindPythonInterp. This works around a bug in CMake that
prefers Cygwin's Python, which is a symlink, which by default is a text
file that contains a Cygwin-specific cookie, which is therefore useless
outside of Cygwin.

This is avoids the need to pass -DPYTHON_EXECUTABLE=... to CMake.

Change-Id: Ife37221b61d920682c20357b6d139a93067a5ad1
Reviewed-on: https://code.wireshark.org/review/11071
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-16 20:40:28 +00:00
Guy Harris b84b0315d3 Revert "Remove -fPIC with more than just MSVC."
This reverts commit 222de975c4.

I realized how to do it with a compile test.

Change-Id: I9468c50777e387c572f60411ca39ea86ba6ce520
Reviewed-on: https://code.wireshark.org/review/11078
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-16 02:31:27 +00:00
Guy Harris 1a94667cc3 Revert "+ OR OR OR OR OR"
This reverts commit 6bdfa95a1e.

Next I'll revert my change, as I realized how I *can* do it with a compile test, instead.

Change-Id: I75335ef4522af23340fdc9e5d68634cb5a5835d8
Reviewed-on: https://code.wireshark.org/review/11077
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-16 02:30:52 +00:00
Joerg Mayer 6bdfa95a1e + OR OR OR OR OR
Change-Id: I2e6480a519bd01a924a7145bc1e4e899e3fa1c1c
Reviewed-on: https://code.wireshark.org/review/11073
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-10-15 22:39:14 +00:00
Guy Harris 222de975c4 Remove -fPIC with more than just MSVC.
There are other compilers that won't like it or even that may not like
it.

Change-Id: I0d50e4217994bc930914c0fbcf1c5d2fc18a0e3a
Reviewed-on: https://code.wireshark.org/review/11072
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-15 22:04:11 +00:00
Gerald Combs 6ea71d9ad2 CMake: Don't feed -fPIC to Visual C++, second try.
Qt5CoreConfigExtras.cmake in Qt 5.5.0 sets -fPIC unconditionally.

Change-Id: Idf88b0f34b7cec40530702350b417ce1924db9f1
Reviewed-on: https://code.wireshark.org/review/11050
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-15 18:26:31 +00:00