Bug#606825: dpkg: Please add mingw to ostable and triplettable.

2010-12-13 Thread Jonathan Nieder
Dmitrijs Ledkovs wrote:

 There are currently two free implementations of msvcrt: mingw.org and 
 mingw-w64.
 Programs built with mingw32 *unable* to safely use DLLs built with
 mingw64 there are subtle differences in implementations.

That answers my main question.  Then I suppose:

 We have one ABI (windows-like) and then for OS parts it could be
 native - msvcrt or unix-like - cygwin. For free kernel options we
 have ReactOS and linux+wine. For msvcrt we have options of using mingw
 and w64. So maybe something like this:

 Debian name:
 ms-msvcrt
 ms-cygwin

mingw32-winnt
mingw64-winnt
mingw32-msys
mingw64-msys
mingw32-cygwin
mingw64-cygwin

(Obviously I am not attached to the names, just trying to figure
out which targets need distinct Debian names for compatibility.)

Presumably at the moment you're be working on mingw64-winnt?

 And then it's up to Debian maintainers which msvcrt implementation
 (analogy with libc) to use - mingw.org or w64 (this one). We can
 package both to test and compare and find bugs, etc.

Ah, interesting.

Thanks again.  Others wiser than I am can presumably take it from
here.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#606825: dpkg: Please add mingw to ostable and triplettable.

2010-12-13 Thread Dmitrijs Ledkovs
On 13 December 2010 23:21, Jonathan Nieder jrnie...@gmail.com wrote:
 Dmitrijs Ledkovs wrote:

 There are currently two free implementations of msvcrt: mingw.org and 
 mingw-w64.
 Programs built with mingw32 *unable* to safely use DLLs built with
 mingw64 there are subtle differences in implementations.

 That answers my main question.  Then I suppose:

 We have one ABI (windows-like) and then for OS parts it could be
 native - msvcrt or unix-like - cygwin. For free kernel options we
 have ReactOS and linux+wine. For msvcrt we have options of using mingw
 and w64. So maybe something like this:

 Debian name:
 ms-msvcrt
 ms-cygwin

 mingw32-winnt
 mingw64-winnt
 mingw32-msys
 mingw64-msys
 mingw32-cygwin
 mingw64-cygwin


8
MSYS is a collection of GNU utilities such as bash, make, gawk and
grep to allow building of applications and programs which depend on
traditionally UNIX tools to be present. It is intended to supplement
MinGW and the deficiencies of the cmd shell.
8

So msys is just a meta-package which runs on mingwXX-winnt.

I like:

mingw32-winnt - mingw.org based, Windows native port
mingw64-winnt - mingw-w64 based, Windows native port
mingw32-cygwin - mingw.org based toolchain for/with cygwin port
mingw64-cygwin - mingw-w64 based toolchain for/with cygwin port

All four of the both multipled by available cpu's resulting in these
GNU triplets

mingw32-winnt - cpu-pc-mingw32
mingw64-winnt - cpu-w64-mingw32
mingw32-cygwin - cpu-pc-cygwin
mingw64-cygwin - cpu-w64-cygwin

 (Obviously I am not attached to the names, just trying to figure
 out which targets need distinct Debian names for compatibility.)


All four of the above triplets make sense and are in the wild out
there not packaged in Debian

 Presumably at the moment you're be working on mingw64-winnt?


Yes. For i386 and amd64 Debian cpu's.

 And then it's up to Debian maintainers which msvcrt implementation
 (analogy with libc) to use - mingw.org or w64 (this one). We can
 package both to test and compare and find bugs, etc.

 Ah, interesting.

 Thanks again.  Others wiser than I am can presumably take it from
 here.


Shall I provide an updated patch against dpkg?

With regards,

Dmitrijs.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#606825: dpkg: Please add mingw to ostable and triplettable.

2010-12-12 Thread Dmitrijs Ledkovs
CC: mingw-w64 mailing list

I'm asking to add mingw32-w64 tripplet and os to dpkg. Please suggest
/ improve how you would like to have debian or tripplet be called. We
are settled that GNU tripplet will be cpu-w64-mingw32 =)

On 12 December 2010 01:30, Jonathan Nieder jrnie...@gmail.com wrote:
 Hi,

 Some uninformed reactions.


Thank you for shedding some more lights of what ABI/OS parts should mean!

 Dmitrijs Ledkovs wrote:

 --- a/ostable
 +++ b/ostable
 @@ -31,3 +31,4 @@ bsd-openbsd         openbsd                 openbsd[^-]*
  sysv-solaris         solaris                 solaris[^-]*
  uclibceabi-uclinux   uclinux-uclibceabi      uclinux[^-]*-uclibceabi
  uclibc-uclinux               uclinux-uclibc          
 uclinux[^-]*(-uclibc.*)?
 +w64-mingw32          w64-mingw32             mingw32[^-]*

 The ABI part (e.g., sysv-, gnu-, or bsd-) describes instruction set
 variant and conventions for function calls, dynamic linking, and
 program startup.  That last part often depends on libc.  In this case,
 it is mingw-w64, abbreviated as w64, I suppose.  Why not plain
 mingw --- are programs built with mingw32 unable to safely use DLLs
 built with mingw64, for example?


The ABI part describes instruction set variant etc
That last part often depends on libc

8
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=360587#35
On Thu, Sep 06, 2007 at 12:08:10PM -0500, Tony J. White wrote:

 Why was the name 'i586-mingw32msvc' choosen?

To indicate the target binaries for this build use the msvcrt runtime.
8

There are currently two free implementations of msvcrt: mingw.org and mingw-w64.
Programs built with mingw32 *unable* to safely use DLLs built with
mingw64 there are subtle differences in implementations. The biggest
one is that mingw-w64 is 32/64 bit aware.

 The OS part (e.g., -linux) represents the kernel and maybe the
 userland tools.  Should it be winnt?  What versions of Windows are
 being targeted?

winnt is okish, but see further. mingw-w64 compiles for Windows XP and
it has additional headers for compatability and features of Vista and
7.

We have one ABI (windows-like) and then for OS parts it could be
native - msvcrt or unix-like - cygwin. For free kernel options we
have ReactOS and linux+wine. For msvcrt we have options of using mingw
and w64. So maybe something like this:

Debian name:
ms-msvcrt
ms-cygwin

And then it's up to Debian maintainers which msvcrt implementation
(analogy with libc) to use - mingw.org or w64 (this one). We can
package both to test and compare and find bugs, etc.

The original now zomby debian-wi...@l.d.o was aiming to create
ms-cygwin port.

 Functionally, the effect is to determine

        DEB_HOST_ARCH
        DEB_HOST_ARCH_OS
        DEB_HOST_GNU_TYPE

 for use by debian/rules when building packages targeted at that
 system.  (I know you realize this, just reminding myself!)

 Gcc 4.5 and higher recognises -w64-mingw32

 So the value in the GNU name column is correct.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#606825: dpkg: Please add mingw to ostable and triplettable.

2010-12-11 Thread Dmitrijs Ledkovs
Package: dpkg
Version: 1.15.8.6
Severity: wishlist
Tags: patch

config.guess has support for mingw32 since 2005. It accepts anything in the form
of *-*-mingw32. The traditional, mingw.org based implementation, uses
cpu-pc-mingw32 triplet. Mingw-w64 based implementations, use
cpu-w64-mingw32. Gcc 4.5 and higher recognises -w64-mingw32 and enable
additional features for mingw-w64.

The attached patch produces desired values for Debian and GNU variables set by
dpkg-architecture.



pgpxZxcgoI3EI.pgp
Description: PGP signature
From 8315953b2bc7d400ed320b57e8eb5caed90e6da8 Mon Sep 17 00:00:00 2001
From: Dmitrijs Ledkovs dmitrij.led...@ubuntu.com
Date: Sun, 12 Dec 2010 00:15:22 +
Subject: [PATCH] Add mingw32-w64 to ostable and triplettable.

---
 ostable  |1 +
 triplettable |1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/ostable b/ostable
index 17b7581..1ee4277 100644
--- a/ostable
+++ b/ostable
@@ -31,3 +31,4 @@ bsd-openbsd		openbsd			openbsd[^-]*
 sysv-solaris		solaris			solaris[^-]*
 uclibceabi-uclinux	uclinux-uclibceabi	uclinux[^-]*-uclibceabi
 uclibc-uclinux		uclinux-uclibc		uclinux[^-]*(-uclibc.*)?
+w64-mingw32		w64-mingw32		mingw32[^-]*
diff --git a/triplettable b/triplettable
index 3e076e2..b374f2c 100644
--- a/triplettable
+++ b/triplettable
@@ -20,3 +20,4 @@ bsd-darwin-cpu	darwin-cpu
 sysv-solaris-cpu	solaris-cpu
 uclibceabi-uclinux-arm	uclinux-armel
 uclibc-uclinux-cpu	uclinux-cpu
+w64-mingw32-cpu	mingw-cpu
-- 
1.7.2.3



Bug#606825: dpkg: Please add mingw to ostable and triplettable.

2010-12-11 Thread Jonathan Nieder
Hi,

Some uninformed reactions.

Dmitrijs Ledkovs wrote:

 --- a/ostable
 +++ b/ostable
 @@ -31,3 +31,4 @@ bsd-openbsd openbsd openbsd[^-]*
  sysv-solaris solaris solaris[^-]*
  uclibceabi-uclinux   uclinux-uclibceabi  uclinux[^-]*-uclibceabi
  uclibc-uclinux   uclinux-uclibc  uclinux[^-]*(-uclibc.*)?
 +w64-mingw32  w64-mingw32 mingw32[^-]*

The ABI part (e.g., sysv-, gnu-, or bsd-) describes instruction set
variant and conventions for function calls, dynamic linking, and
program startup.  That last part often depends on libc.  In this case,
it is mingw-w64, abbreviated as w64, I suppose.  Why not plain
mingw --- are programs built with mingw32 unable to safely use DLLs
built with mingw64, for example?

The OS part (e.g., -linux) represents the kernel and maybe the
userland tools.  Should it be winnt?  What versions of Windows are
being targeted?

Functionally, the effect is to determine

DEB_HOST_ARCH
DEB_HOST_ARCH_OS
DEB_HOST_GNU_TYPE

for use by debian/rules when building packages targeted at that
system.  (I know you realize this, just reminding myself!)

 Gcc 4.5 and higher recognises -w64-mingw32

So the value in the GNU name column is correct.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org