[Chapter 7] 7.2.17 ExtUtils::Liblist - Determine Libraries to Use and How to Use Them
Author: Larry Wall, Tom Christiansen & Randal L. Schwartz
Date: 1999-07-02T02:02:01Z

#

| Chapter 7 The Standard Perl Library |

### 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.

7.2.16 ExtUtils::Install - Install Files from Here to There |  | 7.2.18 ExtUtils::MakeMaker - Create a Makefile for a Perl Extension