On Apr 26, 2014, at 2:50 PM, Duncan Murdoch <[email protected]> wrote:

> The rgl package compiles and runs on Mavericks, though it only displays in 
> X11 currently, and it gets a number of compile-time warnings like
> 
> glgui.cpp:50:5: warning: 'gluUnProject' is deprecated: first deprecated in OS 
> X 10.9
>      - "Use GLKMathUnproject" [-Wdeprecated-declarations]
> 
> There are also warnings about gluProject, gluErrorString, and some others.
> 
> I can probably write conditional workarounds for each of these, but I have a 
> very basic question:  how do I write a conditional to depend on an OS X 
> version?  Do I need to write my own autoconf macro, or is there one available 
> in the standard collection, or online somewhere?
> 

You can simply use conditionals MAC_OS_X_VERSION_MIN_REQUIRED and 
MAC_OS_X_VERSION_MAX_ALLOWED depending on what you want to achieve (lower bound 
allows weakly-linked symbols, so you have to check for their availability, 
upper bound defines what will be a hard error), .e.g to enable AppNap support 
in Mavericks buils we use

#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9
#define USE_APPNAP_API
@property (strong) id  activity;
#endif

Note, however, that older SDKs don't have version numbers for more recent OS X 
version, so it's a good idea to provide fallbacks:

#import <Availability.h>
#ifndef MAC_OS_X_VERSION_10_9
#define MAC_OS_X_VERSION_10_9 1090
#endif

Cheers,
Simon

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to