octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSoC Enquiry: Improving binary packaging


From: Michael Goffioul
Subject: Re: GSoC Enquiry: Improving binary packaging
Date: Sat, 8 Jun 2013 14:17:18 -0400

On Sat, Jun 8, 2013 at 9:00 AM, Anirudha Bose <address@hidden> wrote:

I know I am guilty of duplicating previous work when I was trying to get Octave to build with a MinGW cross compiler because I didn't really look at what Michael and others had done in the past for building Octave on Windows, but I'd like to see us avoid further duplication of effort.

I would like to know what other efforts had been done before for building Octave on Windows.

There are (have been) a couple of them, I'll try to summarize as best as I can. In chronological order, we have:

1) MSVC-based compilation: over the years, I built a system to build octave and its dependencies based on shell scripts. The system consists mainly of a set of patches, tools and a few shell scripts to glue everything together. Initially, I had developed the system to be used for MSVC and MinGW, but the MinGW part never happened. It is available here [1], and a VS2010 precompiled version of all deps can be found here [2]. Note that [1] is not really up-to-date, I'll try to post an update when I get some time. One interesting that could be re-use from it is the installer building part.

2) MinGW-based compilation: this was initially done by Benjamin Lindner, who re-used part of my patches for MSVC (there's a lot of common things to fix for MinGW and MSVC). It's also based on shell script and can be found in octave-forge SVN [3]. I see that this link also contains stuff for cygwin and mingw64, but I don't know how up-to-date they're are and maintained.

3) MinGW-based compilation: as a continuation of Benjamin Lindner work, Tatsuro and (later) Nitzan started to produce binaries compiled with MinGW. Nitzan binaries are the one you can find in octave-forge "Files" section [4]. I'm not aware of the availability of the scripts/system he's using, but I might be wrong.

4) MXE/MinGW: recently John started to work on adapting MXE for our own use in octave. The result is available as a separate repo [5]. Initially started as a way to cross-compile octave for Windows from Linux, AFAIK it is able to be used for native compilation. I know that John has re-used some patch(es) from my system (at least for readline), but I don't know exactly how much has re-used.

5) Concerning OS X, I don't have much information to give. I'm not a OS X user and I didn't really follow the history of the corresponding binaries. I know that Ben Abbott used to build and provides binaries, but I don't know what's the current status. You can find some information on the wiki [6].

From this, I think a realistic target could be to start from jwe's MXE and make it able to compile octave (and deps) for:
- MinGW, cross-compile
- MinGW, native
- GCC/Linux, native (IIRC the target there was RHEL, which provides outdated/unsupported versions of critical required components)
- OS X, native (using what compiler? Xcode? GCC?)
- OS X, cross-compile (?): here, I'm not even sure this is possible

Michael.

[1] https://dl.dropboxusercontent.com/u/45539519/octave-build2.zip
[2] https://dl.dropboxusercontent.com/u/45539519/VC10Libs.zip
[3] http://sourceforge.net/p/octave/code/HEAD/tree/trunk/octave-forge/admin/Windows/
[4] http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/
[5] http://hg.octave.org/mxe-octave
[6] http://wiki.octave.org/Octave_for_MacOS_X


reply via email to

[Prev in Thread] Current Thread [Next in Thread]