Platform/Platform-specific build defines

From MozillaWiki
< Platform
Revision as of 13:40, 4 June 2015 by Jryans (talk | contribs) (Add mulet.js)
Jump to navigation Jump to search

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                  

Prefs files

Here is a similar table, but to see which prefs get used in which product:

OS Windows OS X Linux-gtk Android iOS
Product Desktop B2G Desktop B2G Desktop B2G Mulet Fennec B2G iOS
all.js
firefox.js              
mobile.js                  
b2g.js          
mulet.js                  

You may also be interested in Platform/Channel-specific_build_defines