Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FFI::Build::MM(3)     User Contributed Perl Documentation    FFI::Build::MM(3)

NAME
       FFI::Build::MM -	FFI::Build installer code for ExtUtils::MakeMaker

VERSION
       version 1.34

SYNOPSIS
       In your Makefile.PL:

	use ExtUtils::MakeMaker;
	use FFI::Build::MM;

	my $fbmm = FFI::Build::MM->new;

	WriteMakefile($fbmm->mm_args(
	  ABSTRACT     => 'My FFI extension',
	  DISTNAME     => 'Foo-Bar-Baz-FFI',
	  NAME	       => 'Foo::Bar::Baz::FFI',
	  VERSION_FROM => 'lib/Foo/Bar/Baz/FFI.pm',
	  ...
	));

	sub MY::postamble {
	  $fbmm->mm_postamble;
	}

       Then put	the C, C++ or Fortran files in "./ffi" for your	runtime
       library and "./t/ffi" for your test time	library.

DESCRIPTION
       This module provides a thin layer between FFI::Build and
       ExtUtils::MakeMaker.  Its interface is influenced by the	design of
       Alien::Build::MM.  The idea is that for your distribution you throw
       some C, C++ or Fortran source files into	a directory called "ffi" and
       these files will	be compiled and	linked into a library that can be used
       by your module.	There is a control file	"ffi/*.fbx" which can be used
       to control the compiler and linker options.  (options passed directly
       into FFI::Build).  The interface	for this file is still under
       development.

CONSTRUCTOR
   new
	my $fbmm = FFI::Build::MM->new;

       Create a	new instance of	FFI::Build::MM.

METHODS
   mm_args
	my %new_args = $fbmm->mm_args(%old_args);

       This method does	two things:

       reads the arguments to determine	sensible defaults (library name,
       install location, etc).
       adjusts the arguments as	necessary and returns an updated set of
       arguments.

   mm_postamble
	my $postamble =	$fbmm->mm_postamble;

       This returns the	Makefile postamble used	by ExtUtils::MakeMaker.	 The
       synopsis	above for how to invoke	it properly.  It adds the following
       Make targets:

       fbx_build / ffi
	   build the main runtime library in "./ffi".

       fbx_test	/ ffi-test
	   Build the test library in "./t/ffi".

       fbx_clean / ffi-clean
	   Clean any runtime or	test libraries already built.

       Normally	you do not need	to build these targets manually, they will be
       built automatically at the appropriate stage.

AUTHOR
       Author: Graham Ollis <plicease@cpan.org>

       Contributors:

       Bakkiaraj Murugesan (bakkiaraj)

       Dylan Cali (calid)

       pipcet

       Zaki Mughal (zmughal)

       Fitz Elliott (felliott)

       Vickenty	Fesunov	(vyf)

       Gregor Herrmann (gregoa)

       Shlomi Fish (shlomif)

       Damyan Ivanov

       Ilya Pavlov (Ilya33)

       Petr Pisar (ppisar)

       Mohammad	S Anwar	(MANWAR)

       HAYkon HA|gland (hakonhagland, HAKONH)

       Meredith	(merrilymeredith, MHOWARD)

       Diab Jerius (DJERIUS)

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2015,2016,2017,2018,2019,2020 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.

perl v5.32.1			  2020-10-23		     FFI::Build::MM(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=FFI::Build::MM&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help