Alien::Libxml2(3) User Contributed Perl Documentation Alien::Libxml2(3)

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

version 0.19

In your Makefile.PL:

use ExtUtils::MakeMaker;
use Alien::Base::Wrapper ();
WriteMakefile(
  Alien::Base::Wrapper->new('Alien::Libxml2')->mm_args2(
    # MakeMaker args
    NAME => 'My::XS',
    ...
  ),
);

In your Build.PL:

use Module::Build;
use Alien::Base::Wrapper qw( Alien::Libxml2 !export );
my $builder = Module::Build->new(
  ...
  configure_requires => {
    'Alien::Libxml2' => '0',
    ...
  },
  Alien::Base::Wrapper->mb_args,
  ...
);
$build->create_build_script;

In your FFI::Platypus script or module:

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

This module provides "libxml2" for other modules to use.

There was an older existing Alien::LibXML, but it uses the older Alien::Build::ModuleBuild and the author prefers this version which is based on the more robust alienfile system.

"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.

Older Alien for the same library.
Perl interface to "libxml2", which uses this Alien

Author: Graham Ollis <plicease@cpan.org>

Contributors:

Shlomi Fish (shlomif)

This software is copyright (c) 2013-2022 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.

2023-07-25 perl v5.38.0