Windows Installer: Difference between revisions
→General steps
(→Remarks: Configure with "--with-pkg-dir" instead of symlinking. Overhaul section.) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
===General steps=== | ===General steps=== | ||
# Reassure you have the package libffi-dev installed or the Python build will silently be incomplete | |||
# Install the MXE build requirements.<ref>The requirements for each system are listed in the repository https://hg.octave.org/mxe-octave/file/tip/index.html. Start with the second step to read the {{Path|index.html}} file on your local machine.</ref> | # Install the MXE build requirements.<ref>The requirements for each system are listed in the repository https://hg.octave.org/mxe-octave/file/tip/index.html. Start with the second step to read the {{Path|index.html}} file on your local machine.</ref> | ||
# <code>hg clone https://hg.octave.org/mxe-octave</code><ref>Use <code>hg clone https://hg.octave.org/mxe-octave <name of mxe-octave build dir></code> to choose another directory.</ref> | # <code>hg clone https://hg.octave.org/mxe-octave</code><ref>Use <code>hg clone https://hg.octave.org/mxe-octave <name of mxe-octave build dir></code> to choose another directory.</ref> | ||
Line 68: | Line 68: | ||
* Use <code>make all 7z-dist</code>, <code>make all tar-dist</code> or <code>make all zip-dist</code> instead of <code>make all nsis-installer</code> if you want to build just an archive of the files to install on MS Windows instead of an installer wizard. | * Use <code>make all 7z-dist</code>, <code>make all tar-dist</code> or <code>make all zip-dist</code> instead of <code>make all nsis-installer</code> if you want to build just an archive of the files to install on MS Windows instead of an installer wizard. | ||
* By default, packages will be built one at a time | * By default, packages will be built one at a time '''without parallelization'''. You may use <code>make JOBS=4</code> (choose a number other than 4 that is appropriate for your system) to build each individual package in parallel. | ||
** '''Avoid using the <code>-j</code> option for <code>make</code>:''' Using <code>-j</code> enables building packages in parallel, which can mess up the mxe build system. Use this option with care! Another pitfall is the example <code>make -j4 JOBS=4</code>, which can result in as many as 16 jobs running at once. | |||
* Include gdb in the installer by running <code>make gdb</code> before making the <code>nsis-installer</code> target. | * Include gdb in the installer by running <code>make gdb</code> before making the <code>nsis-installer</code> target. | ||
===Build installers for Octave development versions=== | ===Build installers for Octave development versions=== | ||
Line 124: | Line 124: | ||
Hints: | Hints: | ||
* | * It is possible to adapt {{Path|mxe-octave/binary-dist-rules.mk}} to have a consistent name for the {{Path|<mxe-octave build dir>/dist/octave}} subdirectory (i.e., without time/date/bitwidth suffixes). This way, in MS Windows the shortcut doesn't need adaptation after each cross-build action. Maybe it would be better if {{Path|mxe-octave/binary-dist-rules.mk}} had a rule to create a symlink {{Path|<mxe-octave build dir>/dist/octave}} pointing to the latest cross-build. | ||
* The image expires after | * The image expires after 30 days. But if you make a VirtualBox snapshot before starting the VM the first time, you can revert to that snapshot (essentially, the image will last longer). This way, you also won't need to uninstall Octave each time before installing a new build. | ||
==Footnotes== | ==Footnotes== |