Platform/Platform-specific build defines
< Platform
In the Gecko code we have a bunch of preprocessor conditions that help us conditionally compile code for specific platforms. These can get confusing so here is a handy-dandy table to help you keep them straight.
| OS | Windows | OS X | Linux-gtk | Android | iOS | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Product | Desktop | B2G | Desktop | B2G | Desktop | B2G | Mulet | Fennec | B2G | iOS |
| XP_WIN | ✓ | ✓ | ||||||||
| XP_DARWIN | ✓ | ✓ | ✓ | |||||||
| XP_MACOSX | ✓ | ✓ | ||||||||
| XP_IOS | ✓ | |||||||||
| XP_UNIX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| XP_LINUX | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| ANDROID | ✓ | ✓ | ||||||||
| MOZ_B2G | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| MOZ_WIDGET_GTK | ✓ | ✓ | ✓ | |||||||
| MOZ_WIDGET_ANDROID | ✓ | |||||||||
| MOZ_WIDGET_GONK | ✓ | |||||||||
| MOZ_WIDGET_UIKIT | ✓ | |||||||||
You may also be interested in Platform/Channel-specific_build_defines