[changeset] Missing ScreenSize & ScreenPixelsPerInch properties

Ben Abbott bpabbott at mac.com
Thu Jan 22 13:11:02 CST 2009


On Thursday, January 22, 2009, at 01:57PM, "John W. Eaton" <jwe at octave.org> wrote:
>On 22-Jan-2009, Ben Abbott wrote:
>
>| On Thursday, January 22, 2009, at 01:33PM, "John W. Eaton" <jwe at octave.org> wrote:
>| >On 22-Jan-2009, John W. Eaton wrote:
>| >
>| >| (Does GCC define __WIN32__ and WIN32 automatically?)  I'd like to do
>| >| something similar for OS X to define OCTAVE_USE_OS_X_API.
>| >
>| >For now, I went with
>| >
>| >  #if defined (__APPLE__)
>| >  #define OCTAVE_USE_OS_X_API 1
>| >  #endif
>| >
>| >Is there something better we should use?
>| >
>| >jwe
>| >
>| 
>| ... looking over the current sources, toplev.cc has 
>| 
>| #if defined (__APPLE__) && defined (__MACH__)
>|         mac_system = true;
>| #endif
>| 
>| I'm not sure why both are checked (are there any existing Apple computers that don't have Mach Kernel?). In any event, for the sake of consistency, should both be checked?
>
>I don't know why it was done that way.  I think I'll leave in my most
>recent change to configure.in that will define OCTAVE_USE_OS_X_API and
>if __APPLE__ is defined, then use that in other places that check for
>__APPLE__ or __MACH__.  OK?
>
>jwe

I searched Nabble and found the thread below.

http://www.nabble.com/Re%3A-MacOSX%3A-ismac%28%29-implementation-p13071585.html

The relevant part is by Thomas Treichl

>> I think I can't answer this question by sure, I can only say that __APPLE__ is 
>> the replacement for __darwin__ since MacOSX and __MACH__ seems to be there for a 
>> long time. These macros have been introduced by GNU and are also used on the 
>> Apple Developer website for the one or other example. There seem to be other 
>> proprietary compilers for Mac available but I don't know if they come with these 
>> macros. 

I suspect that __APPLE__ && __MACH__ == Mac OS X and __APPLE__ && ! __MACH__ == OS9

For practical reasons, I don't see a reason to not assume all Apple's computers have a Mach Kernel.

Ben





More information about the Octave-maintainers mailing list