| name: build_machine |
| long_name: Build machine information |
| description: | |
| Provides information about the build machine -- the machine that is doing the actual compilation. |
| See [Cross-compilation](Cross-compilation.md). |
| |
| Currently, these values are populated using |
| [`platform.system()`](https://docs.python.org/3.7/library/platform.html#platform.system) and |
| [`platform.machine()`](https://docs.python.org/3.7/library/platform.html#platform.machine). |
| If you think the returned values for any of these are incorrect for |
| your system or CPU, or if your OS is not in the linked table, please |
| [file a bug](https://github.com/mesonbuild/meson/issues/new) report |
| with details and we'll look into it. |
| |
| methods: |
| - name: cpu_family |
| returns: str |
| description: | |
| Returns the CPU family name. |
| [This table](Reference-tables.md#cpu-families) contains |
| all known CPU families. These are guaranteed to continue working. |
| |
| - name: cpu |
| returns: str |
| description: Returns a more specific CPU name, such as `i686`, `armv8l`, etc. |
| |
| - name: system |
| returns: str |
| description: | |
| Returns the operating system name. |
| [This table](Reference-tables.md#operating-system-names) Lists |
| all of the currently known Operating System names, these are |
| guaranteed to continue working. |
| |
| - name: endian |
| returns: str |
| description: returns `'big'` on big-endian systems and `'little'` on little-endian systems. |
| |
| - name: kernel |
| returns: str |
| since: 1.2.0 |
| description: | |
| Returns the name of the Operating System Kernel, such as `linux`, `xnu`, and |
| `nt`. [See here for more complete |
| list](Reference-tables.md#kernel-names-since-120) These are more specific |
| than `system`. If this cannot be detected (for the build machine), or is not |
| set in the cross file (for the host machine when cross compiling), calling |
| this method is fatal. |
| |
| - name: subsystem |
| returns: str |
| since: 1.2.0 |
| description: | |
| Returns the variant of the operating system, such as `ios` and `tvos`. [See |
| here for more complete list](Reference-tables.md#kernel-names-since-120) |
| These are more specific than `system`. If this cannot be detected (for the |
| build machine), or is not set in the cross file (for the host machine when |
| cross compiling), calling this method is fatal. |