Skip to content

Commit

Permalink
Update WindowsRelease.md
Browse files Browse the repository at this point in the history
  • Loading branch information
highperformancecoder authored Oct 17, 2023
1 parent bfc57cf commit 161b37a
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions githubdocs/WindowsRelease.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,34 @@

- The Windows distributable is built using the MXE cross-compiler environment on Linux.

- Its best to pull from the master branch of [my fork of MXE](https://github.com/highperformancecoder/mxe), as this is where I push any packages/changes I need.
- Use the [latest tag of MXE](https://github.com/mxe/mxe/tags).
- You also need to patch plugins/tcl.tk/tk.mk to be built statically, as the shared build blows up the Windows linker.
```diff
@@ -22,10 +22,10 @@ define $(PKG)_BUILD
cd '$(SOURCE_DIR)/win' && autoreconf -fi
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/win/configure' \
$(MXE_CONFIGURE_OPTS) \
- --enable-threads \
+ --enable-threads --disable-shared \
--with-tcl='$(PREFIX)/$(TARGET)/lib' \
$(if $(findstring x86_64,$(TARGET)), --enable-64bit) \
- CFLAGS='-D__MINGW_EXCPT_DEFINE_PSDK'
+ CFLAGS='-D__MINGW_EXCPT_DEFINE_PSDK -DSTATIC_BUILD=1'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' LIBS='-lmincore -lnetapi32 -lz -ltclstub86 -limm32 -lcomctl32 -luuid -lole32 -lgdi32 -lcomdlg32'
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
endef
```

- make MXE_TARGETS=x86_64-w64-mingw32.shared MXE_PLUGIN_DIRS=plugins/tcl.tk boost cairo tcl tk gsl pango librsvg openssl readline ncurses
- For Minsky 2.20 or less, MXE_TARGETS=i686-w64-mingw32.static
- `make MXE_TARGETS=x86_64-w64-mingw32.shared MXE_PLUGIN_DIRS=plugins/tcl.tk boost cairo tcl tk gsl pango librsvg openssl readline ncurses`
- For Minsky 2.20 or less, `MXE_TARGETS=i686-w64-mingw32.static`

- Install necessary prerequisites from your package manager as required by the above line (eg flex, gperf, intltool, scons).
- Ensure the usr/bin directory of the cloned repo is in your PATH.
- Compile libclipboard from source code:
* git clone [email protected]:jtanx/libclipboard.git
* cd libclipboard
* x86_64-w64-mingw32.shared-cmake .
* make install
* `git clone [email protected]:jtanx/libclipboard.git`
* `cd libclipboard`
* `x86_64-w64-mingw32.shared-cmake .`
* `make install`

- Then compile Minsky with

Expand Down

0 comments on commit 161b37a

Please sign in to comment.