dtrg 014be56fb0 Replaced calls to the custom strindex() and strrindex() functions with the 18 years ago
..
.distr 45d0d9f68f Removed # in commands 32 years ago
Notice 0f16a0f6f8 Added 33 years ago
README 0f16a0f6f8 Added 33 years ago
cds.c 0f16a0f6f8 Added 33 years ago
data.c 0f16a0f6f8 Added 33 years ago
defines.h 0f16a0f6f8 Added 33 years ago
defs.h 0f16a0f6f8 Added 33 years ago
equiv.c 0f16a0f6f8 Added 33 years ago
error.c 0f16a0f6f8 Added 33 years ago
exec.c 0f16a0f6f8 Added 33 years ago
expr.c 0f16a0f6f8 Added 33 years ago
f2c.1 0f16a0f6f8 Added 33 years ago
f2c.1t 0f16a0f6f8 Added 33 years ago
f2c.6 0f16a0f6f8 Added 33 years ago
f2c.h 0f16a0f6f8 Added 33 years ago
format.c 0f16a0f6f8 Added 33 years ago
format.h 0f16a0f6f8 Added 33 years ago
formatdata.c 0f16a0f6f8 Added 33 years ago
ftypes.h 0f16a0f6f8 Added 33 years ago
gram.dcl 0f16a0f6f8 Added 33 years ago
gram.exec 0f16a0f6f8 Added 33 years ago
gram.expr 0f16a0f6f8 Added 33 years ago
gram.head 0f16a0f6f8 Added 33 years ago
gram.io 0f16a0f6f8 Added 33 years ago
init.c 0f16a0f6f8 Added 33 years ago
intr.c 0f16a0f6f8 Added 33 years ago
io.c 0f16a0f6f8 Added 33 years ago
iob.h 0f16a0f6f8 Added 33 years ago
lex.c 0f16a0f6f8 Added 33 years ago
machdefs.h 0f16a0f6f8 Added 33 years ago
main.c 0f16a0f6f8 Added 33 years ago
makefile 0f16a0f6f8 Added 33 years ago
malloc.c 0f16a0f6f8 Added 33 years ago
mem.c 0f16a0f6f8 Added 33 years ago
memset.c 0f16a0f6f8 Added 33 years ago
misc.c 0f16a0f6f8 Added 33 years ago
mk_tokdefs be1d645adf Added mk_tokdefs 32 years ago
names.c 0f16a0f6f8 Added 33 years ago
names.h 0f16a0f6f8 Added 33 years ago
niceprintf.c 0f16a0f6f8 Added 33 years ago
niceprintf.h 0f16a0f6f8 Added 33 years ago
output.c 0f16a0f6f8 Added 33 years ago
output.h 0f16a0f6f8 Added 33 years ago
p1defs.h 0f16a0f6f8 Added 33 years ago
p1output.c 0f16a0f6f8 Added 33 years ago
parse.h 0f16a0f6f8 Added 33 years ago
parse_args.c 0f16a0f6f8 Added 33 years ago
pccdefs.h 0f16a0f6f8 Added 33 years ago
pread.c b9c3a99783 '\v' is not a K&R character 33 years ago
proc.c 0f16a0f6f8 Added 33 years ago
proto.make 1db6a3029b Header --> Id 30 years ago
put.c 0f16a0f6f8 Added 33 years ago
putpcc.c 0f16a0f6f8 Added 33 years ago
string.h 014be56fb0 Replaced calls to the custom strindex() and strrindex() functions with the 18 years ago
sysdep.c 19a47cfa52 qsort arg was wrong for ANSI C 33 years ago
sysdep.h 0f16a0f6f8 Added 33 years ago
tokens 0f16a0f6f8 Added 33 years ago
usignal.h 0f16a0f6f8 Added 33 years ago
vax.c 0f16a0f6f8 Added 33 years ago
version.c 0f16a0f6f8 Added 33 years ago
xsum.c 0f16a0f6f8 Added 33 years ago
xsum0.out 0f16a0f6f8 Added 33 years ago

README

Type "make" to check the validity of the f2c source and compile f2c.

If (in accordance with what follows) you need to modify the makefile
or any of the source files, first issue a "make xsum.out" to check
the validity of the f2c source, then make your changes, then type
"make f2c".

The file usignal.h is for the benefit of strictly ANSI include files
on a UNIX system -- the ANSI signal.h does not define SIGHUP or SIGQUIT.
You may need to modify usignal.h if you are not running f2c on a UNIX
system.

Should you get the message "xsum0.out xsum1.out differ", see what lines
are different (`diff xsum0.out xsum1.out`) and ask netlib to send you
the files in question "from f2c/src". For example, if exec.c and
expr.c have incorrect check sums, you would send netlib the message
send exec.c expr.c from f2c/src

On some systems, the malloc and free in malloc.c let f2c run faster
than do the standard malloc and free. Other systems cannot tolerate
redefinition of malloc and free. If yours is such a system, you may
either modify the makefile appropriately, or simply execute
cc -c -DCRAY malloc.c
before typing "make". Still other systems have a -lmalloc that
provides performance competitive with that from malloc.c; you may
wish to compare the two on your system.

On some BSD systems, you may need to create a file named "string.h"
whose single line is
#include
you may need to add " -Dstrchr=index" to the "CFLAGS =" assignment
in the makefile, and you may need to add " memset.o" to the "OBJECTS ="
assignment in the makefile -- see the comments in memset.c .

For non-UNIX systems, you may need to change some things in sysdep.c,
such as the choice of intermediate file names.

On some systems, you may need to modify parts of sysdep.h (which is
included by defs.h). In particular, for Sun 4.1 systems and perhaps
some others, you need to comment out the typedef of size_t.

Alas, some systems #define __STDC__ but do not provide a true standard
(ANSI or ISO) C environment, e.g. do not provide stdlib.h . If yours
is such a system, then (a) you should complain loudly to your vendor
about __STDC__ being erroneously defined, and (b) you should insert
#undef __STDC__
at the beginning of sysdep.h . You may need to make other adjustments.

For some non-ANSI versions of stdio, you must change the values given
to binread and binwrite in sysdep.c from "rb" and "wb" to "r" and "w".
You may need to make this change if you run f2c and get an error
message of the form
Compiler error ... cannot open intermediate file ...

On many systems, it is best to combine libF77 and libI77 into a single
library, say libf2c, as suggested in "index from f2c". If you do this,
then you should adjust the definition of link_msg in sysdep.c
appropriately (e.g., replacing "-lF77 -lI77" by "-lf2c").

Some older C compilers object to
typedef void (*foo)();
or to
typedef void zap;
zap (*foo)();
If yours is such a compiler, change the definition of VOID in
f2c.h from void to int.

Please send bug reports to dmg@research.att.com . The index file
("send index from f2c") will report recent changes in the recent-change
log at its end; all changes will be shown in the "fixes" file
("send fixes from f2c"). To keep current source, you will need to
request xsum0.out and version.c, in addition to the changed source
files.