aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/markdown/snippets/preproc-flags.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/markdown/snippets/preproc-flags.md b/docs/markdown/snippets/preproc-flags.md
new file mode 100644
index 0000000..a5e9e83
--- /dev/null
+++ b/docs/markdown/snippets/preproc-flags.md
@@ -0,0 +1,12 @@
+## (C) Preprocessor flag handling
+
+Meson previously stored `CPPFLAGS` and per-language compilation flags
+separately. (That latter would come from `CFLAGS`, `CXXFLAGS`, etc., along with
+`<lang>_args` options whether specified no the command-line interface (`-D..`),
+`meson.build` (`default_options`), or cross file (`[properties]`).) This was
+mostly unobservable, except for certain preprocessor-only checks like
+`check_header` would only use the preprocessor flags, leading to confusion if
+some `-isystem` was in `CFLAGS` but not `CPPFLAGS`. Now, they are lumped
+together, and `CPPFLAGS`, for the languages which are deemed to care to about,
+is just another source of compilation flags along with the others already
+listed.