ExtUtils::Liblist

Used for building a Makefile for a Perl module. Takes a list of libraries and returns platform-appropriate lines that can be included in the Makefile.

require ExtUtils::Liblist; ExtUtils::Liblist::ext($potential_libs[, $verbose]);

The input list $potential_libs is in the form -llib1 -llib2 -llib3. Additional library paths may be included in the form -L/another/path, which affects searches for all subsequent libraries. If the Boolean $verbose is specified, verbose output messages are provided. Returns a list of four scalar values:

  • EXTRALIBS
  • List of libraries that need to be linked with ld when linking a Perl binary that includes a static extension
  • LDLOADLIBS
  • List of static or dynamic libraries that can or must be linked when creating a shared library using ld
  • LD_RUN_PATH
  • Colon-separated list of the directories in LDLOADLIBS
  • BSLOADLIBS
  • List of libraries that are needed but can be linked in dynamically with the DynaLoader at runtime

The Win32 version (in the standard Perl distribution) is different from the Unix-OS/2 version in several ways:

  • -l and -L are not required on the library and path specifications.
  • Entries must be libraries, not plain object files.
  • If $potential_libs is empty, the return value is also empty.
  • The specified libraries can include both static and import libraries.
  • LDLOADLIBS and EXTRALIBS are always identical; BSLOADLIBS and LD_RUN_PATH are always empty.