doc: Add warning about --force-fallback-for [skip ci]

pull/7618/head
Xavier Claessens 4 years ago committed by Nirbheek Chauhan
parent f14fbe4b2a
commit fb780cc99b
  1. 22
      docs/markdown/Subprojects.md

@ -236,6 +236,28 @@ the following command-line options:
but you only want to build against the library sources for a few
of them.
**Warning**: This could lead to mixing system and subproject version of the
same library in the same process. Take this case as example:
- Libraries `glib-2.0` and `gstreamer-1.0` are installed on your system.
- `gstreamer-1.0` depends on `glib-2.0`, pkg-config file `gstreamer-1.0.pc`
has `Requires: glib-2.0`.
- In your application build definition you do:
```meson
executable('app', ...,
dependencies: [
dependency('glib-2.0', fallback: 'glib'),
dependency('gstreamer-1.0', fallback: 'gstreamer')],
)
```
- You configure with `--force-fallback-for=glib`.
This result in linking to two different versions of library `glib-2.0`
because `dependency('glib-2.0', fallback: 'glib')` will return the
subproject dependency, but `dependency('gstreamer-1.0', fallback: 'gstreamer')`
will not fallback and return the system dependency, including `glib-2.0`
library. To avoid that situation, every dependency that itself depend on
`glib-2.0` must also be forced to fallback, in this case with
`--force-fallback-for=glib,gsteamer`.
## Download subprojects
*Since 0.49.0*

Loading…
Cancel
Save