Re: [Mingw-w64-public] 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
Re: [Mingw-w64-public] 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. signature.asc Description: OpenPGP digital signature
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. signature.asc Description: OpenPGP digital signature
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: >> @@ -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
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
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