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

Bug#602997: Debian Bugs information: logs for Bug#602997



>   Message #14 received at 602997@bugs.debian.org (full text, mbox):
> From: Matthias Klose <doko@debian.org>
> To: Stephen Kitt <steve@sk2.org>, 602997@bugs.debian.org
> Subject: Re: Bug#602997: ITP: gcc-mingw-w64 -- The GNU Compiler Collection
>  for MinGW-w64
> Date: Sun, 14 Nov 2010 21:13:58 +0100
>
> On 10.11.2010 08:32, Stephen Kitt wrote:
>> Package: wnpp
>> Severity: wishlist
>> Owner: Stephen Kitt<steve@sk2.org>
>>
>>
>> * Package name    : gcc-mingw-w64
>
> we already have a mingw32 toolchain. Is it possible to build a mingw biarch
> toolchain instead of a new package?
>

The current mingw32 toolchain uses "mingw.org" runtime.

Mingw-w64 project provides a different runtime - w64. This runtime
supports win32, win64 and wince. Win32 & Win64 runtimes can be build
as biarch.

Fedora and openSUSE are using the mingw-w64 runtimes for both x86 and
amd64 cross-toolchains to windows.

For more info on mingw-64 project and many users see their homepage:
http://mingw-w64.sourceforge.net/

> the toolchain currently builds for arch `any'. Is this really necessary?  Maybe
> it's fine to to prove that this is buildable on arm or mips, but is it really us
> ed?

I personally am only aware of people using it on x86, amd64 on *nix & windows.

>> we already have a mingw32 toolchain. Is it possible to build a mingw
>> biarch toolchain instead of a new package?
>
> MinGW32 and MinGW-w64 are actually two different toolchains, not
> simply bi-arch variants of the same toolchain; they have different
> triplets. (In fact given the way ldscripts are shipped they would
> probably have to conflict with each other.) MinGW-w64 provides both
> 32-bit and 64-bit toolchains, and builds some 32-bit software (such as
> Wine Gecko) which the current mingw32 toolchain can't - that is in
> fact why Ove Kaaven was interested in Robert Millan's gcc-mingw32
> package and associated packages which were actually based on MinGW-w64
> rather than MinGW32, and why I started work on packaging the whole
> toolchain.
>

Agree. The original mingw, is separate from the mingw-w64 project.
Mingw-w64 is better on both x86 and amd64.

> My aim with the mingw-w64 toolchain is two-fold:
>
> * provide a proper MinGW-w64 toolchain, handling the varied
>  requirements of the potential users in Debian, notably wine-gecko
>  and potentially wine-mono;
> * avoid the confusion which exists regarding mingw32 and gcc-mingw32.
>

I would like to join maintainship with additional goal:

* provide cross-compiled -dev packages, such that debian users can
easily cross-compile their apps to win32 and win64 using mingw-w64
based toolchains.

> I'm currently discussing the situation with Ron, the maintainer of the
> mingw32 toolchain. Our intention is ideally to establish whether one
> of the two toolchains can handle the various requirements, in which
> case only that one would be kept.
>

I haven't been in touch with Ron.

> Note that for now MinGW (the new name for MinGW32) doesn't support
> 64-bit targets; that support is supposed to be forthcoming. A bigger
> problem is that recent releases of MinGW only support Windows-hosted
> compilers, as I understand things at least.
>
>> the toolchain currently builds for arch `any'. Is this really
>> necessary?  Maybe it's fine to to prove that this is buildable on
>> arm or mips, but is it really used?
>
> Probably not, i386 and amd64 would be perfectly sufficient.
>
> Thanks for your interest,
>
> Stephen


Dear Stephen, Ron and everyone else.

I have started my own packaging of mingw-w64 based toolchains myself a
while ago.

Packaging is available here:
https://code.launchpad.net/~mingw-w64/mingw-w64/gcc-4.4

Some description:

1) One source package to bootstrap both x86 and amd64 cross-toolchains
using runtimes by mingw-w64 project.
2) Each time build is not using pre-compiled binaries (i.e. there is
no bootstrap package)
3) By default binutils-source and gcc-source are used.
4) Alternatively upstream checkouts can be used.
5) There is a daily build ppa using: binutils trunk, gcc-4.4 branch,
mingw-w64 trunk.
https://code.launchpad.net/~mingw-w64/+recipe/gcc4.4+trunk (I will
start doing 4.5 & 4.6 based builds soon)
6) It is two toolchains, not a bi-arch. I haven't tried building
bi-arch and amd64 doesn't support java, where x86 does. And I use
slightly different options for two of them.
7) It also includes pthread-win32 dll build from source with patches
to make it build amd64 variant as well.
8) The "build" machinery is not the one used in native debian-gcc or
binutils. I do not know if that is desired from debian-toolchain devs.
(I haven't found an easy way to plug in a two step mingw-w64
compilation into debian-gcc build rules)

I will look over current packaging done by Stephen. Hopefully we can
reconcile and work together on them.

What sort of criteria should we have for future mingw toolchains in Debian?



Reply to: