Hello,

Well, here's situation in utero:

PocketPC2003 SDK defines Shell_NotifyIcon. Yet there's MessageBoxW.
Apparently, for WinCE they decided to add W only for functions which
directly get LPTSTR, not indirectly via structures.

But on WinXP, shell32.dll has all 3 of Shell_NotifyIcon,
Shell_NotifyIconA, Shell_NotifyIconW (and w32api def too, but headers
lack Shell_NotifyIcon).

What a mess! And I'm still not sure how to deal with it. It depends on
the scope of effort. One thing is to run behind the vendor to support
its platform with alternative tools, and another is to maintain platform
they fail to maintain (PocketPC, WindowsMobile).



On Fri, 17 Dec 2010 15:46:55 +0200
Paul Sokolovsky <pmis...@gmail.com> wrote:

> Hello,
> 
> On Thu, 16 Dec 2010 23:48:20 +0200
> Paul Sokolovsky <pmis...@gmail.com> wrote:
> 
> []
> >
> http://www.mail-archive.com/cegcc-devel@lists.sourceforge.net/msg03053.html ,
> > 
> > And back to the issue at that link, I worked it around with the
> > following patch:
> > 
> > -BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); 
> > +BOOL WINAPI Shell_NotifyIcon(DWORD,PNOTIFYICONDATAW); 
> > -#define Shell_NotifyIcon Shell_NotifyIconW 
> > +//#define Shell_NotifyIcon Shell_NotifyIconW 
> > 
> > But where's correct place to resolve this issue? AFAIK, headers come
> > from w32api/mingw32, so extra-patching them makes little sense,
> > besises they seem to be correct per MS docs, which say that wince
> > has only "W" functions. I understand that coredll is dllinked by
> > oridinals, so names are secondary, but maybe libcoredll.a is what
> > actually should provide "W" symbols?
> 
> Update: turns out that .def files don't have ordinals, so, at least on
> the level of implibs, they are not used. I also see how this issue
> being handled:
> 
> winuser.h:
> #ifndef _WIN32_WCE 
> WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
> WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
> WINUSERAPI LONG WINAPI
> ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
> WINUSERAPI LONG WINAPI
> ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
> #else /* _WIN32_WCE */ WINUSERAPI LONG WINAPI
> ChangeDisplaySettingsEx(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
> #endif /* _WIN32_WCE */ 
> 
> But that goes out of hand IMHO, as if it's not enough that MS dupped
> every string-receiving function, and everyone actually maintains 2
> defs instead of employing some preprocessor to generate them out of
> common description. Duplication (triplication?) leads to apparent
> errors, like:
> 
> #ifdef _WIN32_WCE 
> WINUSERAPI BOOL WINAPI SetProp(HWND,LPCSTR,HANDLE);
> #else 
> WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
> WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
> #endif 
> 
> Note pointer type in SetProp().
> 
> 
> So, this should be handled differently. Quick idea is to use implib
> aliasing, like
> 
> SetPropW=SetProp
> 
> That assumes that coredll.dll indeed exports A/W-less functions.
> Seeing's believing, but it's locked on device, google is noisy, and
> have no idea where my own rom dumps...
> 
> > 
> > > 
> > > But this is from memory, I may have forgotten some aspects.
> > > 
> > > Note that I can provide SVN write access on the cegcc project for
> > > those who want to do real work on it.
> > 
> > I guess, with the current situation, scope should change from
> > maintaining a project repo to maintaining a project patch, with the
> > implication it has (minimize patch size, avoid changing which can be
> > not changed). And I agree with previous people who spoke on this,
> > git should be the tool for maintenance.
> > 
> > That said, I already find me diffing build-mingw32ce.sh &
> > build-x86.sh, expectably finding them to be cases of code
> > duplication and expectably having random divergences due to this,
> > and trying to patch those divergences away. So, if I finish and
> > submit patch for that, we can discuss this further.
> > 
> > But what I'd appreciate is mediawiki write access, so I at least can
> > collect gnu-wince related links in a public place. My SF username is
> > 'pfalcon'. Thanks.
> > 
> > 
> > > 
> > >   Danny
> > > 
> > > On Thu, 2010-12-16 at 06:11 +0200, Paul Sokolovsky wrote:
> > > > Hello,
> > > > 
> > > > Well, ok, should have read the list archive a bit more ;-).
> > > > Pedro Alves' cleanup:
> > > > http://article.gmane.org/gmane.comp.gnu.cegcc.devel/2839
> > > > 
> > > > I'd still ask for other parties' patchsets, as that one is
> > > > year's old, and for gcc only apparently.
> > > > 
> > > > On Thu, 16 Dec 2010 05:55:23 +0200
> > > > Paul Sokolovsky <pmis...@gmail.com> wrote:
> > > > 
> > > > > Hello,
> > > > > 
> > > > > I'd like to ask people who worked on producing a cegcc
> > > > > patchset/porting cegcc to newer versions of binutils/gcc to
> > > > > share any results they have, no matter how incomplete or
> > > > > preliminary they are (I in particular cc: Pavel Pavlov who
> > > > > worked on this at the summer per his posts to the mailing
> > > > > list). Just seeing size of patches and curious peek inside can
> > > > > give info/motivation someone needs to continue the work.
> > > > > 
> > > > > -- 
> > > > > Best regards,
> > > > >  Paul                          mailto:pmis...@gmail.com
> > > > 
> > > > 
> > > > 
> > > 
> > > -- 
> > > Danny Backx ; danny.backx - at - scarlet.be ;
> > > http://danny.backx.info
> > > 
> > 
> > 
> > 
> > -- 
> > Best regards,
> >  Paul                          mailto:pmis...@gmail.com
> > 
> > ------------------------------------------------------------------------------
> > Lotusphere 2011
> > Register now for Lotusphere 2011 and learn how
> > to connect the dots, take your collaborative environment
> > to the next level, and enter the era of Social Business.
> > http://p.sf.net/sfu/lotusphere-d2d
> > _______________________________________________
> > Cegcc-devel mailing list
> > Cegcc-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/cegcc-devel
> 
> 
> 
> -- 
> Best regards,
>  Paul                          mailto:pmis...@gmail.com



-- 
Best regards,
 Paul                          mailto:pmis...@gmail.com

------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to