Platform/Platform-specific build defines: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Correct caps for B2Gdroid)
(Mulet exists for all desktop platforms)
Line 3: Line 3:
{|border="1" style="text-align: center;"
{|border="1" style="text-align: center;"
!OS
!OS
!colspan="2"|Windows
!colspan="3"|Windows
!colspan="2"|OS X
!colspan="3"|OS X
!colspan="3"|Linux-gtk
!colspan="3"|Linux-gtk
!colspan="3"|Android
!colspan="3"|Android
Line 12: Line 12:
!Desktop
!Desktop
!B2G
!B2G
!Mulet
!Desktop
!Desktop
!B2G
!B2G
!Mulet
!Desktop
!Desktop
!B2G
!B2G
Line 25: Line 27:
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || 
|style="background: green; color: white"|✓
| || || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|-
|-
!XP_DARWIN
!XP_DARWIN
| || 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || || 
| 
| || || 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|-
|-
!XP_MACOSX
!XP_MACOSX
| || 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
|-
|-
!XP_IOS
!XP_IOS
| || 
| 
| || 
| 
| || || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|-
|-
!XP_UNIX
!XP_UNIX
| || 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
Line 66: Line 100:
|-
|-
!XP_LINUX
!XP_LINUX
| || 
| 
| || 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
Line 77: Line 115:
|-
|-
!ANDROID
!ANDROID
| || 
| 
| || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
Line 87: Line 131:
!MOZ_B2G
!MOZ_B2G
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
Line 99: Line 145:
|-
|-
!MOZ_B2GDROID
!MOZ_B2GDROID
| || 
| || 
| || 
| 
| 
| || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
|-
|-
!MOZ_MULET
!MOZ_MULET
| || 
| 
| || 
| 
| || 
|style="background: green; color: white"|
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || || 
| 
| 
|style="background: green; color: white"|✓
| 
| 
| 
| 
| 
|-
|-
!MOZ_WIDGET_GTK
!MOZ_WIDGET_GTK
| || 
| 
| || 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || || 
| 
| 
| 
| 
| 
|-
|-
!MOZ_WIDGET_ANDROID
!MOZ_WIDGET_ANDROID
| || 
| 
| || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
Line 134: Line 205:
|-
|-
!MOZ_WIDGET_GONK
!MOZ_WIDGET_GONK
| || 
| 
| || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
Line 143: Line 220:
|-
|-
!MOZ_WIDGET_UIKIT
!MOZ_WIDGET_UIKIT
| || 
| 
| || 
| 
| || || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|}
|}
Line 156: Line 241:
{|border="1" style="text-align: center;"
{|border="1" style="text-align: center;"
!OS
!OS
!colspan="2"|Windows
!colspan="3"|Windows
!colspan="2"|OS X
!colspan="3"|OS X
!colspan="3"|Linux-gtk
!colspan="3"|Linux-gtk
!colspan="3"|Android
!colspan="3"|Android
Line 165: Line 250:
!Desktop
!Desktop
!B2G
!B2G
!Mulet
!Desktop
!Desktop
!B2G
!B2G
!Mulet
!Desktop
!Desktop
!B2G
!B2G
Line 176: Line 263:
|-
|-
|[https://hg.mozilla.org/mozilla-central/file/tip/modules/libpref/init/all.js all.js]
|[https://hg.mozilla.org/mozilla-central/file/tip/modules/libpref/init/all.js all.js]
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
Line 191: Line 280:
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
Line 202: Line 293:
|-
|-
|[https://hg.mozilla.org/mozilla-central/file/tip/mobile/android/app/mobile.js mobile.js]
|[https://hg.mozilla.org/mozilla-central/file/tip/mobile/android/app/mobile.js mobile.js]
| || 
| 
| || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
Line 211: Line 308:
|-
|-
|[https://hg.mozilla.org/mozilla-central/file/tip/mobile/android/b2gdroid/app/b2gdroid.js b2gdroid.js]
|[https://hg.mozilla.org/mozilla-central/file/tip/mobile/android/b2gdroid/app/b2gdroid.js b2gdroid.js]
| || 
| 
| || 
| 
| || || 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
Line 221: Line 324:
|[https://hg.mozilla.org/mozilla-central/file/tip/b2g/app/b2g.js b2g.js]
|[https://hg.mozilla.org/mozilla-central/file/tip/b2g/app/b2g.js b2g.js]
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| 
| 
Line 233: Line 338:
|-
|-
|[https://hg.mozilla.org/mozilla-central/file/tip/b2g/dev/app/mulet.js mulet.js]
|[https://hg.mozilla.org/mozilla-central/file/tip/b2g/dev/app/mulet.js mulet.js]
| || 
| || 
| 
| 
| 
| 
|style="background: green; color: white"|✓
|style="background: green; color: white"|✓
| || ||| 
| 
| 
|style="background: green; color: white"|✓
| 
| 
|style="background: green; color: white"|✓
| 
| 
| 
| 
| 
|-
|-
Line 246: Line 357:
|??||??||??
|??||??||??
|??||??||??
|??||??||??
|??
|??
|??
|??
|}
|}

Revision as of 19:43, 27 October 2015

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 Mulet Desktop B2G Mulet Desktop B2G Mulet Fennec B2G B2Gdroid iOS
XP_WIN                    
XP_DARWIN                  
XP_MACOSX                    
XP_IOS                        
XP_UNIX      
XP_LINUX              
ANDROID                    
MOZ_B2G          
MOZ_B2GDROID                        
MOZ_MULET                    
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 Mulet Desktop B2G Mulet Desktop B2G Mulet Fennec B2G B2Gdroid iOS
all.js
firefox.js              
mobile.js                        
b2gdroid.js                        
b2g.js            
mulet.js                    
graphene.js ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

WARNING: Until bug 1174234 is resolved firefox.js prefs will override mulet.js prefs on Mulet.

Reftest conditions

Here is another table that tells you what conditions are true on various platforms for use in reftest.list conditions.

OS Windows OS X Linux-gtk Android iOS
Product Desktop B2G Desktop B2G Desktop B2G Mulet Fennec B2G iOS
B2G                  
B2GDT              
Android                  
cocoaWidget                
gtkWidget              
qtWidget                    
winWidget                
Mulet                  

Mochitest conditions

Here is another table that tells you what different condition values are on various platforms for use in mochitest.ini/a11y.ini/chrome.ini/browser.ini conditions.

OS Windows OS X Linux-gtk Android iOS
Product Desktop B2G Desktop B2G Desktop B2G Mulet Fennec B2G iOS
os win ?? mac ?? linux ?? ?? android b2g ??
toolkit windows ?? cocoa ?? gtk2 or gtk3 ?? ?? android gonk ??
buildapp ?? ?? ?? ?? ?? ?? mulet ?? b2g ??

You may also be interested in Platform/Channel-specific_build_defines