aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-04-07 08:32:40 -0400
committerXavier Claessens <xclaesse@gmail.com>2021-05-18 18:03:37 -0400
commit69a5c950a3a70fe2e31a8a35f0be51ded89c4937 (patch)
tree441663102e2f40a613a4384d451487e240ff5d1a /docs/markdown/snippets
parent2a0c2e51373e3e8aa1d4b7eb7f707f826f26f1ef (diff)
downloadmeson-69a5c950a3a70fe2e31a8a35f0be51ded89c4937.zip
meson-69a5c950a3a70fe2e31a8a35f0be51ded89c4937.tar.gz
meson-69a5c950a3a70fe2e31a8a35f0be51ded89c4937.tar.bz2
pkgconfig: Do not escape custom variables
We need to escape space in variables that gets into cflags or libs because otherwise we cannot split compiler args when paths contains spaces. But custom variables are unlikely to be path that gets used in cflags/libs, and escaping them cause regression in GStreamer that use space as separator in a list variable.
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r--docs/markdown/snippets/pkgconfig_var_escaping.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/markdown/snippets/pkgconfig_var_escaping.md b/docs/markdown/snippets/pkgconfig_var_escaping.md
new file mode 100644
index 0000000..de0ee96
--- /dev/null
+++ b/docs/markdown/snippets/pkgconfig_var_escaping.md
@@ -0,0 +1,23 @@
+## Unescaped variables in pkgconfig files
+
+Spaces in variable values are escaped with `\`, this is required in the case the
+value is a path that and is used in `cflags` or `libs` arguments. This was an
+undocumented behaviour that caused issues in the case the variable is a space
+separated list of items.
+
+For backward compatibility reasons this behaviour could not be changed, new
+keyword arguments have thus been added: `unescaped_variables` and
+`unescaped_uninstalled_variables`.
+
+```meson
+pkg = import('pkgconfig')
+...
+pkg.generate(lib,
+ variables: {
+ 'mypath': '/path/with spaces/are/escaped',
+ },
+ unescaped_variables: {
+ 'mylist': 'Hello World Is Not Escaped',
+ },
+)
+```