F2C can be downloaded from http://www.netlib.org/f2c/
F2C will build for MS-DOS (DPMI), Win32, and most UNIX. The biggest issue I've had testing has been the DEC Alpha because it's floating point seems to be too different.
F2c is somewhat straightforward to install... The two big 'camps' are Unix and Windows.
For UNIX systems it's easier to install tar.gz's here:
Simply extract and run:
tar -zxvf f2c.tar.gz cd f2c make -f makefile.u f2c
cp f2c /usr/local/bin cp f2c.h /usr/local/include
If all went well you should have a f2c command.
Next you'll need to download and build the IO library
Simply extract and run:
tar -zxvf libf2c.tar.gz cd libf2c make -f makefile.u
cp libf2c.a /usr/local/lib
F2c can also be built using Visual C++. The key here is that you'll have to use the .vc makefiles. For Windows/MS-DOS users it's easier to download these zip files:
then simply unzip f2c.zip somewhere, then using the CLI tools simply
cd f2c nmake -f makefile.vc f2c.exe
This will build the f2c translator. You may wish to copy it somewhere in your path, along with the f2c.h into your include path.
Next is the IO library.
nmake -f makefile.vc
This will now generate the vcf2c.lib which you'll need to link your programs against.
Now you should be able to build a simple FORTRAN program like this:
C1234567890 C Hello world program hello print *, 'Hello!' end
Note that you'll need a blank line on the end. This just makes f2c all the happier.
Build instructions for Unix
bash-2.01$ f2c hello.f hello.f: MAIN hello: bash-2.01$ cc hello.c -lf2c -o hello bash-2.01$ file hello hello: Mach-O executable (for architecture m68k) not stripped bash-2.01$ ./hello Hello!
Build instructions for Windows
c:\temp\x>f2c\f2c hello.f hello.f: MAIN hello: c:\temp\x>cl hello.c -If2c libf2c\vcf2c.lib Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj libf2c\vcf2c.lib c:\temp\x>hello Hello!
Naturally if you copy the f2c.h file into your include path, and hte vcf2c.lib into your libpath then you won't have to directly path to them.... But I think this should get you going.
Programs that build with f2c
I'm not that big into FORTRAN, but here is a small list of programs that I've built with f2c.