On Thu, Jul 02, 2015 at 08:59:35AM -0400, Michael DePaulo wrote:
Hi Heinz,
At the X2Go Gathering 2015, I gave a talk on X2Go Client for Windows development: https://docs.google.com/presentation/d/1GxTHN4AiSRLtfbiQqRycMjrAn3OL_xWk0x3_...
Although many components such as nxproxy have to be built with separate build systems and thus will have to be built manually, I would like there to be a more reproducible way to build X2Go Client itself (x2goclient.git -> x2goclient.exe & x2gohelper.exe). I love tools like pbuilder and mock for Linux.
2 possible solutions for this (cross-compilation environments) that look promising are: http://mxe.cc http://win-builds.org
However, I think Mike#1 said that you told him there was a need to build X2Go Client for Windows via a Windows machine (the WinBuilder VM) rather than a cross-compilation environment. Can you explain the reason for that?
Note that I am frequently updating this page: http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient
I see 4 potential obstacles to using a cross-compilation environment:
- We configure Qt for static builds (the Qt libraries are included withing x2goclient.exe): http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient#... However, I doubt there is a need to configure Qt for static builds. If we have to distribute some Qt DLLs, so be it.,
With my mxe builds I have configured it non statical and it works. Even posted a patch to mxe so the language stuff works right for us.
Note that OpenSSL support in Qt should not be a problem; it is safe to assume that all the cross-compilation environments support that.
We have to use a version of libssh that is patched for Pageant support (upstream libssh wants to do redesign how they handle SSH agents before they accept the patch): http://wiki.x2go.org/doku.php/wiki:development:build-howto-mswin:x2goclient#...
We would need to package libraries for the cross-compilation environments. For example, MXE lacks libssh.
I already have tackled that and will try to send an upstream patch to mxe folks.
See: https://github.com/tarent/mxe/commit/b4743512d272636a2a7cfa950acf1e650df2516...
- At the end of the build, we need to combine all the 3rd party components (built with separate build systems) into the NSIS installer. This should be feasible though; MXE supports NSIS for example.
-Mike#2
Reminds me to share my nsis working stuff with mike so we have some more option in the installer for enterprise stuff like configuring a default session from cmdline. Usefull for AD rollouts.
Bye Henning