Platform/Platform-specific build defines: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Added XP_SOLARIS)
 
(4 intermediate revisions by 2 users not shown)
Line 7: Line 7:
!colspan="1"|Linux-gtk
!colspan="1"|Linux-gtk
!colspan="2"|Android
!colspan="2"|Android
!colspan="1"|*BSD
!colspan="1"|Solaris
!iOS
!iOS
|-
|-
Line 15: Line 17:
!Fennec
!Fennec
!GeckoView
!GeckoView
!Desktop
!Desktop
!iOS
!iOS
|-
|-
Line 26: Line 30:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 39: Line 46:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 52: Line 62:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 65: Line 78:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 78: Line 94:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
  <!-- BSD, Solaris -->
| style="background: green; color: white"|✓
| style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 91: Line 110:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
  <!-- iOS -->
|  &nbsp;
|-
!XP_SOLARIS
  <!-- Windows: Desktop -->
|  &nbsp;
  <!-- OS X: Desktop -->
|  &nbsp;
  <!-- Linux-gtk: Desktop -->
|  &nbsp;
  <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
  <!-- BSD, Solaris -->
|  &nbsp;
| style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 104: Line 142:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 117: Line 158:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| style="background: green; color: white"|✓
| style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 130: Line 174:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
  <!-- iOS -->
|  &nbsp;
|  &nbsp;
|-
|-
Line 143: Line 190:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
  <!-- BSD, Solaris -->
| &nbsp;
| &nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 177: Line 227:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
Line 190: Line 240:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 250: Line 300:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  style="background: green; color: white"|✓
|  style="background: green; color: white"|✓
??
style="background: green; color: white"|✓
  <!-- iOS -->
|  &nbsp;
|-
!geckoview
  <!-- Windows: Desktop -->
|  &nbsp;
  <!-- OS X: Desktop -->
|  &nbsp;
  <!-- Linux-gtk: Desktop -->
|  &nbsp;
  <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  style="background: green; color: white"|✓
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 263: Line 326:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 276: Line 339:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 289: Line 352:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 302: Line 365:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  &nbsp;
|  &nbsp;
??
&nbsp;
   <!-- iOS -->
   <!-- iOS -->
|  &nbsp;
|  &nbsp;
Line 336: Line 399:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  android
|  android
??
android
   <!-- iOS -->
   <!-- iOS -->
|  ??
|  ??
Line 349: Line 412:
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
|  android
|  android
??
android
   <!-- iOS -->
   <!-- iOS -->
|  ??
|  ??
Line 361: Line 424:
|  ??
|  ??
   <!-- Android: Fennec, GeckoView -->
   <!-- Android: Fennec, GeckoView -->
??
mobile/android
|  ??
|  ??
   <!-- iOS -->
   <!-- iOS -->

Latest revision as of 10:51, 15 July 2019

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 *BSD Solaris iOS
Product Desktop Desktop Desktop Fennec GeckoView Desktop Desktop iOS
XP_WIN              
XP_DARWIN            
XP_MACOSX              
XP_IOS              
XP_UNIX  
XP_LINUX          
XP_SOLARIS              
ANDROID            
MOZ_WIDGET_GTK          
MOZ_WIDGET_ANDROID            
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 Desktop Desktop Fennec GeckoView iOS
all.js
firefox.js      
mobile.js       ??  
geckoview-prefs.js          

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 Desktop Desktop Fennec GeckoView iOS
Android        
geckoview          
cocoaWidget          
gtkWidget          
qtWidget            
winWidget          

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 Desktop Desktop Fennec GeckoView iOS
os win mac linux android android ??
toolkit windows cocoa gtk2 or gtk3 android android ??
buildapp ?? ?? ?? mobile/android ?? ??

You may also be interested in Platform/Channel-specific_build_defines