Hello all,

The example code below illustrates how Inline::F2003 could be configured to 
build a shared library from the Fortran source files listed in "SRCLIST". Also, 
I propose to add a new parameter called "MAKEFILE", and this leads me into an 
area that I'm unsure about.

use Inline F2003 => Config => (
                       SRCLIST   => "ModMatrixOps.f03",
                       LIBNAME   => "libMatrixOps.so",
                       LIBTYPE   => ".so",
                       MAKEFILE  => "AUTOMAKE",
                       BUILDDIR  => "BLD_Linux.AMD64_gfortran",
                       FOR       => "gfortran",
                       FORFLG    => "-v -g -c -std=f2003 -fpic -cpp"
                    );

This new parameter "MAKEFILE" is intended to allow programmers to specify their 
own makefile. However, the special value "AUTOMAKE" can also be specified (as 
shown above), which means that Inline::F2003 would generate a suitable 
makefile, and this is where I need some advice.

Inline::C uses ExtUtils::MakeMaker to generate the makefile. I would like to 
use ExtUtils::MakeMaker, but I don't think it would be possible since it 
generates makefiles for C compilation, not Fortran compilation. Unless there is 
some clever way to configure ExtUtils::MakeMaker to output Fortran makefiles?

Another option is to use the GNU autotools. In this scenario, Inline::F2003 
would read an existing "Makefile.in", then use the parameters specified in the 
above example, and write out the final Makefile. Sounds simple, but I've never 
done this before.

If anyone is able to provide advice, suggestions or opinions, I would be really 
grateful. Many thanks for reading.

Cheers,
Ron.
________________________________________
Ron Grunwald
ron...@yahoo.com.au
http://www.dvlcorner.org


> On 22 May 2017, at 9:55 pm, Ron Grunwald via inline <inline@perl.org> wrote:
> 
> Hello all,
> 
> I've been thinking about this for quite some time now, and have finally 
> decided to pursue the idea of a modern FORTRAN Inline module. Given that soon 
> I'll be having some time available through to the end of this year, I'm 
> confident that I can make this work.
> 
> The name of the proposed module is Inline::F2003
> 

Reply via email to