NAME Module::Build::Pluggable::Fortran - Plugin for Module::Build to compile Fortran ".f" files VERSION version 0.26 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 ".f" files The directories specified by the f_source array within your distribution will be searched for ".f" files which are, immediately prior to the build phase, compiled into ".o" files. 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, Adds the linker flags from "ExtUtils::F77" and all the ".o" object files created from the ".f" Fortran files. SEE ALSO Module::Build::Pluggable, Module::Build AUTHOR Mark Grimes, COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Mark Grimes, . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.