4379
|
1 HISTORY |
|
2 ======= |
|
3 |
|
4 mxe-octave was forked from the MXE project(http://mxe.cc) in November |
|
5 2012 when I was looking for a reliable way to cross-compile Octave |
|
6 for Windows. At the time, the MXE developers did not seem interested |
|
7 in modifying MXE to build shared libraries (. Since then, MXE has been modified |
|
8 |
|
9 As stated here: |
|
10 http://lists.defectivebydesign.org/archive/html/mingw-cross-env-list/2013-10/msg00006.html |
4380
|
11 I never intended to permanently fork MXE, I was only looking for a way |
4379
|
12 to build Octave and all its dependencies, primarily for Windows |
|
13 systems. |
|
14 |
|
15 Later, I needed to build Octave for old RHEL and SuSE systems that did |
|
16 not have sufficiently recent versions of the build tools or other |
|
17 dependencies. Adapting MXE to handle native builds seemed like a |
|
18 reasonable solution at the time, but there always seem to be issues |
|
19 with replacing many (but not all) system libraries that are needed to |
|
20 support Octave. At what point do you stop? You probably don't want |
|
21 to build your own OpenGL, X11, or C libraries, and mxe-octave does not |
|
22 attempt to build these. |
|
23 |
|
24 FUTURE |
|
25 ====== |
|
26 |
|
27 Now that MXE supports static and shared library builds for 32- and |
|
28 64-bit Windows systems, it might be good to consider using MXE |
|
29 directly and abandon the mxe-octave fork, at least for Windows |
|
30 builds. Instead of mxe-octave duplicating all that MXE does, we could |
|
31 use MXE to build the cross tools and cross compile the libraries. |
|
32 Everything else could be built using those tools. We might still end |
|
33 up with some duplication, but we would |
|
34 |
|
35 For native builds, I'm not sure what the best option is. Many things |
|
36 could be simplified in mxe-octave if cross compiling and supporting |
|
37 Windows were not required, but there would still be a lot of overlap |
|
38 with MXE. Another option is to use docker, but older kernel versions |
|
39 may not support it properly. For example, for RHEL 6, docker is |
|
40 apparently only supported using the EPEL packages, and if people were |
|
41 able to use EPEL, then they could probably get dependencies that are |
|
42 new enough to build Octave. I my experience, people using these old |
|
43 systems are not willing to use packages from EPEL or similar projects. |
|
44 |
|
45 John W. Eaton |
4380
|
46 jwe@octave.org |
4379
|
47 2017-04-11 |