Property library -- Specify which library should contain the object files
generated by building this package.
Synopsis
cdl_package <name> {
library <library name>
…
}
Description
By default all object files that get built for all packages end up in
a single library, libtarget.a. This makes things
easier for the typical application developer because it is only
necessary to link with a single library, rather than with separate
libraries for each package. It is possible to specify an alternative
library for specific files as an option to the compile and
make_object properties, and there is one library libextras.a which serves a
specific purpose in the build system. The library property allows an
alternative library to be specified for all the object files that will
be generated for a given package.
The use of the library property should be avoided, since it makes
things more difficult for application developers. The property is
intended only for special cases, for example if there are legal
objections to mingling object files from different packages in a
single library. It could also be used to work around name clash
problems if two packages happen to define an exported symbol with the
same name, but any attempt to use multiple libraries in this way is
error-prone and should be avoided.
The library property takes a single argument, the name of a library,
which should follow the standard naming convention of
lib<something>.a. A library property can
only occur in the body of a cdl_package command and applies to all
object files generated for that package (except where explicitly
overwritten with a -library= option to one of the
build-related properties). A cdl_package body can contain at most
one library property.