From a590cfde0cf719c637b75e4784be0c0ae60e3b1f Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 12 Jul 2022 15:22:30 +0200 Subject: compilers: Add optimization=plain option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/mesonbuild/meson/pull/9287 changed the `optimization=0` to pass `-O0` to the compiler. This change is reasonable by itself but unfortunately, it breaks `buildtype=plain`, which promises that “no extra build flags are used”. `buildtype=plain` is important for distros like NixOS, which manage compiler flags for optimization and hardening themselves. Let’s introduce a new optimization level that does nothing and set it as the default for `buildtype=plain`. --- docs/markdown/snippets/add_optimization_plain_option.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/markdown/snippets/add_optimization_plain_option.md (limited to 'docs/markdown/snippets') diff --git a/docs/markdown/snippets/add_optimization_plain_option.md b/docs/markdown/snippets/add_optimization_plain_option.md new file mode 100644 index 0000000..67910df --- /dev/null +++ b/docs/markdown/snippets/add_optimization_plain_option.md @@ -0,0 +1,10 @@ +## Add `optimization` `plain` option + +The `optimization` built-in option now accepts `plain` value, +which will not set any optimization flags. This is now the default +value of the flag for `buildtype=plain`, which is useful for distros, +that set the optimization and hardening flags by other means. + +If you are using the value of `get_option('optimization')` in your +Meson scripts, make sure you are not making assumptions about it, +such as that the value can be passed to a compiler in `-O` flag. -- cgit v1.1