Platform/Platform-specific build defines: Difference between revisions
< Platform
Jump to navigation
Jump to search
(Drop B2G defines that are no longer in the codebase) |
(MOZ_B2G is also removed from the codebase now) |
||
| Line 166: | Line 166: | ||
<!-- Android: Fennec, B2G --> | <!-- Android: Fennec, B2G --> | ||
| style="background: green; color: white"|✓ | | style="background: green; color: white"|✓ | ||
| style="background: green; color: white"|✓ | | style="background: green; color: white"|✓ | ||
<!-- iOS --> | <!-- iOS --> | ||
Revision as of 11:45, 10 October 2018
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_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 | ✓ | ?? | ||||
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