NAME

Alien::Libxml2 - Install the C libxml2 library on your system

VERSION

version 0.11

SYNOPSIS

In your Build.PL:

use Module::Build;
use Alien::Libxml2;
my $builder = Module::Build->new(
  ...
  configure_requires => {
    'Alien::Libxml2' => '0',
    ...
  },
  extra_compiler_flags => Alien::Libxml2->cflags,
  extra_linker_flags   => Alien::Libxml2->libs,
  ...
);

$build->create_build_script;

In your Makefile.PL:

use ExtUtils::MakeMaker;
use Config;
use Alien::Libxml2;

WriteMakefile(
  ...
  CONFIGURE_REQUIRES => {
    'Alien::Libxml2' => '0',
  },
  CCFLAGS => Alien::Libxml2->cflags . " $Config{ccflags}",
  LIBS    => [ Alien::Libxml2->libs ],
  ...
);

In your FFI::Platypus script or module:

use FFI::Platypus;
use Alien::Libxml2;

my $ffi = FFI::Platypus->new(
  lib => [ Alien::Libxml2->dynamic_libs ],
);

DESCRIPTION

This module provides libxml2 for other modules to use. There was an already existing Alien::LibXML, but it uses the older Alien::Build::ModuleBuild and has not been actively maintained for a while.

CAVEATS

libxml2 has some optional prereqs, including zlib and iconv. For a share install you will want to make sure that these are installed prior to installing Alien::Libxml2 if you want to make use of features relying on them.

For a system install, you want to make sure the development packages for libxml2, zlib and iconv are installed if libxml2 has been configured to use them, otherwise XML::LibXML will not install as expected. If the tests for this module fail with a missing iconv.h or zlib.h, then this is likely the reason.

SEE ALSO

Alien::LibXML

Unmaintained Alien for the same library.

AUTHOR

Author: Graham Ollis <plicease@cpan.org>

Contributors:

Shlomi Fish (shlomif)

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.