Programming Perl

Programming PerlSearch this book
Previous: 7.2.16 ExtUtils::Install - Install Files from Here to ThereChapter 7
The Standard Perl Library
Next: 7.2.18 ExtUtils::MakeMaker - Create a Makefile for a Perl Extension
 

7.2.17 ExtUtils::Liblist - Determine Libraries to Use and How to Use Them

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.

7.2.17.1 Portability

This module deals with a lot of system dependencies and has quite a few architecture-specific ifs in the code.


Previous: 7.2.16 ExtUtils::Install - Install Files from Here to ThereProgramming PerlNext: 7.2.18 ExtUtils::MakeMaker - Create a Makefile for a Perl Extension
7.2.16 ExtUtils::Install - Install Files from Here to ThereBook Index7.2.18 ExtUtils::MakeMaker - Create a Makefile for a Perl Extension