F2C for BEOS (dr8) This is a port of AT&T's f2c for the BEOS. Using f2c, via the f77 shell script, one can easily port the few old, but essential, fortran programs to the Be. To install the header file, the binaries and the libraries execute the "Install" script. Don't forget to add $BIN to your PATH variable. To recompile this package just execute the "Make" script. This script will compile f2c and the runtime libraries libF77 and libI77. Next it will call the "Makelib" script which generates the libf2c.a and libf2c.so. Finally the "Install" script places the include file, the binaries and the libraries in the appropriate places. Remarks about the f2c Be port: - due to the fact that Be's fscanf does not return EOF as expected I had to make a little routine checkeof() as a workaround (see src/format.c). Be! please fix fscanf! - due to fact that Be does not have the UNIX stdio structures some changes were necessary in a number of routines in libI77. Compare the *.org routines with the modified versions (one can also compile with the NON_UNIX_STDIO flag in which case the changes are not used). - to get the system to link I had to add erf.c (Be! please add to libBe.so or libm.a). - also to get the f77 script working I needed the program getopt (source in getoptprog.c, Be! please add to /bin). - due to the fact that it is currently impossible to make shared libraries that call routines in the main program I had to make libF77/main.c dummy and explicitely link it whenever linking the fortran main program (it is f2cmain.o in $INC). Apropos, the Be/MW shared library policy is a major pain in the neck. The requirement that a shared library has to resolve all its symbols is making it impossible to create shared libraries that reference eachothers symbols (wihtout having to resort to dummy definition techniques which defeat the purpose of the initial requirement anyway). Linux and 80% of the other Unixes are more flexible in this respect (and they don't all come crashing down because of wrong shared libraries linked to the wrong programs). Anyway, Be's solution is still a little better than M$'s DLL's. I know Jon's arguments in favor of this scheme, but not every sl is an add-on. -- Fons.Rademakers@cern.ch