On 5 December 2013 19:59, Gerald Combs <ger...@wireshark.org> wrote: > On 12/4/13 12:27 PM, Joerg Mayer wrote: > > Hello, > > > > as Graham and I are working on getting the Windows build process to > > a) work at all and b) be on par with the current nmake build process > > we currently rely on the setup infrastructure of the nmake build. I > > really don't like porting the "nmake -f Makefile.nmake setup" to cmake. > > Not because it is hard to do but because the current setup has various > > shortcomings > > > 1) zlib is installed as source only > > 2) portaudio is installed as source only > > I know there are historical reasons for this but are they still valid? > Zlib packages are available from the OpenSUSE Build Service (linked > against msvcrt.dll) and Nuget (linked against multiple runtimes). > Portaudio is also available from OBS. >
I could try them out. > > > 3) Every package is installed into its own subdirectory, sometimes with > > its own structure > > CoApp has a standardized directory layout for libraries and include > files called "Pivots": > > http://coapp.org/reference/autopackage-ref.html#Pivots > > "Pivot" is a nicer name than "deep explodey directory tree" but it seems > sensible and worth adopting IMHO. > I still haven't looked into CoApp. How does it play with Chocolatey? > > > 4) glib2 contains zlib headers that break windows builds > > 5) glib3 contains zlib headers that break windows builds > > This should be reported as a bug at > https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-zlib > I'm sure patches are welcome. > I shall try to do this. > > > 6) krb5 contains includes that export krb5-build internal flags and > > thus cause warnings during compiles > > Is there a better library we can use for Kerberos? MIT, Secure > Endpoints, and Heimdal all seem to provide packages that > almost-but-not-quite meet our needs. I tried cross-compiling MIT > Kerberos and Heimdal using MingW in the past but didn't have much luck. > > > 6) Except for gtk3 no packages provide compile (includes, cflags) or > > linking (libs, ldflags) information. > > 7) glib3 contains pkg-config files, but they contain a wrong paths > > and unuseable compiler (gcc) flags > > The existence of the .pc files depends on my packaging scripts and the > OBS .spec files for OBS-sourced packages. Adding them shouldn't be too > difficult. The tricky part is getting them to point to the correct > location on Windows. I'm not sure if we can use or modify the stock .pc > files or if we'd have to create our own. > My experiments with pkg-config from the gtk2 bundle and from pkg-configlite and the gtk3 bundle .pc files shows that "it just works". The bundle .pc files have odd *nixy type paths in them but pkg-config and CMake sort all that out (with my modified FindGTK3.cmake) > > > 8) The current setup process does not install QT > > I've been hesitant to switch this on since it's such a large download > and I'm not sure which "Qt" should be installed. The Qt project provides > official 32- and 64-bit installers for VS 2012 and a 32-bit installer > for VS 2010. We provide 32- and 64-bit packages for VS 2010. We sign the > EXEs and DLLs in our packages but the Qt project doesn't. I don't know > if anyone provides VS 2013 packages. > Folks only have to download it as often as it changes! Or is the issue server resources? > > 9) To build qtshark without wireshark still requires the installation > > of gtk2 or gtk3 for glib, gmodule, gthread > > I think we should switch from the separate wireshark-gtk2 and > wireshark-qt-release directories to a common deployment directory, e.g. > "wireshark-deploy" or "wireshark-stage". This would presumably help to > unify our build targets. > Ack > (I'd also like to get rid of ui/qt/QtShark.pro at some point in favor of > CMake. Qt Creator supports CMake projects well enough, and having to > maintain QtShark.pro for different platforms is a pain.) > > > 10) The setup process does not allow for the simultanous installation > > of gtk2 and gtk3 > > Does GTK3 work well enough on Windows to drop GTK2? This would simplify > things quite a bit. > It's OK for me but there are some folks complaining about it from the cheap seats :-) > > > 11) The installation of some build tools (python, cmake, cygwin-stuff > like > > cat, bash) might be automated - depending on the setup script > language > > maybe not all of them. > > > > So maybe something more similar to the macosx setup is wanted. Not maybe > > the compile-it-yourself approach but an installation into a standard > > directory structure. > > > > So what I'd like to have is a script (.bat or maybe Powershell) that > works > > similar to the macosx-setup.sh script: > > > > - Contain a list of packages and their versions > > - Download missing packages > > - Download missing tools > > - Install not-yet-installed packages (includes, libs) into a standard > > directory structure > > > > Feedback, ideas, details anyone? > > Sounds good to me. I like Graham's suggestion of using Chocolatey/Nuget > since they're currently the best option for package management under > Windows. I'd be willing to convert our current Windows libraries to > Nuget packages, and have them conform to Coapp's directory layout[1]. > > If we could find or create Chocolatey packages for Bison and Flex that > would go a long way toward dropping the requirement for Cygwin. > > The GNUWin32 project provides Bison and Flex and sometime in the past in my "Removing the Cygwin dependency" experiments I did get the GNUWin32 binaries to do the job. I'll have a hunt for that VM, hopefully I still have it somewhere. I > > [1] The end goal being that someone else take over maintenance of the > packages. Some men dream of the heavens. I dream of no longer having to > create third-party Windows development libraries. > > That would be nice, but if we are signing packages it might continue for some time yet.
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe