@@ -345,6 +345,27 @@ Examples of builders that depend on other binaries include:
345
345
depends on ` Xorg_libxcb_jll ` , and ` Xorg_xtrans_jll ` at build- and run-time,
346
346
and on ` Xorg_xorgproto_jll ` and ` Xorg_util_macros_jll ` only at build-time.
347
347
348
+ ### Version number of dependencies
349
+
350
+ There are two different ways to specify the version of a dependency, with two
351
+ different meanings:
352
+
353
+ * ` Dependency("Foo_jll", v"1.2.3") ` : the second argument of ` Dependency `
354
+ specifies the version of the package to be used for building: this version * is
355
+ not* reflected into a compatibility bound in the project of the generated JLL
356
+ package. This is useful when the package you want to build is compatible with
357
+ all the versions of the dependency starting from the given one (and then you
358
+ don't want to restrict compatibility bounds of the JLL package), but to
359
+ maximize compatibility you want to build against the oldest compatible
360
+ version.
361
+ * ` Dependency(PackageSpec(; name="Foo_jll", version=v"1.2.3")) ` : if the package
362
+ is given as a ` Pkg.PackageSpec ` and the ` version ` keyword argument is given,
363
+ this version of the package is used for the build * and* the generated JLL
364
+ package will be compatible with the provided version of the package. This
365
+ should be used when your package is compatible only with a single version of
366
+ the dependency, a condition that you want to reflect also in the project of the
367
+ JLL package.
368
+
348
369
# Building and testing JLL packages locally
349
370
350
371
As a package developer, you may want to test JLL packages locally, or as a binary dependency
0 commit comments