From 9149aaba9c87250a7fc92686c37057038f57ef99 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 10 Jun 2019 19:42:06 -0400 Subject: `add_{global,project}_{,link_}arguments`: simply native flag behavior This further simplifies behavior to match the "build vs host" decision we did with `c_args` vs `build_c_args`. The rules are now simply: - `native: true` affects `native: true` targets - `native: false` affects `native: false` targets - No native flag is the same as `native: false` I like this because you don't even have to know what "build" and "host" mean to understand how it works, and it doesn't depend on whether the overall build is cross or not. Fixes #4933 --- docs/markdown/Release-notes-for-0.48.0.md | 2 +- docs/markdown/snippets/add_arguments_cross.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 docs/markdown/snippets/add_arguments_cross.md (limited to 'docs/markdown') diff --git a/docs/markdown/Release-notes-for-0.48.0.md b/docs/markdown/Release-notes-for-0.48.0.md index 80fc08b..a89f5c9 100644 --- a/docs/markdown/Release-notes-for-0.48.0.md +++ b/docs/markdown/Release-notes-for-0.48.0.md @@ -217,7 +217,7 @@ i18n.merge_file() now behaves as custom_target() in this regard. ## 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: +that if you do this: ```meson add_project_arguments('-DFOO', language : 'c') diff --git a/docs/markdown/snippets/add_arguments_cross.md b/docs/markdown/snippets/add_arguments_cross.md new file mode 100644 index 0000000..7c197b6 --- /dev/null +++ b/docs/markdown/snippets/add_arguments_cross.md @@ -0,0 +1,16 @@ +## Projects args can be set separately for build and host machines (potentially breaking change) + +Simplify `native` flag behavior in `add_global_arguments`, +`add_global_link_arguments`, `add_project_arguments` and +`add_project_link_arguments`. The rules are now very simple: + + - `native: true` affects `native: true` targets + + - `native: false` affects `native: false` targets + + - No native flag is the same as `native: false` + +This further simplifies behavior to match the "build vs host" decision done in +last release with `c_args` vs `build_c_args`. The underlying motivation in both +cases is to execute the same commands whether the overall build is native or +cross. -- cgit v1.1