Platform/Platform-specific build defines: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add FxOS TV stuff)
(B2GDroid was removed in bug 1256401)
Line 22: Line 22:
!Fennec
!Fennec
!B2G
!B2G
!B2Gdroid
!iOS
!iOS
!FxOS TV
!FxOS TV
Line 39: Line 38:
|   
|   
|   
|   
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 61: Line 59:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 83: Line 80:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 105: Line 101:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 127: Line 122:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, 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"|✓
Line 149: Line 143:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, 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"|✓
Line 171: Line 164:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, 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"|✓
Line 193: Line 185:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
  <!-- iOS -->
|  &nbsp;
  <!-- FxOS TV -->
|  ??
|-
!MOZ_B2GDROID
  <!-- Windows: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- OS X: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- Linux-gtk: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- Android: Fennec, B2G, B2Gdroid -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 237: Line 206:
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 259: Line 227:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G, -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 281: Line 248:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 303: Line 269:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 325: Line 290:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 360: Line 324:
!Fennec
!Fennec
!B2G
!B2G
!B2Gdroid
!iOS
!iOS
!FxOS TV
!FxOS TV
Line 377: Line 340:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, 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"|✓
Line 399: Line 361:
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 421: Line 382:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- iOS -->
|  &nbsp;
  <!-- FxOS TV -->
|  ??
|-
|[https://hg.mozilla.org/mozilla-central/file/tip/mobile/android/b2gdroid/app/b2gdroid.js b2gdroid.js]
  <!-- Windows: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- OS X: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- Linux-gtk: Desktop, B2G, Mulet -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
  <!-- Android: Fennec, B2G, B2Gdroid -->
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 465: Line 403:
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
|  &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 487: Line 424:
|  &nbsp;
|  &nbsp;
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
Line 509: Line 445:
|  ??
|  ??
|  ??
|  ??
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  ??
|  ??
|  ??
|  ??
|  ??
Line 531: Line 466:
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
   <!-- Android: Fennec, B2G, B2Gdroid -->
   <!-- Android: Fennec, B2G -->
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;
|  &nbsp;

Revision as of 14:18, 16 May 2016

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 FxOS TV
Product Desktop B2G Mulet Desktop B2G Mulet Desktop B2G Mulet Fennec B2G iOS FxOS TV
XP_WIN                   ??
XP_DARWIN                 ??
XP_MACOSX                   ??
XP_IOS                       ??
XP_UNIX       ??
XP_LINUX               ??
ANDROID                     ??
MOZ_B2G           ??
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 FxOS TV
Product Desktop B2G Mulet Desktop B2G Mulet Desktop B2G Mulet Fennec B2G iOS FxOS TV
all.js ??
firefox.js             ??
mobile.js                       ??
b2g.js           ??
mulet.js                   ??
graphene.js ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
tv/custom-prefs.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