aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2021-06-30 15:01:05 +0100
committerJon Turney <jon.turney@dronecode.org.uk>2021-06-30 15:16:03 +0100
commite047a1f622d0cc67b334a7dba42525a9a26628a5 (patch)
treeaf7a0dca49f472c0b4de33bcfdd6db2b96fd2978 /docs
parent6337e40115278fffd8b331d5a32324167e196c1b (diff)
downloadmeson-e047a1f622d0cc67b334a7dba42525a9a26628a5.zip
meson-e047a1f622d0cc67b334a7dba42525a9a26628a5.tar.gz
meson-e047a1f622d0cc67b334a7dba42525a9a26628a5.tar.bz2
Move 'builtin', 'config-tool' and 'system' methods to discussion of methods
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Dependencies.md90
1 files changed, 45 insertions, 45 deletions
diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md
index caf7af7..13b734a 100644
--- a/docs/markdown/Dependencies.md
+++ b/docs/markdown/Dependencies.md
@@ -154,6 +154,31 @@ The dependency method order for `auto` is:
3. `extraframework` (OSX only)
4. `system`
+## System
+
+Some dependencies provide no valid methods for discovery, or do so only in
+some cases. Some examples of this are Zlib, which provides both pkg-config
+and cmake, except when it is part of the base OS image (such as in FreeBSD
+and macOS); OpenGL which has pkg-config on Unices from glvnd or mesa, but has
+no pkg-config on macOS and Windows.
+
+In these cases meson provides convenience wrappers in the form of `system`
+dependencies. Internally these dependencies do exactly what a user would do
+in the build system DSL or with a script, likely calling
+`compiler.find_library()`, setting `link_with` and `include_directories`. By
+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.
+
## CMake
Meson can use the CMake `find_package()` function to detect
@@ -216,6 +241,26 @@ dub build urld --compiler=dmd
DC="dmd" meson builddir
```
+## Config tool
+
+[CUPS](#cups), [LLVM](#llvm), [pcap](#pcap), [WxWidgets](#wxwidgets),
+[libwmf](#libwmf), [GCrypt](#libgcrypt), [GPGME](#gpgme), and GnuStep either do not provide pkg-config
+modules or additionally can be detected via a config tool
+(cups-config, llvm-config, libgcrypt-config, etc). Meson has native support for these
+tools, and they can be found like other dependencies:
+
+```meson
+pcap_dep = dependency('pcap', version : '>=1.0')
+cups_dep = dependency('cups', version : '>=1.4')
+llvm_dep = dependency('llvm', version : '>=4.0')
+libgcrypt_dep = dependency('libgcrypt', version: '>= 1.8')
+gpgme_dep = dependency('gpgme', version: '>= 1.0')
+```
+
+*Since 0.55.0* Meson won't search $PATH any more for a config tool
+binary when cross compiling if the config tool did not have an entry
+in the cross file.
+
# Dependencies with custom lookup functionality
Some dependencies have specific detection logic.
@@ -237,26 +282,6 @@ cups_dep = dependency('cups', method : 'pkg-config')
wmf_dep = dependency('libwmf', method : 'config-tool')
```
-## Dependencies using config tools
-
-[CUPS](#cups), [LLVM](#llvm), [pcap](#pcap), [WxWidgets](#wxwidgets),
-[libwmf](#libwmf), [GCrypt](#libgcrypt), [GPGME](#gpgme), and GnuStep either do not provide pkg-config
-modules or additionally can be detected via a config tool
-(cups-config, llvm-config, libgcrypt-config, etc). Meson has native support for these
-tools, and they can be found like other dependencies:
-
-```meson
-pcap_dep = dependency('pcap', version : '>=1.0')
-cups_dep = dependency('cups', version : '>=1.4')
-llvm_dep = dependency('llvm', version : '>=4.0')
-libgcrypt_dep = dependency('libgcrypt', version: '>= 1.8')
-gpgme_dep = dependency('gpgme', version: '>= 1.0')
-```
-
-*Since 0.55.0* Meson won't search $PATH any more for a config tool
-binary when cross compiling if the config tool did not have an entry
-in the cross file.
-
## AppleFrameworks
Use the `modules` keyword to list frameworks required, e.g.
@@ -267,31 +292,6 @@ dep = dependency('appleframeworks', modules : 'foundation')
These dependencies can never be found for non-OSX hosts.
-## System
-
-Some dependencies provide no valid methods for discovery, or do so only in
-some cases. Some examples of this are Zlib, which provides both pkg-config
-and cmake, except when it is part of the base OS image (such as in FreeBSD
-and macOS); OpenGL which has pkg-config on Unices from glvnd or mesa, but has
-no pkg-config on macOS and Windows.
-
-In these cases meson provides convenience wrappers in the form of `system`
-dependencies. Internally these dependencies do exactly what a user would do
-in the build system DSL or with a script, likely calling
-`compiler.find_library()`, setting `link_with` and `include_directories`. By
-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
Enable support for Clang's blocks extension.