.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Alien::Libxml2 3" .TH Alien::Libxml2 3 2024-09-01 "perl v5.40.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Alien::Libxml2 \- Install the C libxml2 library on your system .SH VERSION .IX Header "VERSION" version 0.19 .SH SYNOPSIS .IX Header "SYNOPSIS" In your Makefile.PL: .PP .Vb 2 \& use ExtUtils::MakeMaker; \& use Alien::Base::Wrapper (); \& \& WriteMakefile( \& Alien::Base::Wrapper\->new(\*(AqAlien::Libxml2\*(Aq)\->mm_args2( \& # MakeMaker args \& NAME => \*(AqMy::XS\*(Aq, \& ... \& ), \& ); .Ve .PP In your Build.PL: .PP .Vb 2 \& use Module::Build; \& use Alien::Base::Wrapper qw( Alien::Libxml2 !export ); \& \& my $builder = Module::Build\->new( \& ... \& configure_requires => { \& \*(AqAlien::Libxml2\*(Aq => \*(Aq0\*(Aq, \& ... \& }, \& Alien::Base::Wrapper\->mb_args, \& ... \& ); \& \& $build\->create_build_script; .Ve .PP In your FFI::Platypus script or module: .PP .Vb 2 \& use FFI::Platypus; \& use Alien::Libxml2; \& \& my $ffi = FFI::Platypus\->new( \& lib => [ Alien::Libxml2\->dynamic_libs ], \& ); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This module provides \f(CW\*(C`libxml2\*(C'\fR for other modules to use. .SH CAVEATS .IX Header "CAVEATS" 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. .PP \&\f(CW\*(C`libxml2\*(C'\fR has some optional prereqs, including \f(CW\*(C`zlib\*(C'\fR and \f(CW\*(C`iconv\*(C'\fR. For a \f(CW\*(C`share\*(C'\fR 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. .PP For a system install, you want to make sure the development packages for \&\f(CW\*(C`libxml2\*(C'\fR, \f(CW\*(C`zlib\*(C'\fR and \f(CW\*(C`iconv\*(C'\fR are installed if \f(CW\*(C`libxml2\*(C'\fR has been configured to use them, otherwise XML::LibXML will not install as expected. If the tests for this module fail with a missing \f(CW\*(C`iconv.h\*(C'\fR or \f(CW\*(C`zlib.h\*(C'\fR, then this is likely the reason. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP Alien::LibXML 4 .IX Item "Alien::LibXML" Older Alien for the same library. .IP XML::LibXML 4 .IX Item "XML::LibXML" Perl interface to \f(CW\*(C`libxml2\*(C'\fR, which uses this Alien .SH AUTHOR .IX Header "AUTHOR" Author: Graham Ollis .PP Contributors: .PP Shlomi Fish (shlomif) .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2013\-2022 by Graham Ollis. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.