Platform/Platform-specific build defines

< Platform
Revision as of 17:09, 3 June 2015 by Kats (talk | contribs) (Add a see-also link to channel-specific build defines page)

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 true true false false false false false false false false
XP_DARWIN false false true true false false false false false true
XP_MACOSX false false true true false false false false false false
XP_IOS false false false false false false false false false true
XP_LINUX false false false false true true true true true false
ANDROID false false false false false false false true true false
MOZ_B2G false true false true false true true false true false
MOZ_WIDGET_GTK false false false false true true true false false false
MOZ_WIDGET_ANDROID false false false false false false false true false false
MOZ_WIDGET_GONK false false false false false false false false true false
MOZ_WIDGET_UIKIT false false false false false false false false false true

You may also be interested in Platform/Channel-specific_build_defines