What C preprocessor conditional should I use for OS X specific code?

klynch picture klynch · Oct 7, 2009 · Viewed 14.4k times · Source

What C preprocessor conditional should I use for OS X specific code? I need to include a specific library if I am compiling for OS X or a different header if I am compiling for Linux.

I know there is __APPLE__ but I don't know if that is a current conditional for OS X 10.x.

Answer

Mark Rushakoff picture Mark Rushakoff · Oct 7, 2009

This list of operating system macros says the presence of both __APPLE__ and __MACH__ indicate OSX.

Also confirmed at line 18 of part of the source for fdisk.