changeset 4379:886056e979a4

README: New file.
author John W. Eaton <jwe@octave.org>
date Tue, 11 Apr 2017 09:25:07 -0400
parents a3af3be14136
children ecad9fe83f88
files README dist-files.mk
diffstat 2 files changed, 47 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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
--- 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 \