Platform/Platform-specific build defines: Difference between revisions
< Platform
Jump to navigation
Jump to search
m (Fix colspans after B2GDroid removal) |
(→Prefs files: Drop B2G rows) |
||
| Line 389: | Line 389: | ||
<!-- FxOS TV --> | <!-- FxOS TV --> | ||
| ?? | | ?? | ||
|} | |} | ||
Revision as of 20:52, 9 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_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 | ✓ | ?? | |||||||||||
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