This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
wiki:development:build-howto-mswin:x2goclient [2019/06/07 07:03] ionic Add x3270-fonts instructions. |
wiki:development:build-howto-mswin:x2goclient [2020/02/05 18:43] ionic Link against static DLL import library. Yes, they are supposed to be static. Whoops. |
||
---|---|---|---|
Line 24: | Line 24: | ||
* [[wiki: | * [[wiki: | ||
- | * [[wiki: | + | * [[wiki: |
* [[wiki: | * [[wiki: | ||
Line 122: | Line 122: | ||
You need libssh to build X2Go Client. | You need libssh to build X2Go Client. | ||
- | X2Go Client 4.0.4.0 and later use libssh 0.7.x with pageant support. | + | X2Go Client 4.1.2.2 and later use libssh 0.9.x with pageant support. |
+ | |||
+ | === Pre-built Binaries === | ||
Get the **library** package built with MinGW 4.8.x (currently 4.8.2) from [[http:// | Get the **library** package built with MinGW 4.8.x (currently 4.8.2) from [[http:// | ||
Line 140: | Line 142: | ||
x2goclient-contrib\libssh\0.6.3-762055b-pageant-support-mingw482_bin\lib\*.* -> d: | x2goclient-contrib\libssh\0.6.3-762055b-pageant-support-mingw482_bin\lib\*.* -> d: | ||
</ | </ | ||
+ | |||
+ | === Building From Source === | ||
+ | |||
+ | If you want to rebuild the library (e.g., to backport fixes) or update it as part of the release process, follow these steps. | ||
+ | |||
+ | == Preparation == | ||
+ | |||
+ | Download the tarball from [[https:// | ||
+ | |||
+ | Unpack it as usually. The X2Go Project keeps libssh source code at '' | ||
+ | |||
+ | Adapt any required patches so that they apply cleanup, build and work correctly. | ||
+ | |||
+ | We currently patch libssh to include support for PuTTY' | ||
+ | |||
+ | To rebase patches, the X2Go Project uses the private git repository at '' | ||
+ | * update the repository: < | ||
+ | * check out new release tag (or branch or whatever you intend to build later on): < | ||
+ | * create new branch based on the tag/ | ||
+ | * cherry-pick specific X2Go-related commits from older branches, one '' | ||
+ | * fix any merge conflicts, pull in other upstream code etc. | ||
+ | * update the commit message! | ||
+ | * when done, create patch files: < | ||
+ | |||
+ | Move the patches to the respective source directory and apply them in order. | ||
+ | |||
+ | If needed, install or update '' | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | Open a terminal window. Crucially, this must **not** be a '' | ||
+ | |||
+ | Make sure that the mingw toolchain that was used to build Qt (and will be used to build X2Go CLient later on) is part of the %PATH% variable. On the X2Go Windows Builder, a session spawned via '' | ||
+ | |||
+ | Go to the unpacked source directory: < | ||
+ | |||
+ | Create and switch to a build subdirectory: | ||
+ | |||
+ | The pre-built libssh versions in '' | ||
+ | |||
+ | Call '' | ||
+ | |||
+ | == Build == | ||
+ | |||
+ | Build the software like any other, append '' | ||
+ | |||
+ | < | ||
===== Build X2Go Client ===== | ===== Build X2Go Client ===== | ||
Line 601: | Line 650: | ||
- libssh library ([[wiki: | - libssh library ([[wiki: | ||
* '' | * '' | ||
- | - libzip library (available [[http:// | ||
- | * '' | ||
- | - zlib library for libzip (available [[http:// | ||
- | * '' | ||
- zlib library for libssh (available [[http:// | - zlib library for libssh (available [[http:// | ||
* '' | * '' | ||
Line 667: | Line 712: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
Line 728: | Line 772: | ||
=== PuTTY === | === PuTTY === | ||
- | You can download PuTTY for Windows from [[http:// | + | You can download PuTTY for Windows from [[https:// |
These are the only binaries you need from PuTTY. Copy them directly into the '' | These are the only binaries you need from PuTTY. Copy them directly into the '' | ||
Line 734: | Line 778: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | Out of courtesy, we also ship the following additional, not strictly needed binaries: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
===== Creating an NSIS Installer ===== | ===== Creating an NSIS Installer ===== | ||
- | Install NSIS (currently, 3.04): https:// | + | Install NSIS (currently, 3.05): https:// |
Previously, we used NSIS Unicode, but this project is stale and NSIS 3.x nowadays supports Unicode. | Previously, we used NSIS Unicode, but this project is stale and NSIS 3.x nowadays supports Unicode. | ||
Line 744: | Line 793: | ||
Then, edit '' | Then, edit '' | ||
- | Then, open '' | + | Then, open '' |
If you wish to build via the command-line, | If you wish to build via the command-line, | ||
< | < | ||
- | $ " | + | $ " |
</ | </ | ||
(Adjust path if on 32-bit Windows.) | (Adjust path if on 32-bit Windows.) |