Yaakov (Cygwin/X | 1 Jun 2012 09:45
Picon
Gravatar

[RFC] setup: allow building with i686-w64-mingw32

Fedora has switched from the i686-pc-mingw32 toolchain to the 
{i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup 
cannot currently be built on F17.

The attached draft patch fixes most of the issues with the build.  (I 
just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h 
needs some more work though; perhaps JonY could provide some input?

Also, if we still want to support the i686-pc-mingw32 toolchain, the 
bootstrap.sh chunk should probably be expanded to use whichever 
toolchain is available.  That is moot, however, until it actually 
compiles with w64.

Yaakov
Attachment (setup-mingw64.patch): application/x-itunes-itlp, 2984 bytes
JonY | 1 Jun 2012 10:47
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 6/1/2012 15:45, Yaakov (Cygwin/X) wrote:
> Fedora has switched from the i686-pc-mingw32 toolchain to the
> {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
> cannot currently be built on F17.
> 
> The attached draft patch fixes most of the issues with the build.  (I
> just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h
> needs some more work though; perhaps JonY could provide some input?
> 

Can you list some of the issues you've encountered with ntdll.h?

Yaakov (Cygwin/X | 1 Jun 2012 18:03
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On 2012-06-01 03:47, JonY wrote:
> On 6/1/2012 15:45, Yaakov (Cygwin/X) wrote:
>> Fedora has switched from the i686-pc-mingw32 toolchain to the
>> {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
>> cannot currently be built on F17.
>>
>> The attached draft patch fixes most of the issues with the build.  (I
>> just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h
>> needs some more work though; perhaps JonY could provide some input?
>
> Can you list some of the issues you've encountered with ntdll.h?

1) ddk/ntapi.h does not exist.

2) DDK headers can't find other DDK headers which they require.  IMHO 
those should be changed from <> includes to "" includes in mingw64-headers.

3) Once I circumvent those, I get a ton of redefinition and conflicting 
declaration errors between winnt.h and ddk/ntddk.h.  Its too long to 
list here, so I suggest you give it a try.

Yaakov

JonY | 1 Jun 2012 19:08
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 6/2/2012 00:03, Yaakov (Cygwin/X) wrote:
> On 2012-06-01 03:47, JonY wrote:
>> On 6/1/2012 15:45, Yaakov (Cygwin/X) wrote:
>>> Fedora has switched from the i686-pc-mingw32 toolchain to the
>>> {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
>>> cannot currently be built on F17.
>>>
>>> The attached draft patch fixes most of the issues with the build.  (I
>>> just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h
>>> needs some more work though; perhaps JonY could provide some input?
>>
>> Can you list some of the issues you've encountered with ntdll.h?
> 
> 1) ddk/ntapi.h does not exist.
> 

I'm not sure about that, Kai?

> 2) DDK headers can't find other DDK headers which they require.  IMHO
> those should be changed from <> includes to "" includes in mingw64-headers.
> 

You are supposed to use -I/path/to/include/ddk to use the headers, this
is one of the differences with mingw.org.

> 3) Once I circumvent those, I get a ton of redefinition and conflicting
> declaration errors between winnt.h and ddk/ntddk.h.  Its too long to
> list here, so I suggest you give it a try.
> 

(Continue reading)

Yaakov (Cygwin/X | 1 Jun 2012 20:40
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On 2012-06-01 12:08, JonY wrote:
>> 2) DDK headers can't find other DDK headers which they require.  IMHO
>> those should be changed from<>  includes to "" includes in mingw64-headers.
>
> You are supposed to use -I/path/to/include/ddk to use the headers, this
> is one of the differences with mingw.org.

That shouldn't be necessary IMO if I e.g. #include <ddk/ntifs.h>.

>> 3) Once I circumvent those, I get a ton of redefinition and conflicting
>> declaration errors between winnt.h and ddk/ntddk.h.  Its too long to
>> list here, so I suggest you give it a try.
>
> PSDK should not be used together with the DDK, Kai suggests using
> winternl.h in place of ntddk.h.

That gets me closer.  I'm going AFK now, but with the attached patch the 
following errors remain:

   CXX    filemanip.o
In file included from ntdll.h:23:0,
                  from filemanip.cc:31:
/usr/i686-w64-mingw32/sys-root/mingw/include/ntdef.h:512:16: error: 
redefinition of ‘struct _OBJECT_ATTRIBUTES’
/usr/i686-w64-mingw32/sys-root/mingw/include/winternl.h:101:37: error: 
previous definition of ‘struct _OBJECT_ATTRIBUTES’
/usr/i686-w64-mingw32/sys-root/mingw/include/ntdef.h:519:20: error: 
invalid type in declaration before ‘,’ token
/usr/i686-w64-mingw32/sys-root/mingw/include/ntdef.h:519:20: error: 
conflicting declaration ‘typedef int OBJECT_ATTRIBUTES’
(Continue reading)

JonY | 2 Jun 2012 01:45
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 6/2/2012 02:40, Yaakov (Cygwin/X) wrote:
> On 2012-06-01 12:08, JonY wrote:
>>> 2) DDK headers can't find other DDK headers which they require.  IMHO
>>> those should be changed from<>  includes to "" includes in
>>> mingw64-headers.
>>
>> You are supposed to use -I/path/to/include/ddk to use the headers, this
>> is one of the differences with mingw.org.
> 
> That shouldn't be necessary IMO if I e.g. #include <ddk/ntifs.h>.
> 

No, I meant you are actually supposed to add it to your search path,
sort of like how glib/gtk headers are used with pkg-config. Maybe it's a
good idea to use .pc files.

>>> 3) Once I circumvent those, I get a ton of redefinition and conflicting
>>> declaration errors between winnt.h and ddk/ntddk.h.  Its too long to
>>> list here, so I suggest you give it a try.
>>
>> PSDK should not be used together with the DDK, Kai suggests using
>> winternl.h in place of ntddk.h.
> 
> That gets me closer.  I'm going AFK now, but with the attached patch the
> following errors remain:
> 

Some of these errors might be related to ntdef.h use, try removing it.
Some of these declarations are from wdm.h. So:

(Continue reading)

Yaakov (Cygwin/X | 2 Jun 2012 02:24
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On 2012-06-01 18:45, JonY wrote:
> Some of these errors might be related to ntdef.h use, try removing it.

This stops the duplication errors, but NT_SUCCESS is defined in ntdef.h, 
leading to some undeclared errors.

There appear to be some bugs in winternl.h.  According to MSDN[1], 
winternl.h is wrong wrt the fourth argument type of 
NtQueryInformationFile (should be ULONG, not LONG).  Also, the member 
names in struct FILE_RENAME_INFORMATION do not match MSDN[2].

With those changes, the results are:

   CXX    filemanip.o
filemanip.cc: In function ‘DWORD GetFileAttributesW(const WCHAR*)’:
filemanip.cc:296:10: error: ‘FILE_SHARE_VALID_FLAGS’ was not declared in 
this scope
filemanip.cc:297:24: error: ‘FILE_OPEN_FOR_BACKUP_INTENT’ was not 
declared in this scope
filemanip.cc:297:54: error: ‘FILE_OPEN_REPARSE_POINT’ was not declared 
in this scope
filemanip.cc:299:25: error: ‘NT_SUCCESS’ was not declared in this scope
filemanip.cc:309:26: error: ‘NT_SUCCESS’ was not declared in this scope
filemanip.cc: In function ‘WINBOOL SetFileAttributesW(const WCHAR*, DWORD)’:
filemanip.cc:328:10: error: ‘FILE_SHARE_VALID_FLAGS’ was not declared in 
this scope
filemanip.cc:329:24: error: ‘FILE_OPEN_FOR_BACKUP_INTENT’ was not 
declared in this scope
filemanip.cc:329:54: error: ‘FILE_OPEN_REPARSE_POINT’ was not declared 
in this scope
(Continue reading)

JonY | 2 Jun 2012 06:42
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 6/2/2012 08:24, Yaakov (Cygwin/X) wrote:
> On 2012-06-01 18:45, JonY wrote:
>> Some of these errors might be related to ntdef.h use, try removing it.
> 
> This stops the duplication errors, but NT_SUCCESS is defined in ntdef.h,
> leading to some undeclared errors.
> 
> There appear to be some bugs in winternl.h.  According to MSDN[1],
> winternl.h is wrong wrt the fourth argument type of
> NtQueryInformationFile (should be ULONG, not LONG).  Also, the member
> names in struct FILE_RENAME_INFORMATION do not match MSDN[2].
> 

MSDN is known to contain errors, I can't say which is correct. I'll ask
Kai about this.

> With those changes, the results are:
> 
>   CXX    filemanip.o
> filemanip.cc: In function ‘DWORD GetFileAttributesW(const WCHAR*)’:
> filemanip.cc:296:10: error: ‘FILE_SHARE_VALID_FLAGS’ was not declared in
> this scope
> filemanip.cc:297:24: error: ‘FILE_OPEN_FOR_BACKUP_INTENT’ was not
> declared in this scope
> filemanip.cc:297:54: error: ‘FILE_OPEN_REPARSE_POINT’ was not declared
> in this scope
> filemanip.cc:299:25: error: ‘NT_SUCCESS’ was not declared in this scope
> filemanip.cc:309:26: error: ‘NT_SUCCESS’ was not declared in this scope
> filemanip.cc: In function ‘WINBOOL SetFileAttributesW(const WCHAR*,
> DWORD)’:
(Continue reading)

Corinna Vinschen | 1 Jun 2012 12:20
Favicon

Re: [RFC] setup: allow building with i686-w64-mingw32

On Jun  1 02:45, Yaakov (Cygwin/X) wrote:
> Fedora has switched from the i686-pc-mingw32 toolchain to the
> {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
> cannot currently be built on F17.
> 
> The attached draft patch fixes most of the issues with the build.
> (I just added the necessary mingw64-i686-* libraries to Ports.)
> ntdll.h needs some more work though; perhaps JonY could provide some
> input?

Just ifdef out what's already defined?

Corinna

--

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Corinna Vinschen | 1 Jun 2012 12:36
Favicon

Re: [RFC] setup: allow building with i686-w64-mingw32

On Jun  1 12:20, Corinna Vinschen wrote:
> On Jun  1 02:45, Yaakov (Cygwin/X) wrote:
> > Fedora has switched from the i686-pc-mingw32 toolchain to the
> > {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
> > cannot currently be built on F17.
> > 
> > The attached draft patch fixes most of the issues with the build.
> > (I just added the necessary mingw64-i686-* libraries to Ports.)
> > ntdll.h needs some more work though; perhaps JonY could provide some
> > input?
> 
> Just ifdef out what's already defined?

Oh and, btw, I don't think it's required to support two compilers in the
long run.  If we can build setup with the Mingw64 compiler in future
only, than so be it.  I didn't upgrade to F17 yet, but it's just a matter
of time anyway.

Corinna

--

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Charles Wilson | 4 Jun 2012 19:09
Favicon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 6/1/2012 6:36 AM, Corinna Vinschen wrote:
> On Jun  1 12:20, Corinna Vinschen wrote:
>> On Jun  1 02:45, Yaakov (Cygwin/X) wrote:
>>> Fedora has switched from the i686-pc-mingw32 toolchain to the
>>> {i686,x86_64}-w64-mingw32 toolchains in F17.  This means that setup
>>> cannot currently be built on F17.
>>>
>>> The attached draft patch fixes most of the issues with the build.
>>> (I just added the necessary mingw64-i686-* libraries to Ports.)
>>> ntdll.h needs some more work though; perhaps JonY could provide some
>>> input?
>>
>> Just ifdef out what's already defined?
> 
> Oh and, btw, I don't think it's required to support two compilers in the
> long run.  If we can build setup with the Mingw64 compiler in future
> only, than so be it.  I didn't upgrade to F17 yet, but it's just a matter
> of time anyway.

As Yaakov pointed out, we'll need mingw64-* version(s) of

mingw32-zlib
mingw32-bzip2
mingw32-xz
mingw32-gcrypt
mingw32-gpg-error

I don't mind providing those for the i686-mingw64 compiler -- especially
given Yaakov's advance effort.

(Continue reading)

Yaakov (Cygwin/X | 3 Jun 2012 16:19
Picon
Gravatar

[PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-01 02:45, Yaakov (Cygwin/X) wrote:
> Fedora has switched from the i686-pc-mingw32 toolchain to the
> {i686,x86_64}-w64-mingw32 toolchains in F17. This means that setup
> cannot currently be built on F17.

The attached draft patches for setup and mingw64-headers (r4913) allow 
setup to be built cleanly and work correctly (AFAICS) with both i686 
toolchains.

The code also compiles cleanly on x86_64-w64-mingw32 but needs some 
additional LIBS as I circumvented autoload.c, which is clearly 32-bit 
specific and should be unnecessary on 64-bit Windows (being new enough 
to have all these functions).  This probably needs further functional 
changes and probably isn't useful until we have a 64-bit Cygwin, but it 
did expose some type incompatibilities.

These are NOT ready to commit right now; they are being posted to help 
collaboration with mingw-w64 to make this work.

Yaakov
Attachment (setup-mingw64.patch): application/x-itunes-itlp, 16 KiB
Attachment (mingw64-headers.patch): application/x-itunes-itlp, 10 KiB
Christopher Faylor | 3 Jun 2012 17:03
Favicon

Re: [PATCH v1] setup: allow building with i686-w64-mingw32

On Sun, Jun 03, 2012 at 09:19:29AM -0500, Yaakov (Cygwin/X) wrote:
>On 2012-06-01 02:45, Yaakov (Cygwin/X) wrote:
>> Fedora has switched from the i686-pc-mingw32 toolchain to the
>> {i686,x86_64}-w64-mingw32 toolchains in F17. This means that setup
>> cannot currently be built on F17.
>
>The attached draft patches for setup and mingw64-headers (r4913) allow 
>setup to be built cleanly and work correctly (AFAICS) with both i686 
>toolchains.
>
>The code also compiles cleanly on x86_64-w64-mingw32 but needs some 
>additional LIBS as I circumvented autoload.c, which is clearly 32-bit 
>specific and should be unnecessary on 64-bit Windows (being new enough 
>to have all these functions).  This probably needs further functional 
>changes and probably isn't useful until we have a 64-bit Cygwin, but it 
>did expose some type incompatibilities.
>
>These are NOT ready to commit right now; they are being posted to help 
>collaboration with mingw-w64 to make this work.

I didn't look at this in great detail but it seems like you are using
random styles for coercion, i.e., sometimes:

(unsigned int)foo

and others:

(int) foo.

(and since unsigned implies int there is no reason for unsigned int).
(Continue reading)

JonY | 3 Jun 2012 17:45
Picon

Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32


Forwarding to mingw-w64 list.

Some of the headers modified is generated from WINE widl, so the
preprocessor should be changed instead, jacek?

Kai, Ozkan, what do you make of these changes (mingw64-headers.patch)?

-------- Original Message --------
Subject: [PATCH v1] setup: allow building with i686-w64-mingw32
Date: Sun, 03 Jun 2012 09:19:29 -0500
From: Yaakov (Cygwin/X) <yselkowitz@...>
To: cygwin-apps@...

On 2012-06-01 02:45, Yaakov (Cygwin/X) wrote:
> Fedora has switched from the i686-pc-mingw32 toolchain to the
> {i686,x86_64}-w64-mingw32 toolchains in F17. This means that setup
> cannot currently be built on F17.

The attached draft patches for setup and mingw64-headers (r4913) allow
setup to be built cleanly and work correctly (AFAICS) with both i686
toolchains.

The code also compiles cleanly on x86_64-w64-mingw32 but needs some
additional LIBS as I circumvented autoload.c, which is clearly 32-bit
specific and should be unnecessary on 64-bit Windows (being new enough
to have all these functions).  This probably needs further functional
changes and probably isn't useful until we have a 64-bit Cygwin, but it
did expose some type incompatibilities.

(Continue reading)

JonY | 4 Jun 2012 04:29
Picon

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 6/3/2012 23:45, JonY wrote:

Resending because of Cygwin-apps block, accidentally left an email
address in.

> 
> Forwarding to mingw-w64 list.
> 
> Some of the headers modified is generated from WINE widl, so the
> preprocessor should be changed instead, jacek?
> 
> Kai, Ozkan, what do you make of these changes (mingw64-headers.patch)?
> 
> -------- Original Message --------
> Subject: [PATCH v1] setup: allow building with i686-w64-mingw32
> Date: Sun, 03 Jun 2012 09:19:29 -0500
> From: Yaakov (Cygwin/X)
> To: cygwin-apps
> 
> On 2012-06-01 02:45, Yaakov (Cygwin/X) wrote:
>> Fedora has switched from the i686-pc-mingw32 toolchain to the
>> {i686,x86_64}-w64-mingw32 toolchains in F17. This means that setup
>> cannot currently be built on F17.
> 
> The attached draft patches for setup and mingw64-headers (r4913) allow
> setup to be built cleanly and work correctly (AFAICS) with both i686
> toolchains.
> 
> The code also compiles cleanly on x86_64-w64-mingw32 but needs some
> additional LIBS as I circumvented autoload.c, which is clearly 32-bit
(Continue reading)

Kai Tietz | 4 Jun 2012 09:10

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

Hello,

here is my review about Yaakov's patch.

The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
or at least inconsistent.  As stdio.h has same macro.  At least a
libstdc++ bootstrap test is required for this change.

The hunks about guiddef.h are ok.
The hunk about ntdef.h is ok.  Also the changes for propkeydef.h header, too.

The hunk in winnt.h:
 <at>  <at>  -88,7 +88,7  <at>  <at>  extern "C" {

 #include <basetsd.h>

-#if defined(_X86_) || defined(__ia64__) || defined(__x86_64)
+#if defined(__W32API_USE_DLLIMPORT__) && (defined(_X86_) ||
defined(__ia64__) || defined(__x86_64))
 #define DECLSPEC_IMPORT __declspec(dllimport)
 #else
 #define DECLSPEC_IMPORT

I would like to see here a different macro-name and the logic needs to
be inverted.  Our default scenario uses dllimport and just in cygwin's
setup-case we don't want it.
So I would like to see here instead: !defined (__NO_USE_DLLIMPORT)

Rest of the hunks for winnt.h are ok.

(Continue reading)

Corinna Vinschen | 4 Jun 2012 09:20
Favicon

Re: [Mingw-w64-public] Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On Jun  4 09:10, Kai Tietz wrote:
> Hello,
> 
> here is my review about Yaakov's patch.
> 
> The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
> or at least inconsistent.  As stdio.h has same macro.  At least a
> libstdc++ bootstrap test is required for this change.
> 
> The hunks about guiddef.h are ok.
> The hunk about ntdef.h is ok.  Also the changes for propkeydef.h header, too.
> 
> The hunk in winnt.h:
>  <at>  <at>  -88,7 +88,7  <at>  <at>  extern "C" {
> 
>  #include <basetsd.h>
> 
> -#if defined(_X86_) || defined(__ia64__) || defined(__x86_64)
> +#if defined(__W32API_USE_DLLIMPORT__) && (defined(_X86_) ||
> defined(__ia64__) || defined(__x86_64))
>  #define DECLSPEC_IMPORT __declspec(dllimport)
>  #else
>  #define DECLSPEC_IMPORT
> 
> I would like to see here a different macro-name and the logic needs to
> be inverted.  Our default scenario uses dllimport and just in cygwin's
> setup-case we don't want it.
> So I would like to see here instead: !defined (__NO_USE_DLLIMPORT)
> 
> Rest of the hunks for winnt.h are ok.
(Continue reading)

Kai Tietz | 4 Jun 2012 09:35

Re: [Mingw-w64-public] Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

2012/6/4 Corinna Vinschen:
> On Jun  4 09:10, Kai Tietz wrote:
>> Hello,
>>
>> here is my review about Yaakov's patch.
>>
>> The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
>> or at least inconsistent.  As stdio.h has same macro.  At least a
>> libstdc++ bootstrap test is required for this change.
>>
>> The hunks about guiddef.h are ok.
>> The hunk about ntdef.h is ok.  Also the changes for propkeydef.h header, too.
>>
>> The hunk in winnt.h:
>>  <at>  <at>  -88,7 +88,7  <at>  <at>  extern "C" {
>>
>>  #include <basetsd.h>
>>
>> -#if defined(_X86_) || defined(__ia64__) || defined(__x86_64)
>> +#if defined(__W32API_USE_DLLIMPORT__) && (defined(_X86_) ||
>> defined(__ia64__) || defined(__x86_64))
>>  #define DECLSPEC_IMPORT __declspec(dllimport)
>>  #else
>>  #define DECLSPEC_IMPORT
>>
>> I would like to see here a different macro-name and the logic needs to
>> be inverted.  Our default scenario uses dllimport and just in cygwin's
>> setup-case we don't want it.
>> So I would like to see here instead: !defined (__NO_USE_DLLIMPORT)
>>
(Continue reading)

Ozkan Sezer | 4 Jun 2012 09:36
Picon

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On Mon, Jun 4, 2012 at 10:10 AM, Kai Tietz <ktietz70@...> wrote:
> Hello,
>
> here is my review about Yaakov's patch.
>
> The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
> or at least inconsistent.  As stdio.h has same macro.  At least a
> libstdc++ bootstrap test is required for this change.
>
> The hunks about guiddef.h are ok.
> The hunk about ntdef.h is ok.  Also the changes for propkeydef.h header, too.
>
> The hunk in winnt.h:
>  <at>  <at>  -88,7 +88,7  <at>  <at>  extern "C" {
>
>  #include <basetsd.h>
>
> -#if defined(_X86_) || defined(__ia64__) || defined(__x86_64)
> +#if defined(__W32API_USE_DLLIMPORT__) && (defined(_X86_) ||
> defined(__ia64__) || defined(__x86_64))
>  #define DECLSPEC_IMPORT __declspec(dllimport)
>  #else
>  #define DECLSPEC_IMPORT
>
> I would like to see here a different macro-name and the logic needs to
> be inverted.  Our default scenario uses dllimport and just in cygwin's
> setup-case we don't want it.
> So I would like to see here instead: !defined (__NO_USE_DLLIMPORT)
>
> Rest of the hunks for winnt.h are ok.
(Continue reading)

Yaakov (Cygwin/X | 12 Jun 2012 06:31
Picon
Gravatar

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-04 02:10, Kai Tietz wrote:
> The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
> or at least inconsistent.  As stdio.h has same macro.  At least a
> libstdc++ bootstrap test is required for this change.

Currently I get:

/usr/i686-w64-mingw32/sys-root/mingw/lib/libmsvcrt.a(daqubs01139.o):(.text+0x0): 
multiple definition of `_swprintf'
io_stream_file.o:/usr/i686-w64-mingw32/sys-root/mingw/include/wchar.h:547: 
first defined here

How about this change instead to both headers:

--- crt/wchar.h (revision 5094)
+++ crt/wchar.h (working copy)
 <at>  <at>  -450,10 +450,10  <at>  <at> 
    int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, 
const wchar_t * __restrict__ , va_list);

  #undef __mingw_ovr
-#ifdef __cplusplus
-#define __mingw_ovr  inline __cdecl
-#elif defined (__GNUC__)
+#if defined (__GNUC__)
  #define __mingw_ovr static __attribute__ ((__unused__)) __inline__ __cdecl
+#elif defined(__cplusplus)
+#define __mingw_ovr inline __cdecl
  #else
  #define __mingw_ovr static __cdecl
(Continue reading)

Kai Tietz | 12 Jun 2012 11:37

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

2012/6/12 Yaakov (Cygwin/X) <yselkowitz@...>:
> On 2012-06-04 02:10, Kai Tietz wrote:
>>
>> The change in crt/wchar.h about __mingw_ovr macro looks wrong to me,
>> or at least inconsistent.  As stdio.h has same macro.  At least a
>> libstdc++ bootstrap test is required for this change.
>
>
> Currently I get:
>
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libmsvcrt.a(daqubs01139.o):(.text+0x0):
> multiple definition of `_swprintf'
> io_stream_file.o:/usr/i686-w64-mingw32/sys-root/mingw/include/wchar.h:547:
> first defined here
>
> How about this change instead to both headers:
>
> --- crt/wchar.h (revision 5094)
> +++ crt/wchar.h (working copy)
>  <at>  <at>  -450,10 +450,10  <at>  <at> 
>   int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const
> wchar_t * __restrict__ , va_list);
>
>  #undef __mingw_ovr
> -#ifdef __cplusplus
> -#define __mingw_ovr  inline __cdecl
> -#elif defined (__GNUC__)
> +#if defined (__GNUC__)
>  #define __mingw_ovr static __attribute__ ((__unused__)) __inline__ __cdecl
> +#elif defined(__cplusplus)
(Continue reading)

Yaakov (Cygwin/X | 14 Jun 2012 12:33
Picon
Gravatar

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-12 04:37, Kai Tietz wrote:
> 2012/6/12 Yaakov (Cygwin/X):
>> Currently I get:
>>
>> /usr/i686-w64-mingw32/sys-root/mingw/lib/libmsvcrt.a(daqubs01139.o):(.text+0x0):
>> multiple definition of `_swprintf'
>> io_stream_file.o:/usr/i686-w64-mingw32/sys-root/mingw/include/wchar.h:547:
>> first defined here
>>
>> How about this change instead to both headers:
>>
>> --- crt/wchar.h (revision 5094)
>> +++ crt/wchar.h (working copy)
>>  <at>  <at>  -450,10 +450,10  <at>  <at> 
>>    int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const
>> wchar_t * __restrict__ , va_list);
>>
>>   #undef __mingw_ovr
>> -#ifdef __cplusplus
>> -#define __mingw_ovr  inline __cdecl
>> -#elif defined (__GNUC__)
>> +#if defined (__GNUC__)
>>   #define __mingw_ovr static __attribute__ ((__unused__)) __inline__ __cdecl
>> +#elif defined(__cplusplus)
>> +#define __mingw_ovr inline __cdecl
>>   #else
>>   #define __mingw_ovr static __cdecl
>>   #endif
>
> Hmm, that's looking wrong to me, too.  __GNUC__ gets defined also for
(Continue reading)

Jacek Caban | 4 Jun 2012 11:04

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/03/12 17:45, JonY wrote:
> Forwarding to mingw-w64 list.
>
> Some of the headers modified is generated from WINE widl, so the
> preprocessor should be changed instead, jacek?
>

Where? I don't see any. There is one change to propkeydef.h, but and I
believe incorrect. Generally, this patch makes REFIID and similar
typedefs depend on CINTERFACE, which is not present in MSVC. Changing it
is a serious danger for compatibility. Why is it needed?

Jacek

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
JonY | 4 Jun 2012 12:00
Picon

Re: [Mingw-w64-public] Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 6/4/2012 17:04, Jacek Caban wrote:
> On 06/03/12 17:45, JonY wrote:
>> Forwarding to mingw-w64 list.
>>
>> Some of the headers modified is generated from WINE widl, so the
>> preprocessor should be changed instead, jacek?
>>
> 
> Where? I don't see any. There is one change to propkeydef.h, but and I
> believe incorrect. Generally, this patch makes REFIID and similar
> typedefs depend on CINTERFACE, which is not present in MSVC. Changing it
> is a serious danger for compatibility. Why is it needed?
> 
> Jacek
> 

To clear things up, CINTERFACE is used for the style interface
declaration, nothing to do with REFIID.

In C++, it seems to be typical to use references rather than pointers to
refer to IIDs, so hopefully Cygwin can fix the usage on their side.

JonY | 6 Jun 2012 11:17
Picon

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 6/4/2012 18:00, JonY wrote:
> On 6/4/2012 17:04, Jacek Caban wrote:
>> On 06/03/12 17:45, JonY wrote:
>>> Forwarding to mingw-w64 list.
>>>
>>> Some of the headers modified is generated from WINE widl, so the
>>> preprocessor should be changed instead, jacek?
>>>
>>
>> Where? I don't see any. There is one change to propkeydef.h, but and I
>> believe incorrect. Generally, this patch makes REFIID and similar
>> typedefs depend on CINTERFACE, which is not present in MSVC. Changing it
>> is a serious danger for compatibility. Why is it needed?
>>
>> Jacek
>>
> 
> To clear things up, CINTERFACE is used for the style interface
> declaration, nothing to do with REFIID.
> 
> In C++, it seems to be typical to use references rather than pointers to
> refer to IIDs, so hopefully Cygwin can fix the usage on their side.
> 

Ping, Yaakov.

------------------------------------------------------------------------------
Live Security Virtual Conference
(Continue reading)

Kai Tietz | 11 Jun 2012 22:27

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

Yaakov, ping.

Not sure if you still have interest to get your patch into our
repository.  The part about hiding dllimport needs a change in your
patch.  Also your changes about MIDL part (see Jacek's comment for
this) need adjustment. I am still waiting for a revised version or it.
As soon as this patch will be approved and applied to our repository,
it will get into Fedora, too.

Regards,
Kai

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Yaakov (Cygwin/X | 12 Jun 2012 07:06
Picon
Gravatar

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-04 04:04, Jacek Caban wrote:
> Where? I don't see any. There is one change to propkeydef.h, but and I
> believe incorrect. Generally, this patch makes REFIID and similar
> typedefs depend on CINTERFACE, which is not present in MSVC.

According to these, it is:

http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f

Yaakov
Cygwin/X

Jacek Caban | 12 Jun 2012 10:51

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
> On 2012-06-04 04:04, Jacek Caban wrote:
>> Where? I don't see any. There is one change to propkeydef.h, but and I
>> believe incorrect. Generally, this patch makes REFIID and similar
>> typedefs depend on CINTERFACE, which is not present in MSVC.
> According to these, it is:
>
> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
> http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f

If there is any source of informations more misleading than MSDN, that's
MSDN forums:) Why do you need that change? That's not what mingw.org
does nor MSVC, so why is it needed for your code? Can you please point
me to the code that doesn't compile without this change?

Jacek

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Jacek Caban | 12 Jun 2012 11:11

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/12/12 10:51, Jacek Caban wrote:
> On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
>> On 2012-06-04 04:04, Jacek Caban wrote:
>>> Where? I don't see any. There is one change to propkeydef.h, but and I
>>> believe incorrect. Generally, this patch makes REFIID and similar
>>> typedefs depend on CINTERFACE, which is not present in MSVC.
>> According to these, it is:
>>
>> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
>> http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f
> If there is any source of informations more misleading than MSDN, that's
> MSDN forums:) Why do you need that change? That's not what mingw.org
> does nor MSVC, so why is it needed for your code? Can you please point
> me to the code that doesn't compile without this change?

I double checked and mingw.org apparently has this bug. Anyway, that's
still a bug on their side that I don't think we want to duplicate.

Jacek

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Earnie Boyd | 12 Jun 2012 12:53
Picon

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On Tue, Jun 12, 2012 at 5:11 AM, Jacek Caban wrote:
> On 06/12/12 10:51, Jacek Caban wrote:
>> On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
>>> On 2012-06-04 04:04, Jacek Caban wrote:
>>>> Where? I don't see any. There is one change to propkeydef.h, but and I
>>>> believe incorrect. Generally, this patch makes REFIID and similar
>>>> typedefs depend on CINTERFACE, which is not present in MSVC.
>>> According to these, it is:
>>>
>>> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx

Isn't this specific to COM and an IDL compiler?

<quote>
Remarks

By default, only COM-interfaces that are base classes of the coclass
are added in the IDL coclass. implements lets you force other
interfaces to be IDL coclass members.
</quote>

>>> http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
>>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
>>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f

I didn't bother looking at social.msdn because it might influence me
with code I don't want to see.

>> If there is any source of informations more misleading than MSDN, that's
>> MSDN forums:) Why do you need that change? That's not what mingw.org
(Continue reading)

Earnie Boyd | 12 Jun 2012 12:55
Picon

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On Tue, Jun 12, 2012 at 6:53 AM, Earnie Boyd wrote:
> We (mingw.org) doesn't support COM and never has.  A GCC supported IDL
> compiler would be great but whose going to pick up the support on
> that?

Please excuse my improper English, s/doesn't/do not/

--

-- 
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Jacek Caban | 12 Jun 2012 14:13

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/12/12 12:53, Earnie Boyd wrote:
> On Tue, Jun 12, 2012 at 5:11 AM, Jacek Caban wrote:
>> On 06/12/12 10:51, Jacek Caban wrote:
>>> On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
>>>> On 2012-06-04 04:04, Jacek Caban wrote:
>>>>> Where? I don't see any. There is one change to propkeydef.h, but and I
>>>>> believe incorrect. Generally, this patch makes REFIID and similar
>>>>> typedefs depend on CINTERFACE, which is not present in MSVC.
>>>> According to these, it is:
>>>>
>>>> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
> Isn't this specific to COM and an IDL compiler?
>
> <quote>
> Remarks
>
> By default, only COM-interfaces that are base classes of the coclass
> are added in the IDL coclass. implements lets you force other
> interfaces to be IDL coclass members.
> </quote>

There is some misunderstanding here, perhaps I wasn't clear enough,
sorry. Let me explain it in more details.

IDL interfaces (and classes) have two forms. One is class-based for C++
and another is struct-based for C. Those are binary compatible as the C
version contains C++-compatible vtbls. It's possible to use C form of
interfaces from C++. That's what CINTERFACE does - it causes headers to
use C variant of interfaces even when compiled in C++. That's all fine
AFAIK in both mingw-w64 and mingw.org and the proposed patch doesn't
(Continue reading)

Yaakov (Cygwin/X | 14 Jun 2012 11:55
Picon
Gravatar

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-12 03:51, Jacek Caban wrote:
> On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
>> On 2012-06-04 04:04, Jacek Caban wrote:
>>> Where? I don't see any. There is one change to propkeydef.h, but and I
>>> believe incorrect. Generally, this patch makes REFIID and similar
>>> typedefs depend on CINTERFACE, which is not present in MSVC.
>> According to these, it is:
>>
>> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
>> http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f
>
> If there is any source of informations more misleading than MSDN, that's
> MSDN forums:) Why do you need that change? That's not what mingw.org
> does

Both mingw.org and Wine support CINTERFACE wrt the REF*ID defines.

Yaakov

Jacek Caban | 15 Jun 2012 10:46

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/14/12 11:55, Yaakov (Cygwin/X) wrote:
> On 2012-06-12 03:51, Jacek Caban wrote:
>> On 06/12/12 07:06, Yaakov (Cygwin/X) wrote:
>>> On 2012-06-04 04:04, Jacek Caban wrote:
>>>> Where? I don't see any. There is one change to propkeydef.h, but and I
>>>> believe incorrect. Generally, this patch makes REFIID and similar
>>>> typedefs depend on CINTERFACE, which is not present in MSVC.
>>> According to these, it is:
>>>
>>> http://msdn.microsoft.com/en-us/library/ak5wyby1(v=vs.71).aspx
>>> http://social.msdn.microsoft.com/forums/en/vcgeneral/thread/80485378-3978-472b-ac76-a6a193cb9e47
>>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9e520505-5d05-4aad-83d9-a1b73042c531
>>> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9b1b2189-c518-4cd8-80cc-2656b9c0d37f
>> If there is any source of informations more misleading than MSDN, that's
>> MSDN forums:) Why do you need that change? That's not what mingw.org
>> does
> Both mingw.org and Wine support CINTERFACE wrt the REF*ID defines.
>

Thanks for the report, I've fixed Wine [1]. About mingw.org, it's up to
them, they are aware of the bug.

I took a look at Cygwin's source to see what all this discussion is
about and the problem is easier than I expected. It's just a matter of
one CoCreateInstance call that hits the problem, so even ugly ifdefs
wouldn't hurt too much. Anyway, I don't see why you use CINTERFACE at
all. Dropping it seems like a nice clean up and will solve the problem
(C++ variants of REF*IDs are compatible in all mingw variants and MSVC,
I believe). See the attached (not even compile-tested) patch. To fix the
problem, its main.cc part is enough. mlink2.cc is just a clean up.
(Continue reading)

Yaakov (Cygwin/X | 15 Jun 2012 11:42
Picon
Gravatar

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 2012-06-15 03:46, Jacek Caban wrote:
> On 06/14/12 11:55, Yaakov (Cygwin/X) wrote:
>> Both mingw.org and Wine support CINTERFACE wrt the REF*ID defines.
>
> Thanks for the report, I've fixed Wine [1].

Not AFAICS.  Look at all the places where REF*ID is taken as an argument 
which are conditional on CINTERFACE, e.g. later in Wine's guiddef.h, I 
don't think the CINTERFACE IsEqualGUID is going to work with C++ REF*ID 
types.  Also, you won't be able to test equality with C++ types without 
the operators.

Look also at mingw-w64's shobjidl.h (among others); the CINTERFACE 
QueryInterface vfuncs take REF*ID arguments, are those going to compile 
with C++ REF*ID?  I'm sure I could find many more examples, but if you 
look at all the 183 headers which use CINTERFACE, most (all?) of which 
use REF*ID types, doesn't it make sense that REF*ID must be C types if 
CINTERFACE?

Yaakov
Cygwin/X

Jacek Caban | 15 Jun 2012 12:08

Re: Fwd: [PATCH v1] setup: allow building with i686-w64-mingw32

On 06/15/12 11:42, Yaakov (Cygwin/X) wrote:
> On 2012-06-15 03:46, Jacek Caban wrote:
>> On 06/14/12 11:55, Yaakov (Cygwin/X) wrote:
>>> Both mingw.org and Wine support CINTERFACE wrt the REF*ID defines.
>> Thanks for the report, I've fixed Wine [1].
> Not AFAICS.  Look at all the places where REF*ID is taken as an argument 
> which are conditional on CINTERFACE, e.g. later in Wine's guiddef.h, I 
> don't think the CINTERFACE IsEqualGUID is going to work with C++ REF*ID 
> types.  Also, you won't be able to test equality with C++ types without 
> the operators.
>
> Look also at mingw-w64's shobjidl.h (among others); the CINTERFACE 
> QueryInterface vfuncs take REF*ID arguments, are those going to compile 
> with C++ REF*ID?

Sure they are going to compile, why not? You simply have to pass it as a
C++ reference, not a pointer. It's only the code that followed *broken*
mingw.org behaviour won't work.

> I'm sure I could find many more examples, but if you 
> look at all the 183 headers which use CINTERFACE, most (all?) of which 
> use REF*ID types, doesn't it make sense that REF*ID must be C types if 
> CINTERFACE?

I've explained it a few times already. Can you please take my patch
(call it clean up if you don't consider it a fix) and be done with it?

Jacek

------------------------------------------------------------------------------
(Continue reading)

Yaakov (Cygwin/X | 30 Aug 2012 03:57
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On Fri, 2012-06-01 at 02:45 -0500, Yaakov (Cygwin/X) wrote: 
> The attached draft patch fixes most of the issues with the build.  (I 
> just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h 
> needs some more work though; perhaps JonY could provide some input?

Revised patches for mingw-w64-headers SVN HEAD attached.

Yaakov

Attachment (0001-crt-cdecl.patch): text/x-patch, 1387 bytes
Attachment (0002-duplicate-defs.patch): text/x-patch, 5495 bytes
Attachment (0003-winternl-fixes.patch): text/x-patch, 1854 bytes
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@...
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Ozkan Sezer | 30 Aug 2012 10:06
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 8/30/12, Yaakov (Cygwin/X) <yselkowitz@...> wrote:
> On Fri, 2012-06-01 at 02:45 -0500, Yaakov (Cygwin/X) wrote:
>> The attached draft patch fixes most of the issues with the build.  (I
>> just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h
>> needs some more work though; perhaps JonY could provide some input?
>
> Revised patches for mingw-w64-headers SVN HEAD attached.
>
>
> Yaakov

I applied the last winternals patch as obvious to both stable/v2.x (r5376)
and to trunk (r5377.)

--
O.S.

PS: Your work tree seems not up-to-date: patch applied with offsets.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Yaakov (Cygwin/X | 30 Aug 2012 11:57
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On Thu, 2012-08-30 at 11:06 +0300, Ozkan Sezer wrote: 
> I applied the last winternals patch as obvious to both stable/v2.x (r5376)
> and to trunk (r5377.)

Thank you.

> PS: Your work tree seems not up-to-date: patch applied with offsets.

Simply a matter of applying patch 3 before patch 2 (which also touches
winternl.h).

Yaakov

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
JonY | 3 Sep 2012 12:57
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 8/30/2012 17:57, Yaakov (Cygwin/X) wrote:
> On Thu, 2012-08-30 at 11:06 +0300, Ozkan Sezer wrote: 
>> I applied the last winternals patch as obvious to both stable/v2.x (r5376)
>> and to trunk (r5377.)
> 
> Thank you.
> 
>> PS: Your work tree seems not up-to-date: patch applied with offsets.
> 
> Simply a matter of applying patch 3 before patch 2 (which also touches
> winternl.h).
> 
> 
> Yaakov

I'm not so sure about the 1st patch, 2nd patch looks OK. Ozkan, any
comments?

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@...
(Continue reading)

Ozkan Sezer | 3 Sep 2012 13:03
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 9/3/12, JonY <jon_y@...> wrote:
> On 8/30/2012 17:57, Yaakov (Cygwin/X) wrote:
>> On Thu, 2012-08-30 at 11:06 +0300, Ozkan Sezer wrote:
>>> I applied the last winternals patch as obvious to both stable/v2.x
>>> (r5376)
>>> and to trunk (r5377.)
>>
>> Thank you.
>>
>>> PS: Your work tree seems not up-to-date: patch applied with offsets.
>>
>> Simply a matter of applying patch 3 before patch 2 (which also touches
>> winternl.h).
>>
>>
>> Yaakov
>
> I'm not so sure about the 1st patch, 2nd patch looks OK. Ozkan, any
> comments?
>

No comments from me.

--
O.S.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
(Continue reading)

JonY | 4 Sep 2012 12:17
Picon

Re: [RFC] setup: allow building with i686-w64-mingw32

On 9/3/2012 19:03, Ozkan Sezer wrote:
> On 9/3/12, JonY wrote:
>> On 8/30/2012 17:57, Yaakov (Cygwin/X) wrote:
>>> On Thu, 2012-08-30 at 11:06 +0300, Ozkan Sezer wrote:
>>>> I applied the last winternals patch as obvious to both stable/v2.x
>>>> (r5376)
>>>> and to trunk (r5377.)
>>>
>>> Thank you.
>>>
>>>> PS: Your work tree seems not up-to-date: patch applied with offsets.
>>>
>>> Simply a matter of applying patch 3 before patch 2 (which also touches
>>> winternl.h).
>>>
>>>
>>> Yaakov
>>
>> I'm not so sure about the 1st patch, 2nd patch looks OK. Ozkan, any
>> comments?
>>
> 
> No comments from me.

OK, applied 1 and 2 to trunk.

------------------------------------------------------------------------------
Live Security Virtual Conference
(Continue reading)

Yaakov (Cygwin/X | 30 Aug 2012 11:50
Picon
Gravatar

Re: [RFC] setup: allow building with i686-w64-mingw32

On Wed, 2012-08-29 at 20:57 -0500, Yaakov (Cygwin/X) wrote: 
> On Fri, 2012-06-01 at 02:45 -0500, Yaakov (Cygwin/X) wrote: 
> > The attached draft patch fixes most of the issues with the build.  (I 
> > just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h 
> > needs some more work though; perhaps JonY could provide some input?
> 
> Revised patches for mingw-w64-headers SVN HEAD attached.

Pending those changes, revised patch for setup attached.  Tested with
i686-pc-mingw32 and i686-w64-mingw32, as well as compile-only with
x86_64-w64-mingw32 (autoload.c still needs changes for x64, as do other
things when we get to that point).

Yaakov

Attachment (setup-mingw64.patch): text/x-patch, 22 KiB
Christopher Faylor | 30 Aug 2012 16:11
Favicon

Re: [RFC] setup: allow building with i686-w64-mingw32

On Thu, Aug 30, 2012 at 04:50:24AM -0500, Yaakov (Cygwin/X) wrote:
>On Wed, 2012-08-29 at 20:57 -0500, Yaakov (Cygwin/X) wrote: 
>> On Fri, 2012-06-01 at 02:45 -0500, Yaakov (Cygwin/X) wrote: 
>> > The attached draft patch fixes most of the issues with the build.  (I 
>> > just added the necessary mingw64-i686-* libraries to Ports.)  ntdll.h 
>> > needs some more work though; perhaps JonY could provide some input?
>> 
>> Revised patches for mingw-w64-headers SVN HEAD attached.
>
>Pending those changes, revised patch for setup attached.  Tested with
>i686-pc-mingw32 and i686-w64-mingw32, as well as compile-only with
>x86_64-w64-mingw32 (autoload.c still needs changes for x64, as do other
>things when we get to that point).

Once those changes are available, feel free to check this in.

cgf


Gmane