166 lines
5.4 KiB
Markdown
166 lines
5.4 KiB
Markdown
# 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 |
|
|
| lcc | Elbrus C/C++/Fortran Compiler |
|
|
| arm | ARM compiler |
|
|
| armclang | ARMCLANG compiler |
|
|
|
|
## 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` |
|
|
| MESON_DIST_ROOT | Points to the root of the staging directory, only set when running `dist` scripts |
|
|
|
|
|
|
## 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 |
|
|
| ia64 | Itanium processor |
|
|
| arm | 32 bit ARM processor |
|
|
| arc | 32 bit ARC processor |
|
|
| aarch64 | 64 bit ARM processor |
|
|
| mips | 32 bit MIPS processor |
|
|
| mips64 | 64 bit MIPS processor |
|
|
| ppc | 32 bit PPC processors |
|
|
| ppc64 | 64 bit PPC processors |
|
|
| e2k | MCST Elbrus processor |
|
|
| parisc | HP PA-RISC processor |
|
|
| riscv32 | 32 bit RISC-V Open ISA|
|
|
| riscv64 | 64 bit RISC-V Open ISA|
|
|
| sparc | 32 bit SPARC |
|
|
| sparc64 | SPARC v9 processor |
|
|
| s390x | IBM zSystem s390x |
|
|
|
|
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 |
|
|
| cygwin | The Cygwin environment for Windows |
|
|
| haiku | |
|
|
| freebsd | FreeBSD and its derivatives |
|
|
| dragonfly | DragonFly BSD |
|
|
| netbsd | |
|
|
|
|
Any string not listed above is not guaranteed to remain stable in
|
|
future releases.
|
|
|
|
|
|
## Language arguments parameter names
|
|
|
|
These are the parameter names for passing language specific arguments to your build target.
|
|
|
|
| Language | Parameter name |
|
|
| ----- | ----- |
|
|
| 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 |
|
|
|
|
|
|
## Function Attributes
|
|
|
|
These are the parameters names that are supported using
|
|
`compiler.has_function_attribute()` or
|
|
`compiler.get_supported_function_attributes()`
|
|
|
|
### GCC __attribute__
|
|
|
|
These values are supported using the GCC style `__attribute__` annotations,
|
|
which are supported by GCC, Clang, and other compilers.
|
|
|
|
|
|
| Name |
|
|
|----------------------|
|
|
| alias |
|
|
| aligned |
|
|
| alloc_size |
|
|
| always_inline |
|
|
| artificial |
|
|
| cold |
|
|
| const |
|
|
| constructor |
|
|
| constructor_priority |
|
|
| deprecated |
|
|
| destructor |
|
|
| error |
|
|
| externally_visible |
|
|
| fallthrough |
|
|
| flatten |
|
|
| format |
|
|
| format_arg |
|
|
| gnu_inline |
|
|
| hot |
|
|
| ifunc |
|
|
| malloc |
|
|
| noclone |
|
|
| noinline |
|
|
| nonnull |
|
|
| noreturn |
|
|
| nothrow |
|
|
| optimize |
|
|
| packed |
|
|
| pure |
|
|
| returns_nonnull |
|
|
| unused |
|
|
| used |
|
|
| visibility |
|
|
| warning |
|
|
| warn_unused_result |
|
|
| weak |
|
|
| weakreaf |
|
|
|
|
### MSVC __declspec
|
|
|
|
These values are supported using the MSVC style `__declspec` annotation,
|
|
which are supported by MSVC, GCC, Clang, and other compilers.
|
|
|
|
| Name |
|
|
|----------------------|
|
|
| dllexport |
|
|
| dllimport |
|