Use compile:binary-lib-mappings when compiling.
In Zero Install:
- A library package contains the foo.so and foo.so.version files.
- A -dev package contains the header files.
In a distribution package:
- A library package contains the foo.so.version file only.
- A -dev package contains headers and the foo.so file.
So, if you try to use a Zero Install -dev package with a distribution library
package, no one provides the libfoo.so file.
In this case, a -dev package should specify the mappings, like this:
<implementation arch='*-src' compile:lib-mappings="glade:0 foo:5" ...
When 0compile compile anything that depends on this -dev package, it searches
for libglade.so.0 and libfoo.so.5 in the library search path and creates
symlinks to them named libglade.so and libfoo.so in a temporary directory,
which it adds to the search path. Programs should then compile correctly without
modifications.
The source for a -dev package can use compile:binary-lib-mappings to have this
value placed in the generated -dev "binary" package.