NAME

    Alien::Autotools - Build and install the GNU build system.

VERSION

    version 1.08

SYNOPSIS

    From Perl:

     use Alien::Autotools;
     use Env qw( @PATH @ACLOCAL_PATH );
     
     unshift @PATH, Alien::Autotools->bin_dir;
     unshift @ACLOCAL_PATH, Alien::Autotools->aclocal_dir;
     
     system 'autoconf', ...;

    From alienfile:

     use alienfile;
     
     share {
       # Alien::Autotools will pull in:
       #  - Alien::autoconf
       #  - Alien::automake
       #  - Alien::m4
       #  - Alien::libtool
       # all of which you will likely need.
       requires 'Alien::Autotools';
       plugin 'Build::Autoconf';
       build [
         '%{autoreconf} -vfi',
         '%{configure}',
         '%{make}',
         '%{make} install',
       ];
     };

DESCRIPTION

    This Alien provides the minimum tools requires for building autoconf
    based projects which do not come bundled with a working configure
    script. It currently delegates most of its responsibilities to
    Alien::autoconf, Alien::automake, Alien::libtool, and Alien::m4.

    The most common use case from an alienfile is shown above where
    autoreconf is called from this Alien, which allows the
    Alien::Build::Plugin::Build::Autoconf to then configure and build the
    alienized package.

METHODS

 bin_dir

     my @dirs = Alien::Autotools->bin_dir;

    Returns the list of directories that need to be added to PATH in order
    for the autotools to work correctly.

 aclocal_dir

     my @dirs = Alien::Autotools->aclocal_dir;

    Returns the list of directories that need to be added to ACLOCAL_PATH
    in order for the autotools to work correctly.

 versions

     my %versions = Alien::Autotools->versions;

    Returns the versions of the various autotools that are available.

 autoconf_dir

     # legacy interface
     use Alien:::Autotools qw( autoconf_dir );
     my $dir = autoconf_dir;

    Returns the directory path to autoconf

 automake_dir

     # legacy interface
     use Alien:::Autotools qw( automake_dir );
     my $dir = automake_dir;

    Returns the directory path to automake

 libtool_dir

     # legacy interface
     use Alien:::Autotools qw( libtool_dir );
     my $dir = libtool_dir;

    Returns the directory path to libtool

CAVEATS

    This module is typically needed for other Aliens for a share install
    that use the autotools / GNU build system without bundling a pre-built
    configure script. If possible it is better to use a version of the
    alienized package that includes a pre-built configure script.

    If you are a system vendor, then you should typically not need to
    package this module, check to see if the dependency that requires it
    can be built as a system install instead.

HELPERS

    This Alien provides all of the helpers provides by Alien::m4,
    Alien::autoconf, Alien::automake and Alien::libtool. Each helper will
    execute the corresponding command. You will want to sue the helpers
    instead of using the command names directly because they will use the
    correct incantation on Windows. The following list is a subset of all
    of the helpers provided by this alien that are probably the most
    useful.

    m4

    autoreconf

    automake

    libtool

    libtoolize

SEE ALSO

    Alien

    Alien::Build

    alienfile

    Alien::autoconf

    Alien::automake

    Alien::libtool

    Alien::m4

AUTHOR

    Original author: Richard Simões

    Current maintainer: Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

    This software is Copyright (c) 2012-2022 by Richard Simões.

    This is free software, licensed under:

      The GNU Lesser General Public License, Version 3, June 2007