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

2012-06-11 Thread Kai Tietz
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


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

2012-06-06 Thread JonY
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.



signature.asc
Description: OpenPGP digital signature


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

2012-06-04 Thread JonY
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.



signature.asc
Description: OpenPGP digital signature


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

2012-06-04 Thread Kai Tietz
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:
>> @@ -88,7 +88,7 @@ extern "C" {
>>
>>  #include 
>>
>> -#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.
>>
>> The hunks about winternl.header are ok, beside one nit.  The change in
>> FILE_RENAME_INFORMATION about RootDir from HANDLE to ULONG type I am
>
> Did I miss something?  I only see a name change:
>
>  -    BOOLEAN Replace;
>  -    HANDLE RootDir;
>  +    BOOLEAN ReplaceIfExists;
>  +    HANDLE RootDirectory;
>
> The latter names are the ones from MSDN:
> http://msdn.microsoft.com/en-us/library/windows/hardware/ff540344%28v=vs.85%29.aspx
>
>
> Corinna

Ups, I mis-read that.  Yes, indeed. change about winternl.h header are ok.

Sorry,
Kai


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

2012-06-04 Thread 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:
> @@ -88,7 +88,7 @@ extern "C" {
> 
>  #include 
> 
> -#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.
> 
> The hunks about winternl.header are ok, beside one nit.  The change in
> FILE_RENAME_INFORMATION about RootDir from HANDLE to ULONG type I am

Did I miss something?  I only see a name change:

  -BOOLEAN Replace;
  -HANDLE RootDir;
  +BOOLEAN ReplaceIfExists;
  +HANDLE RootDirectory;

The latter names are the ones from MSDN:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540344%28v=vs.85%29.aspx


Corinna

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


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

2012-06-04 Thread Kai Tietz
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:
@@ -88,7 +88,7 @@ extern "C" {

 #include 

-#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.

The hunks about winternl.header are ok, beside one nit.  The change in
FILE_RENAME_INFORMATION about RootDir from HANDLE to ULONG type I am
not sure.  If it should be a integer-scalar instead of a pointer, is
it sure that it is for 64-bit also just 32-bit wide?  I would think we
should use here DWORD_PTR instead.


Regards,
Kai