The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Alien::hdt_cpp - Find or build hdt-cpp (RDF binary format library)

SYNOPSIS

From ExtUtils::MakeMaker:

 use ExtUtils::MakeMaker;
 use Alien::Base::Wrapper ();

 WriteMakefile(
   Alien::Base::Wrapper->new('Alien::hdt_cpp')->mm_args2(
     NAME => 'FOO::XS',
     ...
   ),
 );

From Module::Build:

 use Module::Build;
 use Alien::Base::Wrapper qw( Alien::hdt_cpp !export );
 use Alien::hdt_cpp;

 my $build = Module::Build->new(
   ...
   configure_requires => {
     'Alien::Base::Wrapper' => '0',
     'Alien::hdt_cpp' => '0',
     ...
   },
   Alien::Base::Wrapper->mb_args,
   ...
 );

 $build->create_build_script;

From Inline::C / Inline::CPP script:

 use Inline 0.56 with => 'Alien::hdt_cpp';

From Dist::Zilla

 [@Filter]
 -bundle = @Basic
 -remove = MakeMaker

 [Prereqs / ConfigureRequires]
 Alien::hdt_cpp = 0

 [MakeMaker::Awesome]
 header = use Alien::Base::Wrapper qw( Alien::hdt_cpp !export );
 WriteMakefile_arg = Alien::Base::Wrapper->mm_args

From FFI::Platypus:

 use FFI::Platypus;
 use Alien::hdt_cpp;

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

Command line tool:

 use Alien::hdt_cpp;
 use Env qw( @PATH );

 unshift @PATH, Alien::hdt_cpp->bin_dir;

DESCRIPTION

This distribution provides hdt-cpp so that it can be used by other Perl distributions that are on CPAN. It does this by first trying to detect an existing install of hdt-cpp on your system. If found it will use that. If it cannot be found, the source code will be downloaded from the internet and it will be installed in a private share location for the use of other modules.

SEE ALSO

https://www.rdfhdt.org/

RDF HDT homepage

Alien

Documentation on the Alien concept itself.

Alien::Base

The base class for this Alien.

Alien::Build::Manual::AlienUser

Detailed manual for users of Alien classes.