severity 8635 wishlist thanks On Saturday 07 May 2011, Peter Williams wrote: > I'm working on wrapping a large, preexisting piece of Fortran code with > an Autotools-based build system. The code is written in Fortran 90 and > uses ".for" for the file extension. Unfortunately, automake ... > I assume you are using automake 1.11.1, right? > ... thinks that ".for" files are Fortran 77 code, so the wrong compiler > gets used and chokes on the F90 constructs. > > It's not practical for me to rename the files -- tracking upstream would > become impossible. Would it be possible to provide a way for me to tell > automake that my .for files are actually Fortran 90, not Fortran 77? As > far as I can tell, this mapping is simply hardcoded in /usr/bin/automake. > You're right. > It wouldn't be the most pleasant, but it'd suffice > if there were some global variable that I could set that would say "hey, > Automake, .for files are F90". One could imagine more generic solutions > as well, but Fortran is probably the only language that has these kinds > of problems. > Please try the attached patch (against the v1.11.1 tag in the automake git repository). I *think* it should solve your problem for what concerns automake. However, note that the GNU Fortran Compiler will still consider `*.for' files to be Fortran 77 by default, so you'll have to instruct it to explicitly assume free-form Fortran 90 input, with .e.g.: $ ./configure FCFLAGS='-ffree-form -x f95' LDFLAGS='-x none' This solution is probably not the best one, and is certainly not pretty, but it should work. If you can come up with a more general one, I'd be happy to hear about it. > Thanks, > > Peter > HTH, Stefano