require ExtUtils::Liblist; ExtUtils::Liblist::ext($potential_libs, $Verbose);
This utility takes a list of libraries in the form -llib1 -llib2
-llib3
and returns lines suitable for inclusion in a Perl
extension Makefile on the current platform. Extra library paths may be
included with the form -L/another/path
. This will affect the
searches for all subsequent libraries.
ExtUtils::Liblist::ext()
returns a list of four scalar
values, which Makemaker will eventually use in constructing a
Makefile, among other things. The values are:
EXTRALIBS
List of libraries that need to be linked with ld(1) when linking a Perl binary that includes a static extension. Only those libraries that actually exist are included.
LDLOADLIBS
List of those libraries that can or must be linked when creating a shared library using ld(1). These may be static or dynamic libraries.
LD_RUN_PATH
A colon-separated list of the
directories in LDLOADLIBS
. It is passed as an environment variable
to the process that links the shared library.
BSLOADLIBS
List of those libraries that are needed but can be linked in dynamically
with the DynaLoader at run-time on this platform. This list is used to
create a .bs (bootstrap) file. SunOS/Solaris does not need
this because ld(1) records the information (from LDLOADLIBS
)
into the object file.
This module deals with a lot of system dependencies and has quite a few architecture-specific ifs in the code.