This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [WIP] mingw64 related changes to Cygwin configure and other assorted files with departed w32api/mingw


On Tue, Nov 13, 2012 at 10:33:01AM +0100, Corinna Vinschen wrote:
>On Nov 12 22:31, Christopher Faylor wrote:
>> On Mon, Nov 12, 2012 at 07:02:57PM -0500, Christopher Faylor wrote:
>> >On Mon, Nov 12, 2012 at 10:50:23PM +0100, Corinna Vinschen wrote:
>> >>I'm a bit puzzled about the necessity of some of the changes to source
>> >>files.  Yaakov's Fedora 17 version of the headers is supposedly cut from
>> >>the mingw64 trunk on 2012-10-16, while JonY's official headers have an
>> >>upload date of 2012-10-18.  They should be practically identical.  Why
>> >>do I not see any problems to build CVS HEAD?!?
>> >
>> >You can keep asking me this question but I don't really have an answer.
>> >Since I don't run Fedora, I'm not going to install it to figure it out.
>
>I just checked and there's no difference in the header files at all.
>Yaakov's version == JonY's version.
>
>> Actually, an idea came to me in the thinking room that this might be due
>> to the fact that my windows headers may not be considered to be system
>> headers since they aren't in a preinstalled location.  I know that gcc
>> can be more lax about redefine symbols in some situations when dealing
>> with system headers.  Maybe that's it.
>
>Looks like it.  The w32api headers are system headers so -isystem rather
>than -idirafter should show a better result without requiring any of the
>source file changes.

Maybe I can use -isystem with ccwraper.  I'd previously gotten things
working without the wrapper, using idirafter so that's what I stuck
with.  However, the wrapper may now allow just always including the
windows headers last.

>Especially having to define _WIN32 in winlean.h and winsup.h looks
>pretty wrong.  I would also like to keep the ifndef/define brackets in
>the headers since
>
>  #ifndef _CYGWIN_IF_H_
>  #define _CYGWIN_IF_H_
>
>can be tested for in other headers while #pragma once can not.

I think that testing for "BLAH_DECLARED" for individual definitions is a
much better way to see if something is defined than relying on an
implementation detail like "_CYGWIN_IF_H".  Those are not supposed to be
a published interface.  In theory anyone could change those to something
like:

#ifndef _CYGWIN_IF_INCLUDED
#define _CYGWIN_IF_INCLUDED

and they would have been within their rights to do that.  I always felt
that it was wrong to be testing for those guards, even when I was doing
it.

However, I won't check those changes in.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]