ExtUtils::Command provides a number of utilities to replace common UNIX
commands in Makefiles, etc. At present the list includes cp, rm_f,
rm_rf, mv, cat, eqtime, mkpath, touch, test_f, test_d, chmod, and
dos2unix. Also included is the companion module Shell::Command, which
is a thin wrapper for ExtUtils::Command to provide cross-platform
functions emulating common shell commands.
File::ExtAttr is a Perl module providing access to the extended
attributes of the files.
Extended attributes are metadata associated with a file. Examples are
access control lists (ACLs) and other security parameters. But users can
add their own key=value pairs.
Extended attributes are supported by FreeBSD starting from version 5.
FcntlLock is a module to do file locking in an object oriented fashion using
the fcntl(2) system call. This allows locks on parts of a file as well as on
the whole file and overcomes some known problems with flock(2), on which Perls
flock() function is based by default.
ExtUtils::CppGuess attempts to guess the system's C++ compiler that is
compatible with the C compiler that your perl was built with.
It can generate the necessary options to the Module::Build constructor or to
ExtUtils::MakeMaker's WriteMakefile function.
This module tries to make it easy to build Perl extensions that use
functions and typemaps provided by other perl extensions. This means
that a perl extension is treated like a shared library that provides
also a C and an XS interface besides the perl one. This works as long
as the base extension is loaded with the RTLD_GLOBAL flag (usually done
with a
sub dl_load_flags {0x01}
in the main .pm file) if you need to use functions defined in the
module.
ExtUtils::InstallPaths tries to make install path resolution as easy as
possible.
When you want to install a module, it needs to figure out where to install
things. The nutshell version of how this works is that default installation
locations are determined from ExtUtils::Config, and they may be individually
overridden by using the install_path attribute. An install_base attribute lets
you specify an alternative installation root like /home/foo and prefix does
something similar in a rather different (and more complicated) way. destdir lets
you specify a temporary installation directory like /tmp/install in case you
want to create bundled-up installable packages.
ExtUtils::LibBuilder is a tool to build C libraries.
ExtUtils::MakeMaker::CPANfile loads cpanfile in your distribution and modifies
parameters for WriteMakefile in your Makefile.PL. Just use it instead of
ExtUtils::MakeMaker (which should be loaded internally), and prepare cpanfile.
As of version 0.03, ExtUtils::MakeMaker::CPANfile also removes WriteMakefile
parameters that the installed version of ExtUtils::MakeMaker doesn't know, to
avoid warnings.
This utility is designed to write a Makefile for an extension module from a
Makefile.PL. It is based on the Makefile.SH model provided by Andy Dougherty
and the perl5-porters.
It splits the task of generating the Makefile into several subroutines that
can be individually overridden. Each subroutine returns the text it wishes to
have written to the Makefile.
MakeMaker is object oriented. Each directory below the current directory that
contains a Makefile.PL is treated as a separate object. This makes it possible
to write an unlimited number of Makefiles with a single invocation of
WriteMakefile().
ExtUtils::Manifest provides a number of utilities to write and check a MANIFEST
file. At present the list includes mkmanifest, manicheck, filecheck, fullcheck,
skipcheck, manifind, maniread, manicopy, and maniadd.