NAME
Module::Build::Pluggable::Fortran - Plugin for Module::Build to compile Fortran .f files
VERSION
version 0.27
SYNOPSIS
# Build.PL
use strict;
use warnings;
use Module::Build::Pluggable ('Fortran');
my $builder = Module::Build::Pluggable->new(
    dist_name  => 'PDL::My::Module',
    license    => 'perl',
    f_source   => [ 'src' ],
    requires   => { },
    configure_requires => {
        'Module::Build'                      => '0.4004',
        'Module::Build::Pluggable'           => '0',
        'Module::Build::Pluggable::Fortran'  => '0.20',
    },
);
$builder->create_build_script();
DESCRIPTION
This is a plugin for Module::Build (using Module::Build::Pluggable) that will assist in building distributions that require Fortran .f files to be compiled. Please see the Module::Build::Authoring documentation if you are not familiar with it.
- Add Prerequisites
 - 
build_requires => { 'ExtUtils::F77' => '0', 'ExtUtils::CBuilder' => '0.23', },You can, or course, require your own versions of these modules by adding them to
requires ={}> as usual. - Compile 
.ffiles - 
The directories specified by the f_source array within your distribution will be searched for
.ffiles which are, immediately prior to the build phase, compiled into.ofiles. This is accomplished (effectively) by running:my $mycompiler = ExtUtils::F77->compiler(); my $mycflags = ExtUtils::F77->cflags(); system( "$mycompiler -c -o $file.o $mycflags -O3 -fPIC $file.f" ); - Add Extra Linker Flags
 - 
extra_linker_flags => $PDL::Config{MALLOCDBG}->{libs} if $PDL::Config{MALLOCDBG}->{libs}; extra_linker_flags => ExtUtils::F77->runtime, <your fortran object files>Adds the linker flags from
ExtUtils::F77and all the.oobject files created from the.fFortran files. 
SEE ALSO
Module::Build::Pluggable, Module::Build
AUTHOR
Mark Grimes, <mgrimes@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by Mark Grimes, <mgrimes@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.