From ba689997defb7be6c912934fe81d97465603415e Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 3 Nov 2021 13:23:35 +0000 Subject: Update windows build config and add a basic guide to get it working --- BUILDING | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 BUILDING (limited to 'BUILDING') diff --git a/BUILDING b/BUILDING new file mode 100644 index 0000000..95019d9 --- /dev/null +++ b/BUILDING @@ -0,0 +1,21 @@ +To cross compile for Windows, the following needs to be done: + +1) Uncomment the lines under "mingw" in config.mk, and comment any earlier CC & LDFLAGS lines. + +2) Compile a copy of openssl for mingw. + Download OpenSSL from openssl.org, then run: + ./Configure mingw --cross-compile-prefix=i686-w64-mingw32- + make + +3) Set the OPENSSLDIR variable in config.mk to match where you compiled openssl + +4: Set up tcl Starkit prerequisites: + Download tclkit from http://tclkits.rkeene.org/fossil/wiki/Downloads + Download sdx from https://chiselapp.com/user/aspect/repository/sdx/index + Create a shell script called sdx and put it in your path, containing something like this: + #!/bin/sh + d="$HOME/src/getxbook" + "$d/tclkit-8.6.3-rhel5-x86_64" "$d/sdx-20110317.kit" "$@" + Download a windows tclkit including tk from http://tclkits.rkeene.org/fossil/wiki/Downloads and ensure the adjust W32TCLKIT to the appropriate filename in config.mk if needed + +Then 'make' and 'make dist-win' should all work as expected -- cgit v1.2.3 From 16e4a02c794d61137b2f175e958d274eb464656b Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 3 Nov 2021 13:42:37 +0000 Subject: Simplify windows build instructions and package up all windows dependencies into a tarball --- BUILDING | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'BUILDING') diff --git a/BUILDING b/BUILDING index 95019d9..9932d30 100644 --- a/BUILDING +++ b/BUILDING @@ -1,21 +1,22 @@ To cross compile for Windows, the following needs to be done: -1) Uncomment the lines under "mingw" in config.mk, and comment any earlier CC & LDFLAGS lines. +1) Download the needed build dependencies from + https://njw.name/getxbook/win-build-deps.20211103.tar.xz + and unpack them into the getxbook directory -2) Compile a copy of openssl for mingw. - Download OpenSSL from openssl.org, then run: +2) Uncomment all lines under 'mingw' in config.mk + +Then 'make' and 'make dist-win' should all work as expected + +--- + +# More information about the necessary files for Windows builds + +OpenSSL is needed to link the windows builds to, as mingw doesn't include it. This needs to be cross compiled with mingw by running the following from an OpenSSL source directory: ./Configure mingw --cross-compile-prefix=i686-w64-mingw32- make -3) Set the OPENSSLDIR variable in config.mk to match where you compiled openssl - -4: Set up tcl Starkit prerequisites: - Download tclkit from http://tclkits.rkeene.org/fossil/wiki/Downloads - Download sdx from https://chiselapp.com/user/aspect/repository/sdx/index - Create a shell script called sdx and put it in your path, containing something like this: - #!/bin/sh - d="$HOME/src/getxbook" - "$d/tclkit-8.6.3-rhel5-x86_64" "$d/sdx-20110317.kit" "$@" - Download a windows tclkit including tk from http://tclkits.rkeene.org/fossil/wiki/Downloads and ensure the adjust W32TCLKIT to the appropriate filename in config.mk if needed +Tclkit and SDX are used to create a self contained executable with the GUI and all needed tools. Unfortunately these days working builds are difficult to find. Two different versions of Tclkit are required: a native one, to get the SDX packer to work, and a Windows version including Tk, to package into the final executable. + Both Tclkits can be downloaded from: http://tclkits.rkeene.org/fossil/wiki/Downloads + sdx can be downloaded from: https://chiselapp.com/user/aspect/repository/sdx/index -Then 'make' and 'make dist-win' should all work as expected -- cgit v1.2.3