
NAME
    Alien - External libraries wrapped up for your viewing pleasure!

INSTALLATION

    perl Build.PL
    ./Build
    ./Build test
    ./Build install


    If you are on a windows box you should use 'nmake' rather than 'make'.

SYNOPSIS
        perldoc Alien;

DESCRIPTION
    Alien is a package that exists just to hold together an idea, the idea
    of Alien:: packages, so there is no code here, just motivation for
    Alien.

  Why
    So me and James ended up doing a build system for Fotango, lots of
    people have done a build system, it is a pretty boring task. The boring
    task is really all the mindlessly stupid things you need to do to build
    C libraries that perl modules require, these C modules usually have
    unusual installation systems or require vastly different options. So
    CPAN modules install easy, 3rd party stuff is nasty.

    So, suddenly an idea struck me, Alien packages! Imagine a CPAN module
    that has as it's only task to make sure a certain library is installed!
    That means that you can write all the voodoo in your Build.PL file and
    then just make sure the module requires the correct Alien module! Then
    anything that install perl modules will deal with it automatically!

  How
    So, what should an Alien module do? It should make sure that the target
    is installed and it should provide the caller with enough information to
    use it.

    The idea is that you use it to make sure it is there, and you call class
    methods to find out what to use. These class methods will be
    individually specified by the stand alone Alien modules.

  No Framework!
    The reason this is so loosely worded is because we have no idea what
    common functionality will be needed, so we will let evolution work for
    us and see what individual Alien packages need and then eventually
    factor it out into this packages. I would like to avoid a topdown design
    approach.

  Responsibilities of a Alien module.
    On installation, make sure the required package is there, otherwise
    install it.

    On usage, make sure the required package is there, else croak.

    Bundle the source with the module, or download it.

    Allow module authors to access information it gathers.

    Document itself well.

    Preferably use Module::Build.

    Be sane.

BUGS
    Might be spelling errors, please report them bug-Alien@rt.cpan.org.

SUPPORT
    No support needed.

AUTHOR
            Arthur Bergman
            abergman@fotango.com

COPYRIGHT
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    The full text of the license can be found in the LICENSE file included
    with this module.

SEE ALSO
    perl(1).

