diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-08-18 10:23:35 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-08-18 10:25:38 +0200 |
commit | 91dbd2751120684fba666e3b958837c96d5044bc (patch) | |
tree | f866ac802dbdf50f4f4a74b3525e4f40c0dee691 /doc/tutorial/third-party-software.md | |
parent | c44b48cc9ba9d3dcfbce58d1fd2ebdfb2e5f2ceb (diff) | |
download | justbuild-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.md | 20 |
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 |