Sorry, I think I've just lost one of your recent mails.
I think you asked what did I have against

> >     #if defined(__CEGCC__) || defined(__MINGW32CE__)
> >     #include <cegcc.h>
> >     #endif

In the current wince, the file "cegcc.h" does not exist.
Hence, if you use the above code, you will get a compiler error.
There is no way to protect against it, because we cannot test for the
MINGW32CE_VERSION now, as it does not exist.

In worst case, I can of course write that the source code is not
backwards compatible and it will not compile on cegcc older than
WHATEVER_VERSION, but I don't really like that idea.

The easiest solution would be to "reuse" the __CEGCC__/__MINGW32CE__:
        #if ( defined(__CEGCC__) && (__CEGCC__ >= _SOME_MAGIC_VALUE_) ) || ( 
defined(__MINGW32CE__) && (__MINGW32CE__ >= SOME_MAGIC_VALUE_) )

Now, if you do not want to "reuse" these symbols, I see two solutions:
1. one puts an additional predefined macro _HAS_VERSION_
        #if defined(_HAS_VERSION_) && (defined(__CEGCC__) || 
defined(__MINGW32CE__))
   where the value of the _HAS_VERSION_ does not matter, but it must be
   predefined in one of the standard system files that exist now (i.e.
   that existed also yesterday and the day before) - which means that you
   need to modify one of the system files anyhow, so ...
2. ... why not put the "version definition" directly into this modified
   file, without any need for an additional "meaningless" helper-macro?
        #if defined(MINGW32CE_VERSION) && ( ... )
   where the MINGW32CE_VERSION could be either the macro that "calculates"
   the version, of just the "mingw32ce calculated version" itself.

For the time being, I think the best place would be the "winver.h" file.
The good thing is that it is automatically included by "stdlib.h",
"windows.h" and "winresrc.h".
Hence, one would automatically get MINGW32CE_VERSION in all important
utilities, including the "windres" (yes, I did need to implement different
behavior in an ".rc" file, which was compiler dependent - in the future
version I would prefer to have more "detailed" way to specify the
properties - this has led me to the conclusion that, this macro cannot
be "embedded" into the compiler itself as the "windres" needs it, too
- it needs to be put in an include file, I think).

(If there was something more in this lost mail, let me know.)

Best regards,
Jacek.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to