automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fortran modules


From: Alexandre Duret-Lutz
Subject: Re: fortran modules
Date: Mon, 02 Feb 2004 09:35:31 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

keep any automake discussion public please

>>> "Michael" == Michael R Nolta <address@hidden> writes:

[...]

 Michael> Not all files produce modules; only files containing
 Michael> "module x ... end module" blocks do. And there can be
 Michael> multiple module definitions per file. 

 >> I hope that does not mean many *.mod file can be produced by
 >> a single compilation.

 Michael> Yes, it does.

:( I don't know how that can be handled.  

I assume any of these modules can be included (if that's the
word) by another .f90 file during the build.  All the .f90 files
must therefore be compiled in the correct order, so that .mod
are available to others as needed.  One way to ensure this is
with proper Makefile dependencies.

However the only way to know which .mod files a .f90 will
produce is to poke into that .f90, isn't it?  That would
therefore had to be done at automake-time, but this is a very
unpleasant thing to do.  

The Texinfo handling code already does something similar (it
search @setfilename into the .texi files) and we have hit a
problem because of this: the file must exist when automake is
run.  This hinders support of generated .texi files.

Back to F90, that would mean that if automake has to scan the
.f90 files, any .f90 file which is actually produced at make
time (and couldn't be scanned by automake) is not allowed to
output modules.

[...]

 Michael> Yes, you're right. Should I say "nodist_EXTRA_HEADERS =
 Michael> ..." too?

 >> You can.  It even looks more sensible.  But actually it's
 >> superfluous: EXTRA_* is really useful when there are extra
 >> files to distribute or extra compile rule to generate.

 Michael> But if I omit EXTRA_HEADERS (or if I use
 Michael> nodist_EXTRA_HEADERS), then I get the following error
 Michael> message:

 Michael> f90/Makefile.am:11: `nodist_include_HEADERS' contains configure
 Michael> substitution,
 Michael> f90/Makefile.am:11: but `EXTRA_HEADERS' not defined

Well, so it is required then...  Sorry for the confusion.
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]