Customising CPP flags to match Fortran flags
Mark Hadfield
m.hadfield at niwa.co.nz
Tue Mar 27 21:36:16 MDT 2007
Ed Hartnett wrote:
> If you set FFLAGS, FCFLAGS, and F90FLAGS to the flags you want, before
> running the netCDF configure, that should work. Doesn't it?
>
No. Configure does the relevant test and gets the right answer...
checking for C-equivalent to Fortran routine "SUB"... SUB
...but symbols in libnetcdf.a follow the f2cFortran convention, i.e.
lower case with 2 underscores. (And if I set CPPFLAGS=-DpgiFortran the
symbols follow that convention, lower case with 1 underscore.)
I'm unclear about how the result of the configure test is supposed to
affect the build system. My experience suggests that it doesn't.
> Make sure you do a make distclean first when changing the flags!
>
Yes. I usually delete all files and unpack from source again just to be
sure.
I've found a successful workaround:
Unpack and configure:
CC=gcc FC=g95 CPPFLAGS=-DpgiFortran FFLAGS="-fno-underscoring
-fcase-upper" ./configure --disable-f90 --disable-cxx
Edit cfortran.h, changing line 198 to
#define fcallsc(UN,LN) UN
Run make, make check & make install as usual.
NB1: I didn't bother with FCFLAGS and F90FLAGS 'cause I don't need f90.
NB2: I don't need cxx either.
NB3: I explicitly specifed pgiFortran to disable the big block of
special-case code for f2cFortran near the end of ncfortran.h.
I'm happy with this, but still interested in a more elegant method, of
course.
--
Mark Hadfield "Ka puwaha te tai nei, Hoea tahi tatou"
m.hadfield at niwa.co.nz
National Institute for Water and Atmospheric Research (NIWA)
==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
More information about the netcdfgroup
mailing list