mingw-cross-env-list
[Top][All Lists]
Advanced

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

Re: [Mingw-cross-env-list] mingw-w64 and mingw-cross-env


From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] mingw-w64 and mingw-cross-env
Date: Tue, 20 Mar 2012 21:24:29 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Hello Laura,

Thanks for sharing your thoughts!

LM schrieb:
> Volker Grabsch wrote:
> >1) All targets will use the same version (the same source tarball)
> >  of a package.
> >
> >2) All target will have the same set of dependencies $(PKG)_DEPS.
> >
> >3) The patches will be used by all targets, there are no
> >  target-specific patches.
> 
> I keep thinking 2 is going to be an issue.  There are times when
> building for one system requires completely different dependencies
> than building for another.  If the dependency isn't available for the
> target, you've indicated there isn't a problem.  However, what if a
> dependency is available, but not desired in that platform specific
> build?  It may not be an issue with limited targets, but if number of
> targets grows, so does the possibility of this happening.  I wish I
> could think of some concrete examples, but I'm coming up blank at the
> moment.

I doubt there will ever be such an example, because if a library
has different dependencies on different platforms, its author
will certainly add some platform conditional code into configure.ac
(or similar).

That is, maybe an unneeded depdency gets built, but it almost
certainly won't cause an build issue in the library itself.
Otherwise it's a bug in the library that needs to be fixed.

However, if we should really encounter such a rare example,
we could add support for target-specific $(PKG)_DEPS, too.
This should be optional, though, as almost all packages
won't need that feature.

> >  So all in all, I'm proposing the following target names:
> >   i686-static-mingw
> >   i686-dynamic-mingw
> >   x86_64-static-mingw
> >   i86_64-dynamic-mingw
> >   x86_64-static-darwin9
> >   x86_64-dynamic-darwin9
> 
> If you're using this on the configure command line (like most
> Slackware packages do), this could be a problem.  Most configure
> scripts wouldn't recognize these targets and would probably require
> modifications.  If this is only used in the file structure and not
> sent to configure, it should work okay.

Those target names are indeed meant to be used as ./configure
arguments, not just for the file structure.

You are absolutely right that we should make a real
test run to check that the new target names won't
cause any issues.

I didn't ever see a build script  which checks for the
VENDOR part of the target. However, some helper scripts
like config.guess might have trouble with "mingw" instead
of "mingw32", or with the pseudo vendor string
(static/dynamic). Also, what's with Qt/QMake and with
CMake? We should really check that.

On the other hand, what are the alternatives? I believe
that a TARGET like "i686-static-mingw" will cause less
trouble than, say, something like "i686-pc-mingw32static".

Any ideas? Any volunteers to make test builds with the
new TARGET strings?


Regards,
Volker

-- 
Volker Grabsch
---<<(())>>---



reply via email to

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