summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/f2c/Makefile19
-rw-r--r--lang/f2c/files/md54
-rw-r--r--lang/f2c/patches/patch-ac57
-rw-r--r--lang/f2c/patches/patch-ai30
-rw-r--r--lang/f2c/patches/patch-aj117
5 files changed, 197 insertions, 30 deletions
diff --git a/lang/f2c/Makefile b/lang/f2c/Makefile
index 2447eb7d64e..d934fe3a2fe 100644
--- a/lang/f2c/Makefile
+++ b/lang/f2c/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.4 1998/08/25 08:54:06 agc Exp $
+# $NetBSD: Makefile,v 1.5 1999/01/14 13:56:04 frueauf Exp $
-DISTNAME= f2c-19980516p1
+DISTNAME= f2c-19980913
+WRKSRC= ${WRKDIR}/f2c
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_LOCAL}
@@ -9,6 +10,18 @@ HOMEPAGE= http://www.netlib.org/f2c/index.html
CONFLICTS= egcs-current-19980608
-WRKSRC= ${WRKDIR}/f2c
+post-extract::
+ @rm ${WRKSRC}/index.html
+ @gunzip ${WRKSRC}/*.gz
+ @cd ${WRKSRC} ; sh libf77 ; sh libi77
+ @rm ${WRKSRC}/src/index.html
+ @mv ${WRKSRC}/src/.depend ${WRKSRC}/src/depend.orig
+ @gunzip ${WRKSRC}/src/*.gz
+
+post-patch::
+ @cd ${WRKSRC} ; ${CC} -o chktypes chktypes.c
+ ${WRKSRC}/chktypes
+ @cp ${WRKSRC}/f2c.h ${WRKSRC}/libF77/f2c.h
+ @cp ${WRKSRC}/f2c.h ${WRKSRC}/libI77/f2c.h
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/f2c/files/md5 b/lang/f2c/files/md5
index a0bfcfac7c6..917ee54405a 100644
--- a/lang/f2c/files/md5
+++ b/lang/f2c/files/md5
@@ -1,3 +1,3 @@
-$NetBSD: md5,v 1.4 1998/08/25 08:54:06 agc Exp $
+$NetBSD: md5,v 1.5 1999/01/14 13:56:04 frueauf Exp $
-MD5 (f2c-19980516p1.tar.gz) = 0c649bfc2a125036bf26fa5fafee2499
+MD5 (f2c-19980913.tar.gz) = b59e9e9c2e85788c8c8881557ce870e4
diff --git a/lang/f2c/patches/patch-ac b/lang/f2c/patches/patch-ac
index eabcbd9cb8c..e7015f99027 100644
--- a/lang/f2c/patches/patch-ac
+++ b/lang/f2c/patches/patch-ac
@@ -1,10 +1,14 @@
-$NetBSD: patch-ac,v 1.3 1998/08/25 08:54:07 agc Exp $
+$NetBSD: patch-ac,v 1.4 1999/01/14 13:56:04 frueauf Exp $
-Add various options to f2c, including PIC support
+Much cleanup of the script. Added various options such as
+-O for optimization
+-fPIC for PIC support
+-Wall for gcc warnings
+-Wl, for additional linker arguments
--- fc.orig Tue May 16 17:37:49 1995
-+++ fc Mon Aug 24 14:05:40 1998
-@@ -1,26 +1,51 @@
++++ fc Tue Jan 12 20:31:32 1999
+@@ -1,26 +1,54 @@
#!/bin/sh
-PATH=/v/bin:/bin:/usr/bin
+PATH=/bin:/usr/bin:PREFIX/bin
@@ -68,9 +72,12 @@ Add various options to f2c, including PIC support
+#
+# -Wall turn on the -Wall flag to the c compiler
+#
++# -Wl, Pass options to the linker. For example, -Wl,-R/usr/X11R6/lib
++# passes "-R/usr/X11R6/lib" to the linker
++#
# files FORTRAN source files ending in .f .
# FORTRAN with cpp preprocessor directives
-@@ -30,21 +55,18 @@
+@@ -30,21 +58,18 @@
# efl source files ending in .e .
# RATFOR files ending in .r .
-
@@ -83,14 +90,14 @@ Add various options to f2c, including PIC support
-
-# -I includepath passed to C compiler (for .c files)
-# or to cpp (for .F files), and to f2c
--
--# -Ntnnn allow nnn entries in table t
+# if no input arguments, then spit out the help stuff from the beginning
+# of this file.
+if [ $# = 0 ]; then
+ cat $0 | awk '$1 == "#USAGESTART", $1 == ""' | tail +2 | sed 's/#//g'
+fi
+-# -Ntnnn allow nnn entries in table t
+-
-# -P emit .P files
s=/tmp/stderr_$$
@@ -99,7 +106,7 @@ Add various options to f2c, including PIC support
+CC=${CC_f2c:-'cc '}
EFL=${EFL:-efl}
EFLFLAGS=${EFLFLAGS:-'system=portable deltastno=10'}
-@@ -58,25 +80,29 @@
+@@ -58,25 +83,29 @@
OUTF=a.out
cOPT=1
-set -- `getopt cCD:gI:N:Oo:Suw6 "$@"`
@@ -138,7 +145,7 @@ Add various options to f2c, including PIC support
+ G="-g"
shift;;
-@@ -86,45 +112,75 @@
+@@ -86,11 +115,37 @@
;;
+ -I*) CFLAGS="$CFLAGS $1"
@@ -167,41 +174,41 @@ Add various options to f2c, including PIC support
+
+ -O|-O1|-O2|-O3)
+ CFLAGS="$CFLAGS $1"
- shift
- ;;
-
-- -u) F2CFLAGS="$F2CFLAGS -u"
++ shift
++ ;;
++
+ -P) F2CFLAGS="$F2CFLAGS $1"
++ shift
++ ;;
++
++
++ -S) CFLAGS="$CFLAGS -S"
++ cOPT=0
shift
;;
+@@ -101,30 +156,38 @@
-- -w) F2CFLAGS="$F2CFLAGS -w"
+ -w) F2CFLAGS="$F2CFLAGS -w"
- case $2 in -6) F2CFLAGS="$F2CFLAGS"66; shift
- case $2 in -6) shift;; esac;; esac
-+
-+ -S) CFLAGS="$CFLAGS -S"
-+ cOPT=0
shift
;;
- -N) F2CFLAGS="$F2CFLAGS $1""$2"
- shift 2
-+ -u) F2CFLAGS="$F2CFLAGS -u"
++ -w66) F2CFLAGS="$F2CFLAGS -w66"
+ shift
;;
- -P) F2CFLAGS="$F2CFLAGS $1"
-+ -w) F2CFLAGS="$F2CFLAGS -w"
++ -Wall) CFLAGS="$CFLAGS -Wall"
shift
;;
-+ -w66) F2CFLAGS="$F2CFLAGS -w66"
-+ shift
-+ ;;
-
+-
- -S) CFLAGS="$CFLAGS -S"
- cOPT=0
-+ -Wall) CFLAGS="$CFLAGS -Wall"
++ -Wl*) CFLAGS="$CFLAGS $1"
shift
;;
@@ -228,7 +235,7 @@ Add various options to f2c, including PIC support
+
while
test -n "$1"
-@@ -232,5 +288,20 @@
+@@ -232,5 +295,20 @@
done
-case $cOPT in 2) $CC -o $OUTF -u MAIN__ $OFILES -lf2c -lm;; esac
diff --git a/lang/f2c/patches/patch-ai b/lang/f2c/patches/patch-ai
new file mode 100644
index 00000000000..f57c0f056e7
--- /dev/null
+++ b/lang/f2c/patches/patch-ai
@@ -0,0 +1,30 @@
+$NetBSD: patch-ai,v 1.1 1999/01/14 13:56:04 frueauf Exp $
+
+required to make
+sizeof(integer) == sizeof(real)
+and
+sizeof(logical) == sizeof(real)
+(per f2c/readme)
+
+--- f2c.h.orig Wed Jan 13 17:42:45 1999
++++ f2c.h Wed Jan 13 17:44:21 1999
+@@ -8,5 +8,9 @@
+ #define F2C_INCLUDE
+
++#if defined(__alpha__)
++typedef int integer;
++#else
+ typedef long int integer;
++#endif
+ typedef unsigned long uinteger;
+ typedef char *address;
+@@ -16,5 +20,9 @@
+ typedef struct { real r, i; } complex;
+ typedef struct { doublereal r, i; } doublecomplex;
++#if defined(__alpha__)
++typedef int logical;
++#else
+ typedef long int logical;
++#endif
+ typedef short int shortlogical;
+ typedef char logical1;
diff --git a/lang/f2c/patches/patch-aj b/lang/f2c/patches/patch-aj
new file mode 100644
index 00000000000..b64ee44712b
--- /dev/null
+++ b/lang/f2c/patches/patch-aj
@@ -0,0 +1,117 @@
+$NetBSD: patch-aj,v 1.1 1999/01/14 13:56:04 frueauf Exp $
+
+--- /dev/null Wed Jan 13 02:06:04 1999
++++ chktypes.c Wed Jan 13 18:12:34 1999
+@@ -0,0 +1,112 @@
++#include <stdio.h>
++#include <string.h>
++#include "f2c.h"
++
++int main(int argc, char *argv[])
++{
++
++ int err=0;
++ int pok=0;
++
++
++ if(argc > 1)
++ {
++ if(strncmp(argv[1],"-v",2)==0)
++ {
++ pok=1;
++ }
++ }
++ if(sizeof(doublecomplex) == 2*sizeof(doublereal))
++ {
++ if(pok)
++ printf("sizeof(doublecomplex) = 2*sizeof(doublereal) = %d\n",sizeof(doublecomplex));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(doublecomplex) \t= %d\n\t2*sizeof(doublereal) \t= %d\n",
++ sizeof(doublecomplex),2*sizeof(doublereal));
++ err=1;
++ }
++
++
++ if(sizeof(doublereal) == sizeof(complex))
++ {
++ if(pok)
++ printf("sizeof(doublereal) = sizeof(complex) = %d\n",sizeof(doublereal));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(doublereal) \t= %d\n\tsizeof(complex) \t= %d\n",
++ sizeof(doublereal),sizeof(complex));
++ err=1;
++ }
++
++
++ if(sizeof(doublereal) == 2*sizeof(real))
++ {
++ if(pok)
++ printf("sizeof(doublereal) = 2*sizeof(real) = %d\n",sizeof(doublereal));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(doublereal) \t= %d\n\t2*sizeof(real)\t = %d\n",
++ sizeof(doublereal),2*sizeof(real));
++ err=1;
++ }
++
++ if(sizeof(real) == sizeof(integer))
++ {
++ if(pok)
++ printf("sizeof(real) = sizeof(integer) = %d\n",sizeof(real));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(real) \t= %d\n\tsizeof(integer) \t= %d\n",
++ sizeof(real),sizeof(integer));
++ err=1;
++ }
++
++ if(sizeof(real) == sizeof(logical))
++ {
++ if(pok)
++ printf("sizeof(real) = sizeof(logical) = %d\n",sizeof(real));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(real) \t= %d\n\tsizeof(logical) \t= %d\n",
++ sizeof(real),sizeof(logical));
++ err=1;
++ }
++
++ if(sizeof(real) == 2*sizeof(shortint))
++ {
++ if(pok)
++ printf("sizeof(real) = 2*sizeof(shortint) = %d\n",sizeof(real));
++ }
++ else
++ {
++ printf("ERROR:\tsizeof(real) \t= %d\n\t2*sizeof() \t= %d\n",
++ sizeof(real),2*sizeof(shortint));
++ err=1;
++ }
++
++ if(pok)
++ {
++ printf("\n\n-------------------\n");
++ printf("sizeof(short) = %d\n",sizeof(short));
++ printf("sizeof(int) = %d\n",sizeof(int));
++ printf("sizeof(float) = %d\n",sizeof(float));
++ printf("sizeof(long) = %d\n",sizeof(long));
++ printf("sizeof(double) = %d\n",sizeof(double));
++ printf("\n\n-------------------\n");
++ }
++
++ if(err)
++ {
++ printf("The header file f2c.h has the wrong typedef's for your machine\n");
++ printf("architecture. Please contact the package maintainer.\n");
++ }
++
++ return(err);
++}
++