On Saturday 25 December 2010 14:14:10, Paul Sokolovsky wrote:
> On Sat, 25 Dec 2010 12:46:08 +0000
> Pedro Alves <alves....@gmail.com> wrote:
> 
> > On Friday 24 December 2010 22:22:56, Paul Sokolovsky wrote:
> > > Hello,
> > > 
> > > Anyone can explain me meanings and differences between _WIN32_CE &
> > > UNDER_CE ? UNDER_CE is not defined by CeGCC, while used for some
> > > #ifdefs. I'm going to replace these with _WIN32_CE in my clean up
> > > work so far.
> > 
> > Would be useful to know what is it you're thinking you're cleaning up.
> 
> Hello Pedro, nice to have your attention ;-). I recently sent
> several mails to the list pondering how to make what cegcc achieved
> more maintainable. In short, my ideas were: extract patches from cegcc
> svn repo, clean them up to contain only wince-pertinent changes and
> optimize for size (change as little as possible), 

Hello! :-)

IIRC, the w32api wince changes compared to upstream aren't that many
or that invasive that cause trouble when merging from upstream.  The
scheme I was following, was that I kept the CVS (metadata) directories
in our svn repository, so a merge from upstream is literally just a
regular cvs update, and whole diff from upstream is just a "cvs diff".

> then use modern SCM
> which allows to track upstream close and maintained changes in flexible
> manner (read: git).
> 
> I currently try to to this for w32api, following procedure I outlined at
> http://article.gmane.org/gmane.comp.gnu.cegcc.devel/3163 (even though I
> already see drawbacks there).

I haven't looked at your git tree, but I'm not sure what we'd be really
buying with your suggestion.  Instead of adding/removing ifdefs, we're now
actually _changing_ declarations, which is troublesome in its own way at
merge time.  It also hides things from grep and from users when the
compiler/IDEs points "wrong arguments, here's the declaration", so I'm
not convinced it's a change we want.

> Ok, sounds good, rules for mingw are clear. But original question
> popped up while looking at w32api:
> 
> $ grep -r -n UNDER_CE --exclude-dir=.svn w32api/include/
> w32api/include/ws2tcpip.h:44:#ifdef UNDER_CE
> w32api/include/winbase.h:813:#ifdef UNDER_CE
> w32api/include/winbase.h:1189:#ifndef UNDER_CE

Agreed.  The winbase.h:813 change (r1278) should have never gone
in like that though :-( :-(

> r1278 | dannybackx | 2009-05-18 11:57:49 +0100 (Seg, 18 Mai 2009) | 2 linhas
> 
> Definition for CE for CRITICAL_SECTION taken from 
> http://fpc.freedoors.org/fpc-2.2.0.source/rtl/win/sysosh.inc under LGPL 
> license.

Argh.  LGPL code in w32api headers is not allowed.  :-/

> 
> $ grep -r -n _WIN32_WCE --exclude-dir=.svn w32api/include/ | wc -l
> 174
> 
> As w32api defines _WIN32_WCE first thing and already uses it in 99%
> cases, maybe it should use it exclusively?

Sure.

-- 
Pedro Alves

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to