# HG changeset patch # User John W. Eaton # Date 1491917107 14400 # Node ID 886056e979a4c117aad6975a3e62943be0bfcc44 # Parent a3af3be14136dddde70517fea64e9a1375166227 README: New file. diff -r a3af3be14136 -r 886056e979a4 README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Tue Apr 11 09:25:07 2017 -0400 @@ -0,0 +1,46 @@ +HISTORY +======= + +mxe-octave was forked from the MXE project(http://mxe.cc) in November +2012 when I was looking for a reliable way to cross-compile Octave +for Windows. At the time, the MXE developers did not seem interested +in modifying MXE to build shared libraries (. Since then, MXE has been modified + +As stated here: +http://lists.defectivebydesign.org/archive/html/mingw-cross-env-list/2013-10/msg00006.html +I never intended to permanently fork MXE, I was only looking ofr a way +to build Octave and all its dependencies, primarily for Windows +systems. + +Later, I needed to build Octave for old RHEL and SuSE systems that did +not have sufficiently recent versions of the build tools or other +dependencies. Adapting MXE to handle native builds seemed like a +reasonable solution at the time, but there always seem to be issues +with replacing many (but not all) system libraries that are needed to +support Octave. At what point do you stop? You probably don't want +to build your own OpenGL, X11, or C libraries, and mxe-octave does not +attempt to build these. + +FUTURE +====== + +Now that MXE supports static and shared library builds for 32- and +64-bit Windows systems, it might be good to consider using MXE +directly and abandon the mxe-octave fork, at least for Windows +builds. Instead of mxe-octave duplicating all that MXE does, we could +use MXE to build the cross tools and cross compile the libraries. +Everything else could be built using those tools. We might still end +up with some duplication, but we would + +For native builds, I'm not sure what the best option is. Many things +could be simplified in mxe-octave if cross compiling and supporting +Windows were not required, but there would still be a lot of overlap +with MXE. Another option is to use docker, but older kernel versions +may not support it properly. For example, for RHEL 6, docker is +apparently only supported using the EPEL packages, and if people were +able to use EPEL, then they could probably get dependencies that are +new enough to build Octave. I my experience, people using these old +systems are not willing to use packages from EPEL or similar projects. + +John W. Eaton +2017-04-11 diff -r a3af3be14136 -r 886056e979a4 dist-files.mk --- a/dist-files.mk Sun Apr 09 16:38:37 2017 -0400 +++ b/dist-files.mk Tue Apr 11 09:25:07 2017 -0400 @@ -851,6 +851,7 @@ FILES := \ CNAME \ + README \ binary-dist-rules.mk \ build_packages.m \ configure \