-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added "native" kwarg to add_XXX_args. Closes #3669.
- Loading branch information
Showing
10 changed files
with
141 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
## 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 yodo 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 cross 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters