Ralf Wildenhues wrote:
> Hello John,

> 
>>I'm trying to set up a small fortran 90 project using the gnu
>>auto-tools.  My fortran files (*.f90) require a preprocessor to
>>interpret # directives.  In the case of gcc, I need to add the flag -x
>>f95-cpp-input to force the use of the preprocessor.  I can do this
>>by adding the line
>>
>>AM_FCFLAGS = -x f95-cpp-input
>>
>>to Makefile.am.
> 
> 
> You can set the variable from configure.ac, e.g.,
>   AC_SUBST([AM_FCFLAGS], [-x f95-cpp-input])
> 
> You could conditionalize it on the compiler there.  Note that Automake
> assumes preprocessed Fortran with capitalized suffixes .F90, .F95.  So 
> if you use them, you can stuff preprocessing flags in AM_CPPFLAGS, e.g.,
> globally in configure.ac, if your project consists only of Fortran
> source, or per-Makefile.am, if you have other directories with different
> source languages.  For example, you could have this in configure.ac:
>   MY_FPPFLAGS="-x f95-cpp-input"
>   AC_SUBST([MY_FPPFLAGS])
> 
> and this in src/f90/Makefile.am:
>   AM_CPPFLAGS = $(MY_FPPFLAGS) ...
> 
> Hope that helps.
> 
> Cheers,
> Ralf
> 
> 

Hi Ralf,

First of all, thanks for your help.  But, I'm still having some trouble.

MY_FPPFLAGS="-x f95-cpp-input"
AC_SUBST([MY_FPPFLAGS])

This doesn't work because the final makefile compile lines are

FCLD = $(FC)
FCLINK = $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)

I don't know how to get the MY_FPPFLAGS into the compile line flags.

I could never get the following line to produce the substitution.
AC_SUBST([AM_FCFLAGS], [-x f95-cpp-input])

However,

AM_FCFLAGS="-x f95-cpp-input"
AC_SUBST([AM_FCFLAGS])

did produce the right substitution.  But, in either case of the
AM_FCFLAGS, I still have the original problem of the -x f95-cpp-input
getting passed to the linker, which completely doesn't work since the
preprocessor tries to process object files while linking.  How do I get
the build system to add compile flags that aren't link flags?  As you
can see above, all the compile flags are also passed to the linker.

By the way, where is the Automake list?

Thanks,
John







_______________________________________________
help-gnu-utils mailing list
help-gnu-utils@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-utils

Reply via email to