NAME Module::Build::Pluggable::PDL - Plugin to Module::Build to build PDL projets VERSION version 0.20 SYNOPSIS # Build.PL use strict; use warnings; use Module::Build::Pluggable ('PDL'); 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 "lib" directory of your distribution will be searched for ".f" files and, immediately prior to the build phase, compiles them 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) 2013 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.