Changes

Jump to navigation Jump to search

Windows Installer

1,122 bytes added, 18:53, 13 October 2019
→‎Step 1: Prepare mxe-octave: Update and describe the configure options more verbose.
====Step 1: Prepare mxe-octave====
 Clone the mxe-octave repo repository to some directory of your choice:  httphg clone https://hg.octave.org/mxe-octave <name of mxe-octave build dir> where <code><name of mxe-octave build dir></code> is some other name than just the default "mxe-octave". Once downloaded, go into the <code><name of mxe-octave build dir> subdir </code> subdirectory and do: 
./bootstrap
{| class="wikitable"! "w64" (recommended)! "w64-64"! "w32"|-style="vertical-align:top;"| <pre style="min-width:330px;">./configure \ --enable-devel-tools \ --enable-binary-packages \ --with-ccache \ --enable-octave=<octave version> \ --enable-windows-64 \ --enable-64</pre>| <pre style="min-width:330px;">./configure \ --enable-devel-tools \ --enable-binary-packages \ --with-ccache \ --enable-octave=<octave version> \ --enable-windows-64 \ --enable-64 \ --enable-fortran-int64</pre>| <pre style="min-width:330px;">./configure \ --enable-devel-tools \ --enable-binary-packages \ --with-ccache \ --enable-octave=<octave version> \ --disable-windows-64</pre>|} The individual options you wanthave the following meaning (see also <code>./configure --help</code>): * <code>--enable-devel-tools</code>: Include gdb and an MSYS shell in the binary.* <code>--enable-binary-packages</code>: Cross-compile binary modules in [[Octave Forge]] packages. This saves time when installing them once the installation runs on Microsoft Windows.* <code>--with-ccache</code>: The usage of [https://ccache.dev/ ccache] may speed up repetitive compilation drastically.* <code>--enable-octave=<octave version></code>: Build a specific version of GNU Octave, which can be one of: ** <code>release</code> use {{Path|src/release-octave.mk}}, download and build the latest GNU Octave release.** <code>default</code> use {{Path|src/default-octave.mk}}, build a self-created distribution tarball from the "default" development branch.** <code>stable</code> use {{Path|src/stable-octave.mk}}, build a self-created distribution tarball from the "stable" development branch.* <code>--enable-windows-64</code>: Build for 64-bit MS Windows.* <code>--enable-64</code>: Let Octave use 64-bit integers for indexing.* <code>--enable-fortran-int64</code>: Use 64-bit integers in Fortran code and especially in numerical library code. 
make all nsis-installer JOBS=<some number>
 Your author usually has "--enable-devel-tools --enable-octave=default --enable-binary-packages --enable-ccache" as configure options and use uses <code>JOBS=7 on my core i5 system.For stable branch it is "--enable-devel-tools --enable-octave=stable --enable-binary-packages --enable-64 --enable-fortran-int64 --enable-ccache" or "--enable-devel-tools --enable-octave=stable --enable-binary-packages --enable-windows64 --enable-ccache"* The first configure option also includes gdb and an MSYS shell in the binary.* The second avoids the ~700 MB max. array size limit for 32-bit executables but Octave will only run on 64-bit Windows (most Windows systems are 64 bit anyway these days). Note: this option does NOT imply 64-bit indexing.* The third option is just for a placeholder; it'll invoke src/default-octave.mk (one of the three octave .mk files in mxe: src/stable-octave.mk and src</octavecode>.mk, corresponding to the "--enable-octave=" configure option), I found that octave.mk lags a bit behind* the fourth option cross-compiles the binary modules in Octave-Forge packages, which will save time when installing them once in Windows.
If you seriously want to work with gdb, also have --disable-strip-dist-files as configure option. However, in that case chances are that you cannot build an .exe installer anymore as it becomes too big for NSIS (that has a 2 GB installer file size limit) so instead of "make nsis-installer" you'll need to invoke
make zip-dist <options>

Navigation menu