[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Mingw-cross-env-list] Status of build with shared libraries
From: |
Tony Theodore |
Subject: |
Re: [Mingw-cross-env-list] Status of build with shared libraries |
Date: |
Sun, 20 Oct 2013 16:37:53 +1100 |
Welcome John,
On 15/10/2013, at 6:16 AM, John W. Eaton <address@hidden> wrote:
> Hi,
>
> I am the Octave maintainer and the person who forked MXE for building
> Octave.
>
> First, thank you for writing MXE and making it available. It's been
> extremely helpful and has made building Octave and all its
> dependencies for Windows systems much easier than it would have been
> if we had to do all the work for that ourselves.
>
> I apologize for not contacting you before now. It was never my intent
> to permanently fork MXE and create some alternative to it. My goal
> was just to be able to build Octave and all its dependencies. When I
> was searching for a way to cross compile for Windows it seemed to me
> that MXE was the best choice. The only problem was that it did not
> support shared libraries and we need them for Octave. From what I
> read on the mailing list at the time there did not seem to be much
> interest in having MXE support shared library builds. Given the
> choice of starting something from scratch or modifying MXE, I decided
> to try to modify MXE.
>
> When I started, I initially hoped to be able to merge your changes
> with my branch and stay current with MXE development. I also hoped
> that we could ultimately merge at least some of my changes back with
> MXE. Unfortunately, given the changes that we were making, merging
> probably would have been difficult and I was very busy and never
> really tried.
Merging actual code changes will be very difficult since we switched to the
multi-target approach and moved versions back into the individual makefiles.
That said, the work you've done on getting the build to work (patches, config
options, etc) will be invaluable and should be easy to incorporate.
> We have also been using our MXE-based system to do native builds of
> Octave and all the dependencies on systems like Red Hat 5.x and
> Windows with MSVC that don't have up to date tools or packages for all
> the dependencies that Octave requires.
>
> Now I am looking at building for mingw-w64 and I see that you already
> have a great start on that and I would rather not duplicate all the work
> you've done.
We've just switched to the release versions of mingw-w64 so will have a more
stable base to work from.
> There are also things that you've done that just seem better than what
> we have done. For example, your method of handling differences in
> targets with variables like $(PKG)_BUILD_$(TARGET) could work much
> better than what we've done with Make conditionals. It seems to me
> that we could also extend that idea to handle "native" builds for
> systems like Red Hat 5.x and Windows with MSVC.
I'm using $(PKG)_BUILD_$(BUILD) rules (where BUILD = `config.guess`) at the
moment for native builds, at some stage we may add $(BUILD) to the target loop
as a pre-requisite for all other targets, but native builds are really
inconsistent across operating systems and distros.
> Although our sources have diverged significantly, I would still like
> to try to merge our changes with yours. I would be very happy if we could
> work together so that we would not have to maintain a separate fork of
> MXE.
>
> If you are interested, I would be happy to discuss a plan for how best
> to provide patches to you. I expect that would be done by creating a
> new series of incremental changes to the current MXE.
The starting point as I see it is completing the build infrastructure to handle
shared rules. We need to add some configuration hooks to the package rules,
then decide if we want to try and build the variants side-by-side. The more I
think about it, the more I think we should just build each variant separately -
is anyone really going to want multiple toolchains simultaneously?
Once that's done, submitting patches should be fairly straightforward. I'm not
sure about the MSVC builds, that may require some changes to make it easier for
downstream modifications to be made in a way that allows upstream to be easily
merged.
Cheers,
Tony
- Re: [Mingw-cross-env-list] Status of build with shared libraries, John W. Eaton, 2013/10/16
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Tony Theodore, 2013/10/15
- Re: [Mingw-cross-env-list] Status of build with shared libraries,
Tony Theodore <=
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Tony Theodore, 2013/10/20
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Peter Rockett, 2013/10/20
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Tony Theodore, 2013/10/20
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Volker Grabsch, 2013/10/21
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Tony Theodore, 2013/10/21
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Volker Grabsch, 2013/10/22
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Tony Theodore, 2013/10/22
- Re: [Mingw-cross-env-list] Status of build with shared libraries, Volker Grabsch, 2013/10/22