The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.3 KiB

## Projects args can be set separately for cross and native builds (potentially breaking change)
It has been a longstanding bug (or let's call it a "delayed bug fix")
that if yo do this:
```meson
add_project_arguments('-DFOO', language : 'c')
```
Then the flag is used both in native and cross compilations. This is
very confusing and almost never what you want. To fix this a new
keyword `native` has been added to all functions that add arguments,
namely `add_global_arguments`, `add_global_link_arguments`,
`add_project_arguments` and `add_project_link_arguments` that behaves
like the following:
```
## Added to native builds when compiling natively and to cross
## compilations when doing cross compiles.
add_project_arguments(...)
## Added only to native compilations, not used in cross compilations.
add_project_arguments(..., native : true)
## Added only to cross compilations, not used in native compilations.
add_project_arguments(..., native : false)
```
Also remember that cross compilation is a property of each
target. There can be target that are compiled with the native compiler
and some which are compiled with the cross compiler.
Unfortunately this change is backwards incompatible and may cause some
projects to fail building. However this should be very rare in practice.