summaryrefslogtreecommitdiff
path: root/doc/tutorial/third-party-software.md
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-08-18 10:23:35 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-08-18 10:25:38 +0200
commit91dbd2751120684fba666e3b958837c96d5044bc (patch)
treef866ac802dbdf50f4f4a74b3525e4f40c0dee691 /doc/tutorial/third-party-software.md
parentc44b48cc9ba9d3dcfbce58d1fd2ebdfb2e5f2ceb (diff)
downloadjustbuild-91dbd2751120684fba666e3b958837c96d5044bc.tar.gz
tutorial, third party: also mention pkg-config as option
While there, - remove the outdated claim that in package build of just the prebuilt library aproach of a header-only library with link dependencies is chosen, and - remove a wrong footnote separator.
Diffstat (limited to 'doc/tutorial/third-party-software.md')
-rw-r--r--doc/tutorial/third-party-software.md20
1 files changed, 16 insertions, 4 deletions
diff --git a/doc/tutorial/third-party-software.md b/doc/tutorial/third-party-software.md
index c8653d3e..815543c5 100644
--- a/doc/tutorial/third-party-software.md
+++ b/doc/tutorial/third-party-software.md
@@ -430,8 +430,8 @@ different build configuration (production, debug, instrumented for
performance analysis; cross-compiling for a different target
architecture), there are also legitimate reasons to use pre-built
dependencies. The most prominent one is if your project is packaged as
-part of a larger distribution. For that reason, just also has (in
-`etc/import.prebuilt`) target files for all its dependencies assuming
+part of a larger distribution. For that reason, just also has target files
+for all its dependencies assuming
they are pre-installed. The reason why target files are used at all for
this situation is twofold.
@@ -456,7 +456,7 @@ this situation is twofold.
description maintainable, as each target still only declares its
direct dependencies.
-The target description for a pre-built version of the format library
+A target description for a pre-built version of the format library
that was used as an example in this section is shown next; with our
staging mechanism the logical repository it belongs to is rooted in the
`fmt` subdirectory of the `include` directory of the ambient system.
@@ -472,7 +472,19 @@ staging mechanism the logical repository it belongs to is rooted in the
}
```
----
+However, even specifying all the include locations and headers can
+be tedious and in the end, it is information that `pkg-config` can
+provide as well. So there is a rule to import libraries that way
+and the actual packaging-build version of `libfmt`, as provided in
+`etc/import.pkgconfig`, looks as follows.
+
+``` {.jsonc srcname="etc/import.pkgconfig/TARGETS.fmt}
+{ "fmt":
+ {"type": ["@", "rules", "CC/pkgconfig", "system_library"], "name": ["fmt"]}
+}
+```
+
+
[^1]: Explicit `TREE` references are always a list of length 3, to
distinguish them from target references of length 2 (module and