On 14 December 2010 12:52, NightStrike <[email protected]> wrote:
> On Sun, Dec 12, 2010 at 4:56 AM, Dmitrijs Ledkovs
> <[email protected]> wrote:
>> 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 =)
>
> What is the debian triplet as compared to the GNU triplet?
>

$ cat dpkg/ostable
# This file contains the table of known operating system names.
#
# Architecture names are formed as a combination of the system name
# (from this table) and CPU name (from cputable) after mapping from
# the Debian triplet (from triplettable). A list of architecture
# names in the Debian ‘sid’ distribution can be found in the archtable
# file.
#
# Column 1 is the Debian name for the system, used to form the system part
# in the Debian triplet.
# Column 2 is the GNU name for the system, used to output build and host
# targets in ‘dpkg-architecture’.
# Column 3 is an extended regular expression used to match against the
# system part of the output of the GNU config.guess script.
#
# <Debian name>         <GNU name>              <config.guess regex>
uclibceabi-linux        linux-uclibceabi        linux[^-]*-uclibceabi
uclibc-linux            linux-uclibc            linux[^-]*-uclibc
gnueabi-linux           linux-gnueabi           linux[^-]*-gnueabi
gnuspe-linux            linux-gnuspe            linux[^-]*-gnuspe
gnulp-linux             linux-gnulp             linux[^-]*-gnulp
gnu-linux               linux-gnu               linux[^-]*(-gnu.*)?
gnu-kfreebsd            kfreebsd-gnu            kfreebsd[^-]*(-gnu.*)?
gnu-knetbsd             knetbsd-gnu             knetbsd[^-]*(-gnu.*)?
gnu-kopensolaris        kopensolaris-gnu        kopensolaris[^-]*(-gnu.*)?
gnu-hurd                gnu                     gnu[^-]*
bsd-darwin              darwin                  darwin[^-]*
bsd-freebsd             freebsd                 freebsd[^-]*
bsd-netbsd              netbsd                  netbsd[^-]*
bsd-openbsd             openbsd                 openbsd[^-]*
sysv-solaris            solaris                 solaris[^-]*
uclibceabi-uclinux      uclinux-uclibceabi      uclinux[^-]*-uclibceabi
uclibc-uclinux          uclinux-uclibc          uclinux[^-]*(-uclibc.*)?

$ cat triplettable
# Bidirectional mapping between a Debian triplet and a Debian arch.
#
# Supported variables: <cpu>
#
# <Debian triplet>      <Debian arch>
uclibceabi-linux-arm    uclibc-linux-armel
uclibc-linux-<cpu>      uclibc-linux-<cpu>
gnueabi-linux-arm       armel
gnuspe-linux-powerpc    powerpcspe
gnulp-linux-i386        lpia
gnu-linux-<cpu>         <cpu>
gnu-kfreebsd-<cpu>      kfreebsd-<cpu>
gnu-knetbsd-<cpu>       knetbsd-<cpu>
gnu-kopensolaris-<cpu>  kopensolaris-<cpu>
gnu-hurd-<cpu>          hurd-<cpu>
bsd-freebsd-<cpu>       freebsd-<cpu>
bsd-openbsd-<cpu>       openbsd-<cpu>
bsd-netbsd-<cpu>        netbsd-<cpu>
bsd-darwin-<cpu>        darwin-<cpu>
sysv-solaris-<cpu>      solaris-<cpu>
uclibceabi-uclinux-arm  uclinux-armel
uclibc-uclinux-<cpu>    uclinux-<cpu>


>From above two tables:

solaris-amd64 (this is used in debian/control and in the last part of
the deb binary package name) is sysv-solaris-amd64 Debian port which
corresponds to x86_64-*-solaris GNU triplet.

> As for the GNU triplet, the important part is the vendor tag, the
> -w64- in the middle. &nbsp;The rest is flexible. &nbsp;You could, for 
> instance,
> drop the 32 on mingw32, as most config.guess scripts have been updated
> for the past couple years now to use mingw* to wildcard out the 32, as
> it no longer has any meaning.
>

For computability we have already agreed to have GNU tripplet
i686/x86_64-w64-mingw32 for the mingw-w64 debian port. We are now
trying to figure out how to correctly call Debian OS which is
"mingw-w64 based".

And to correctly create a consistent name for Debian "mingw-w64 based"
OS we are also trying to define other ports which are different from
"mingw-w64" ABI-wise.

> That part should eventually just be called "windows", for instance in
> x86_64-w64-windows.
>

So in the hypothetical future on my i686 machine I could be able to install:

windows-mingw - operating system which links against mingw.org runtime
(GNU triplet <cpu>-pc-mingw32)
windows-w64 - operating system which links against mingw-w64 runtime
and uses e.g. w64-projects threads implementation (GNU triplet
<cpu>-w64-mingw32)
windows-cygwin - operating system which links against cygwin.dll (GNU
triplet <cpu>-pc-cygwin)
windows-msys - operating system which runs inside msys environment
(GNU triplet ???)

Are above OS all different enough to require separate toolchains and
require recompiling all packages in Debian archive?

What OS do we get when we use w64 on cygwin? Is that a cross compiler?

With regards,

Dmitrijs.



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to