Things look like they work okay with Clang 3.4 under Ubuntu 12.04.

If this breaks for someone who's actively using CoreBase in C-only code
without GNUstep Base, then we can deal with it at that point. But since
CoreBase is primarily used in combination with Base, then it's better to
simply include GSVersionMacros.h.

On Wed, Jul 3, 2013 at 1:34 PM, Stefan Bidi <[email protected]> wrote:

> From what I can remember, GSVersionMacros.h does break CoreBase.  I
> believe the problem was that it includes another header that has some ObjC
> code in it and so cannot be included in C only files.  This situation could
> have changed since I last tried it.
>
>
> Lubos, is correct, though.  Those macros are a mess.  I've somewhat just
> stopped worrying about them and haven't kept up.  If you have a solution
> that works better and everything still works, let me know.
>  On Jul 3, 2013 7:35 AM, "Ivan Vučica" <[email protected]> wrote:
>
>> Hello,
>>
>> In a minute or so, I'll be committing a change for the section that
>> defines OS X version macros in CFBase.h and replacing it with inclusion
>> GSVersionMacros.h. The comment explicitly says that this inclusion would
>> break clang and Windows; I've tested with a trunk version of Clang 3.4, and
>> there seem to be no issues.
>>
>> The reason for this change is that constants no longer match what's in
>> Base, and there are some ugly warnings.
>>
>> Stefan, I'm interested what the bug was?
>>
>> And, if anyone's CoreBase breaks horribly after this change, here's what
>> I'm changing:
>>
>> ------------------8<------------
>> /* FIXME: These macros are defined here to work around an issue with
>> including
>>  * GNUstepBase/GSVersionMacros.h when compiling with clang or on Windows.
>>  */
>> #ifndef MAC_OS_X_VERSION_10_0
>> #define MAC_OS_X_VERSION_10_0 100000
>> #define MAC_OS_X_VERSION_10_1 100100
>> #define MAC_OS_X_VERSION_10_2 100200
>> #define MAC_OS_X_VERSION_10_3 100300
>> #define MAC_OS_X_VERSION_10_4 100400
>> #define MAC_OS_X_VERSION_10_5 100500
>> #define MAC_OS_X_VERSION_10_6 100600
>> #define MAC_OS_X_VERSION_10_7 100700
>> #endif /* MAC_OS_X_VERSION_10_0 */
>>
>> #define MAC_OS_X_VERSION_MAX_ALLOWED 100700
>> ----------------8<-------------------
>>
>> into this:
>>
>> ---------------8<---------------
>> #include <GNUstepBase/GSVersionMacros.h>
>> ----------------8<--------------
>>
>> --
>> Ivan Vučica - [email protected]
>>
>>


-- 
Ivan Vučica - [email protected]
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to