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
