File f2c-20110801.patch of Package f2c
--- a/libf2c/makefile.u 2009-12-03 18:18:51.000000000 -0800
+++ b/libf2c/makefile.u 2009-12-03 18:17:43.000000000 -0800
@@ -16,12 +16,14 @@
CC = cc
SHELL = /bin/sh
CFLAGS = -O
+SHARED = libf2c.so.@SOVER@
# compile, then strip unnecessary symbols
.c.o:
$(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
- ld -r -x -o $*.xxx $*.o
- mv $*.xxx $*.o
+%.o : %.c
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
## Under Solaris (and other systems that do not understand ld -x),
## omit -x in the ld line above.
## If your system does not have the ld command, comment out
@@ -69,11 +71,12 @@
OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
$(HALF) $(CMP) $(EFL) $(CHAR) $(I77) $(TIME)
-all: f2c.h signal1.h sysdep1.h libf2c.a
+all: f2c.h signal1.h sysdep1.h libf2c.a $(SHARED)
libf2c.a: $(OFILES)
- ar r libf2c.a $?
- -ranlib libf2c.a
+ ar r $@ $?
+ -ranlib $@
+
## Shared-library variant: the following rule works on Linux
## systems. Details are system-dependent. Under Linux, -fPIC
@@ -85,8 +88,8 @@
## instead of "$(CC) -shared", and when running programs linked against libf2c.so,
## arrange for $DYLD_LIBRARY_PATH to include the directory containing libf2c.so.
-libf2c.so: $(OFILES)
- $(CC) -shared -o libf2c.so $(OFILES)
+$(SHARED): $(OFILES)
+ $(CC) -shared -Wl,-soname,libf2c.so.0 -o $@ $(OFILES) -lm -lc
### If your system lacks ranlib, you don't need it; see README.
@@ -126,7 +129,7 @@
-ranlib $(LIBDIR)/libf2c.a
clean:
- rm -f libf2c.a *.o arith.h signal1.h sysdep1.h
+ rm -f libf2c.a *.o arith.h signal1.h sysdep1.h $(SHARED)
backspac.o: fio.h
close.o: fio.h
--- a/src/f2c.h 1999-09-07 19:46:24.000000000 +0200
+++ b/src/f2c.h 2011-12-14 00:53:19.503602011 +0100
@@ -7,8 +7,8 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
-typedef long int integer;
-typedef unsigned long int uinteger;
+typedef int integer;
+typedef unsigned int uinteger;
typedef char *address;
typedef short int shortint;
typedef float real;