This article documents how some of our Windows library dependencies are updated.
https links to the current libraries are available in the
WSDG: Chapter 5. Library Reference.
Note that many of our libraries are built using vcpkg. See
.gitlab-ci.yml in the wireshark-vcpkg-scripts for details.
C++ libraries (such as Qt) are highly dependent on the MSVC runtime (MSVCRT) version and require separate packages for each MSVC compiler version.
Many libraries (including GnuTLS, Gcrypt, libssh) are cross-compiled with MinGW on Linux. Where possible, try to reuse packages from other trusted projects such as OpenSUSE or Debian.
At minimum a library package should contain header files, runtime libraries (.dll) and import libraries (.lib).
Do not use the MinGW .dll.a file, these are not compatible with MSVC. One .dll.a appears to work, but multiple .dll.a libraries results in a cryptic runtime error. Instead create a new import library with either:
Have you create a subdirectory, named after the zip file?
Are .lib and .dll files included in the
Are .dll files stripped? (Optional if it does not save much)
Are header files included in the
Does the directory with .dll files match the
First time: make a local copy of the repositories:
svn checkout svn+ssh://svn.wireshark.org/svn/wireshark-win32-libs/trunk wireshark-win32-libs-trunk svn checkout svn+ssh://svn.wireshark.org/svn/wireshark-win64-libs/trunk wireshark-win64-libs-trunk
Add a single package (repeat this for both repos as needed):
Update existing copies:
Update README.txt in the top-level directory.
svn add packages/<package>-<version>.zip
svn commit -m "Update <package> to <version>"
Once you are ready to publish a tagged version of all packages. Tag name convention:
# Repeat this for both the 32-bit and 64-bit repo as needed. svn copy -m "Create a tag for <package> <version>" ^/trunk ^/tags/2018-08-03
Historical note: In the past, a separate
trunk-A.B existed for
master-A.B and tags were named like
yyyy-mm-dd-A.B. Now that they are combined, it is possible to reuse the same date tag across branches.
tools/win-setup.ps1 in the appropriate git branches.
Display the last ten changes including their paths:
svn log -vl10
Display all tags:
svn ls ^/tags
Imported from https://wiki.wireshark.org/Development/WindowsLibs on 2020-08-11 23:13:25 UTC