2017-09-17 00:16:00 +08:00
# Reference tables
## Compiler ids
These are return values of the `get_id` method in a compiler object.
| Value | Compiler family |
| ----- | ---------------- |
| gcc | The GNU Compiler Collection |
| clang | The Clang compiler |
| msvc | Microsoft Visual Studio |
| intel | Intel compiler |
| llvm | LLVM-based compiler (Swift, D) |
| mono | Xamarin C# compiler |
| dmd | D lang reference compiler |
| rustc | Rust compiler |
| valac | Vala compiler |
| pathscale | The Pathscale Fortran compiler |
| pgi | The Portland Fortran compiler |
| sun | Sun Fortran compiler |
| g95 | The G95 Fortran compiler |
| open64 | The Open64 Fortran Compiler |
| nagfor | The NAG Fortran compiler |
2018-03-29 01:55:11 +08:00
| lcc | Elbrus C/C++/Fortran Compiler |
2018-03-15 21:03:11 +08:00
| arm | ARM compiler |
2017-09-17 00:16:00 +08:00
## Script environment variables
| Value | Comment |
| ----- | ------- |
| MESON_SOURCE_ROOT | Absolute path to the source dir |
| MESON_BUILD_ROOT | Absolute path to the build dir |
| MESONINTROSPECT | Command to run to run the introspection command, may be of the form `python /path/to/meson introspect` , user is responsible for splitting the path if necessary. |
| MESON_SUBDIR | Current subdirectory, only set for `run_command` |
## CPU families
These are returned by the `cpu_family` method of `build_machine` ,
`host_machine` and `target_machine` . For cross compilation they are
set in the cross file.
| Value | Comment |
| ----- | ------- |
| x86 | 32 bit x86 processor |
| x86_64 | 64 bit x86 processor |
2018-06-01 19:31:38 +08:00
| ia64 | Itanium processor |
| arm | 32 bit ARM processor |
| aarch64 | 64 bit ARM processor |
| ppc64 | 64 bit PPC processors (Big Endian) |
| ppc64le | 64 bit PPC processors (Little Endian) |
2018-03-29 01:55:11 +08:00
| e2k | MCST Elbrus processor |
2018-06-01 19:31:38 +08:00
| parisc | HP PA-RISC processor |
| sparc64 | SPARC v9 processor |
2017-09-17 00:16:00 +08:00
Any cpu family not listed in the above list is not guaranteed to
remain stable in future releases.
## Operating system names
These are provided by the `.system()` method call.
| Value | Comment |
| ----- | ------- |
| linux | |
| darwin | Either OSX or iOS |
| windows | Any version of Windows |
2017-11-17 20:58:05 +08:00
| cygwin | The Cygwin environment for Windows |
2017-11-21 08:59:21 +08:00
| haiku | |
2018-01-28 02:21:20 +08:00
| freebsd | FreeBSD and its derivatives |
2017-12-19 08:25:40 +08:00
| dragonfly | DragonFly BSD |
2017-12-20 03:39:30 +08:00
| netbsd | |
2017-09-17 00:16:00 +08:00
Any string not listed above is not guaranteed to remain stable in
2017-11-21 08:59:21 +08:00
future releases.
2018-02-25 20:02:34 +08:00
## Language arguments parameter names
These are the parameter names for passing language specific arguments to your build target.
| Language | Parameter name |
2018-03-04 12:48:51 +08:00
| ----- | ----- |
2018-02-25 20:02:34 +08:00
| C | c_args |
| C++ | cpp_args |
| C# | cs_args |
| D | d_args |
| Fortran | fortran_args |
| Java | java_args |
| Objective C | objc_args |
| Objective C++ | objcpp_args |
| Rust | rust_args |
| Vala | vala_args |