aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Dependencies.md
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2021-06-13 13:45:15 -0400
committerEli Schwartz <eschwartz@archlinux.org>2021-06-17 13:22:25 -0400
commit2c6ccfe4c40741ae1f15f073f7d7bc8c398a1648 (patch)
tree9bdcb39277363de6d67c91ade68416618a4d556d /docs/markdown/Dependencies.md
parentad206037e321237bc664227764a5b3fe6243c554 (diff)
downloadmeson-2c6ccfe4c40741ae1f15f073f7d7bc8c398a1648.zip
meson-2c6ccfe4c40741ae1f15f073f7d7bc8c398a1648.tar.gz
meson-2c6ccfe4c40741ae1f15f073f7d7bc8c398a1648.tar.bz2
intl custom dependency
Checking how to aquire the *gettext family of symbols portably is annoyingly complex, and may come from the libc, or standalone. builtin dependency: This detects if libintl is unneeded, because the *gettext family of symbols is available in the libc. system dependency: This detects if libintl is installed as separate software, linkable via -lintl; unfortunately, GNU gettext does not ship pkg-config files for it. Fixes #3929
Diffstat (limited to 'docs/markdown/Dependencies.md')
-rw-r--r--docs/markdown/Dependencies.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md
index 41f3bc2..caf7af7 100644
--- a/docs/markdown/Dependencies.md
+++ b/docs/markdown/Dependencies.md
@@ -141,7 +141,7 @@ of all the work behind the scenes to make this work.
You can use the keyword `method` to let Meson know what method to use
when searching for the dependency. The default value is `auto`.
Additional dependencies methods are `pkg-config`, `config-tool`, `cmake`,
-`system`, `sysconfig`, `qmake`, `extraframework` and `dub`.
+`builtin`, `system`, `sysconfig`, `qmake`, `extraframework` and `dub`.
```meson
cups_dep = dependency('cups', method : 'pkg-config')
@@ -282,6 +282,15 @@ in the build system DSL or with a script, likely calling
putting these in meson upstream the barrier of using them is lowered, as
projects using meson don't have to re-implement the logic.
+## Builtin
+
+Some dependencies provide no valid methods for discovery on some systems,
+because they are provided internally by the language. One example of this is
+intl, which is built into GNU or musl libc but otherwise comes as a `system`
+dependency.
+
+In these cases meson provides convenience wrappers for the `system` dependency,
+but first checks if the functionality is usable by default.
## Blocks
@@ -400,6 +409,16 @@ language.
*New in 0.56.0* the dependencies now return proper dependency types
and `get_variable` and similar methods should work as expected.
+## intl
+
+*(added 0.59.0)*
+
+Provides access to the `*gettext` family of C functions. On systems where this
+is not built into libc, tries to find an external library providing them
+instead.
+
+`method` may be `auto`, `builtin` or `system`.
+
## libwmf
*(added 0.44.0)*