summaryrefslogtreecommitdiff
path: root/lang/f2c/patches
diff options
context:
space:
mode:
authordmcmahill <dmcmahill@pkgsrc.org>2001-02-24 18:37:45 +0000
committerdmcmahill <dmcmahill@pkgsrc.org>2001-02-24 18:37:45 +0000
commit217560576566683883fbe75367f9d27d4f290005 (patch)
treefe86592e00009dfe07f81344e70411a41b15ae3a /lang/f2c/patches
parentdb3617254f24ca318f255f7ef431c03ed9c071b8 (diff)
downloadpkgsrc-217560576566683883fbe75367f9d27d4f290005.tar.gz
update to f2c-20001205.
while here, add more options to the f2c-f77 script: from Jason Beegan, -r8, promote REAL and COMPLEX to DOUBLE REAL and DOUBLE COMPLEX -s, to strip executible generalize the -Wall flag to accept -Wxxx and pass it to the c compiler -Wxxx for gcc warnings complete change log from the f2c maintainers since the last packaged version: ------------------------------------------ libf2c.zip: fix bug with the sequence backspace(n); endfile(n); rewind(n); read(n). Supply missing (long) casts in a couple of places where they matter when size(ftnint) == sizeof(int) < sizeof(long). Tue Jan 18 19:22:24 EST 2000 Arrange for parameter statements involving min(...) and max(...) functions of three or more arguments to work. Warn about text after "end" (rather than reporting a syntax error with a surprising line number). Accept preprocessor line numbers of the form "# 1234" (possibly with trailing blanks). Accept a comma after write(...) and before a list of things to write. Fri Jan 21 17:26:27 EST 2000 Minor updates to make compiling Win32 console binaries easier. A side effect is that the MSDOS restriction of only one Fortran file per invocation is lifted (and "f2c *.f") works. Tue Feb 1 18:38:32 EST 2000 f2c/src/tokdefs.h added (to help people on non-Unix systems -- the makefile has always had a rule for generating tokdefs.h). Fri Mar 10 18:48:17 EST 2000 libf77, libf2c.zip: z_log.c: the real part of the double complex log of numbers near, e.g., (+-1,eps) with |eps| small is now more accurate. For example if z = (1,1d-7), then "write(*,*) z" now writes "(5.E-15,1.E-07" rather than the previous "(4.88498131E-15,1.E-07)". Thu Apr 20 13:02:54 EDT 2000 libf77, libi77, libf2c.zip: s_cat.c, rsne.c, xwsne.c: fix type errors that only matter if sizeof(ftnint) != sizeof(ftnlen). Tue May 30 23:36:18 EDT 2000 expr.c: adjust subcheck() to use a temporary variable of type TYLONG rather than TYSHORT under -C -I2. Wed May 31 08:48:03 EDT 2000 Simplify yesterday's adjustment; today's change should be invisible. Tue Jul 4 22:52:21 EDT 2000 misc.c, function "addressable": fix fault with "f2c -I2 foo.f" when foo.f consists of the 4 lines subroutine foo(c) character*(*) c i = min(len(c),23) end Sundry files: tweaks for portability, e.g., for compilation by overly fastidious C++ compilers; "false" and "true" now treated as C keywords (so they get two underscores appended). libf77, libi77, libf2c.zip: "invisible" adjustments to permit compilation by C++ compilers; version numbers not changed. Thu Jul 6 23:46:07 EDT 2000 Various files: tweaks to banish more compiler warnings. lib?77, libf2c.zip/makefile.u: add "|| true" to ranlib invocations. Thanks to Nelson H. F. Beebe for messages leading to these changes (and to many of the ones two days ago). xsum.c: tweak include order. Fri Jul 7 18:01:25 EDT 2000 fc: accept -m xxx or -mxxx, pass them to the compiler as -mxxx (suggestion of Nelson Beebe). Note that fc simply appends to CFLAGS, so system-specific stuff can be supplied in the environment variable CFLAGS. With some shells, invocations of the form CFLAGS='system-specific stuff' fc ... are one way to do this. Thu Aug 17 21:38:36 EDT 2000 Fix obscure glitch: in "Error on line nnn of ...: Bad # line:...", get nnn right. Sat Sep 30 00:28:30 EDT 2000 libf77, libf2c.zip: dtime_.c, etime_.c: use floating-point divide; dtime_.d, erf_.c, erfc_.c, etime.c: for use with "f2c -R", compile with -DREAL=float. Tue Dec 5 22:55:56 EST 2000 lread.c: under namelist input, when reading a logical array, treat Tstuff= and Fstuff= as new assignments rather than as logical constants.
Diffstat (limited to 'lang/f2c/patches')
-rw-r--r--lang/f2c/patches/patch-ac129
-rw-r--r--lang/f2c/patches/patch-ae4
-rw-r--r--lang/f2c/patches/patch-ag4
-rw-r--r--lang/f2c/patches/patch-ai6
4 files changed, 95 insertions, 48 deletions
diff --git a/lang/f2c/patches/patch-ac b/lang/f2c/patches/patch-ac
index 7b99da17933..dc9a2c7beee 100644
--- a/lang/f2c/patches/patch-ac
+++ b/lang/f2c/patches/patch-ac
@@ -1,23 +1,33 @@
-$NetBSD: patch-ac,v 1.7 1999/12/22 20:22:15 dmcmahill Exp $
+$NetBSD: patch-ac,v 1.8 2001/02/24 18:37:46 dmcmahill Exp $
Much cleanup of the script. Added various options such as
--O for optimization
+-O for optimization
-fPIC for PIC support
--Wall for gcc warnings
+-Wxxx for gcc warnings
-Wl, for additional linker arguments
--v, for verbose output
+-r8, promote REAL and COMPLEX to DOUBLE REAL and DOUBLE COMPLEX
+-s, to strip executible
+-v, for verbose output
---- fc.orig Fri Apr 16 09:24:46 1999
-+++ fc Wed Dec 22 15:15:08 1999
-@@ -1,101 +1,125 @@
- #!/bin/sh
+--- fc.orig Fri Jul 7 17:47:06 2000
++++ fc Thu Feb 22 08:44:43 2001
+@@ -1,178 +1,256 @@
+-#! /bin/sh
-
-# NOTE: you may need to adjust the references to /usr/local/... below
-# (or remove them if they're not needed on your system).
+-# You may need to remove "-Olimit 2000" in the -O processing
+-# below or change it to something more suitable for your system.
-# See also the comments starting with ### below.
-
+-# Note that with some shells, invocations of the form
+-# CFLAGS='system-specific stuff' fc ...
+-# may be useful as way to pass system-specific stuff to the C compiler.
+-# The script below simply appends to the initial CFLAGS value.
+-
-PATH=/usr/local/bin:/bin:/usr/bin
-
++#!/bin/sh
+PATH=/bin:/usr/bin:@PREFIX@/bin
+#USAGESTART
# f77-style shell script to compile and load fortran, C, and assembly codes
@@ -52,6 +62,8 @@ Much cleanup of the script. Added various options such as
+#
+# -L includepath passed to ld. Library include path
+#
++# -m xxx passed to the C compiler as -mxxx
++#
+# -Ntnnn allow nnn entries in table t
+#
+# -o objfile Override default executable name a.out.
@@ -66,6 +78,11 @@ Much cleanup of the script. Added various options such as
+#
+# -P emit .P files
+#
++# -r8 promote REAL to DOUBLE PRECISION,
++# COMPLEX to DOUBLE COMPLEX
++#
++# -s Strip the symbol table from the executable file
++#
# -S leave assembler output on file.s
-
-# -L libdir (passed to ld)
@@ -76,7 +93,7 @@ Much cleanup of the script. Added various options such as
# -u complain about undeclared variables
-
+#
-+# -U def passed to C compiler (for .c files) or to
++# -U def passed to C compiler (for .c files) or to
+# cpp (for .F files) to remove def
+#
+# -v be verbose. Output is produced on the standard
@@ -89,7 +106,7 @@ Much cleanup of the script. Added various options such as
-
-# files FORTRAN source files ending in .f .
+#
-+# -Wall turn on the -Wall flag to the c compiler
++# -Wxxx turn on the -Wxxx flag to the c compiler
+#
+# -Wl, Pass options to the linker. For example,
+# -Wl,-R/usr/X11R6/lib
@@ -118,19 +135,21 @@ Much cleanup of the script. Added various options such as
-# -D def passed to C compiler (for .c files)
-# or to cpp (for .F files)
+-
+-# -I includepath passed to C compiler (for .c files)
+-# or to cpp (for .F files), and to f2c
+-
+-# -m xxx passed to C compiler as -mxxx
+-
+-# -N tnnn allow nnn entries in table t
+-
+-# -P emit .P files
+# 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
--# -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
--
--# -P emit .P files
--
-# -U def passed to C compiler (for .c files)
-# or to cpp (for .F files) to remove def
@@ -149,14 +168,15 @@ Much cleanup of the script. Added various options such as
-F2CFLAGS=${F2CFLAGS:='-ARw8 -Nn802 -Nq300 -Nx400'}
-CPP=${CPP:-/lib/cpp}
+F2C=${F2C:-@PREFIX@/bin/f2c}
-+F2CFLAGS=${F2CFLAGS:='-ARw8 -Nn802 -Nx400'}
++F2CFLAGS=${F2CFLAGS:='-Aw8 -Nn802 -Nx400'}
++S2DBLFLAG="-R"
+CPP=${CPP:-/usr/bin/cpp}
rc=0
trap "rm -f $s $t; exit \$rc" 0
OUTF=a.out
-OUTO=
cOPT=1
--set -- `getopt cCD:gI:L:N:OU:o:Suw6 "$@"`
+-set -- `getopt cCD:gI:L:m:N:OU:o:Suw6 "$@"`
-case $? in 0);; *) rc=$?; exit;; esac
-CPPFLAGS=${CPPFLAGS:-'-I/usr/local/include'}
-CFLAGSF2C=${CFLAGSF2C:-'-I/usr/local/include'}
@@ -198,10 +218,14 @@ Much cleanup of the script. Added various options such as
+ G="-g"
shift;;
-@@ -105,61 +129,97 @@
+- -I) CPPFLAGS="$CPPFLAGS -I$2"
++ -I) CFLAGS="$CFLAGS -I$2"
++ CPPFLAGS="$CPPFLAGS -I$2"
+ F2CFLAGS="$F2CFLAGS -I$2"
+ shift 2
;;
-- -U) CPPFLAGS="$CPPFLAGS -U$2"
+- -m) CFLAGS="$CFLAGS -m$2"
- shift 2
- ;;
+ -I*) CFLAGS="$CFLAGS $1"
@@ -218,6 +242,17 @@ Much cleanup of the script. Added various options such as
+ shift 1
+ ;;
+- -U) CPPFLAGS="$CPPFLAGS -U$2"
++ -m) CPPFLAGS="$CPPFLAGS -m$2"
++ F2CFLAGS="$F2CFLAGS -m$2"
+ shift 2
+ ;;
+
++ -m*) CFLAGS="$CFLAGS $1"
++ CPPFLAGS="$CPPFLAGS $1"
++ F2CFLAGS="$F2CFLAGS $1"
++ shift 1
++ ;;
-o) OUTF=$2
- OUTO=$2
shift 2
@@ -244,46 +279,53 @@ Much cleanup of the script. Added various options such as
- -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
++ -r8) S2DBLFLAG="-r8"
shift
;;
- -L) OFILES="$OFILES $1$2"
- shift 2
- case $cOPT in 1) cOPT=2;; esac
-+ -u) F2CFLAGS="$F2CFLAGS -u"
++ -s) CFLAGS="$CFLAGS -s"
+ shift
;;
- -L*) OFILES="$OFILES $1"
-+ -U*) CPPFLAGS="$CPPFLAGS $1"
-+ shift;;
-+
-+ -v) VERBOSE=yes
++ -S) CFLAGS="$CFLAGS -S"
++ cOPT=0
shift
- case $cOPT in 1) cOPT=2;; esac
;;
- -N) F2CFLAGS="$F2CFLAGS $1""$2"
- shift 2
-+ -w) F2CFLAGS="$F2CFLAGS -w"
++ -u) F2CFLAGS="$F2CFLAGS -u"
+ shift
;;
- -P) F2CFLAGS="$F2CFLAGS $1"
-+ -w66) F2CFLAGS="$F2CFLAGS -w66"
++ -U*) CPPFLAGS="$CPPFLAGS $1"
++ shift;;
++
++ -v) VERBOSE=yes
shift
;;
-+ -Wall) CFLAGS="$CFLAGS -Wall"
++ -w) F2CFLAGS="$F2CFLAGS -w"
+ shift
+ ;;
- -S) CFLAGS="$CFLAGS -S"
- cOPT=0
++ -w66) F2CFLAGS="$F2CFLAGS -w66"
++ shift
++ ;;
++
+ -Wl*) CFLAGS="$CFLAGS $1"
++ shift
++ ;;
++
++ -W*) CFLAGS="$CFLAGS $1"
shift
;;
@@ -306,6 +348,11 @@ Much cleanup of the script. Added various options such as
+ CFLAGS="$CFLAGS -o $OUTF"
+ fi
+fi
++
++# set the flag that controls if REAL's are promoted to
++# DOUBLE PRECISION or not
++F2CFLAGS="$F2CFLAGS $S2DBLFLAGS"
++
+set -- $ARGS
+
+if test $VERBOSE = "yes"; then
@@ -320,7 +367,7 @@ Much cleanup of the script. Added various options such as
+
while
test -n "$1"
-@@ -171,4 +231,7 @@
+@@ -184,4 +262,7 @@
case "$1" in
*.f) b=`basename $1 .f`
+ if test $VERBOSE = "yes"; then
@@ -328,7 +375,7 @@ Much cleanup of the script. Added various options such as
+ fi
$F2C $F2CFLAGS $1
rc=$?
-@@ -178,4 +241,7 @@
+@@ -191,4 +272,7 @@
rc=$?
case $rc in 0)
+ if test $VERBOSE="yes"; then
@@ -336,35 +383,35 @@ Much cleanup of the script. Added various options such as
+ fi
$F2C $F2CFLAGS <$b.i >$b.c
rc=$?
-@@ -185,5 +251,5 @@
+@@ -198,5 +282,5 @@
esac
case $rc in 0);; *) exit;; esac
- $CC -c $CFLAGSF2C $CFLAGS $b.c 2>$s
+ $CC -c $CFLAGS $b.c 2>$s
rc=$?
sed '/parameter .* is not referenced/d;/warning: too many parameters/d' $s 1>&2
-@@ -200,5 +266,5 @@
+@@ -213,5 +297,5 @@
$F2C $F2CFLAGS $b.f
case $? in 0);; *) rc=$?; exit;; esac
- $CC -c $CFLAGSF2C $CFLAGS $b.c
+ $CC -c $CFLAGS $b.c
case $? in 0);; *) rc=$?; exit;; esac
OFILES="$OFILES $b.o"
-@@ -213,5 +279,5 @@
+@@ -226,5 +310,5 @@
$F2C $F2CFLAGS $b.f
case $? in 0);; *) rc=$?; exit;; esac
- $CC -c $CFLAGSF2C $CFLAGS $b.c
+ $CC -c $CFLAGS $b.c
case $? in 0);; *) rc=$?; exit;; esac
OFILES="$OFILES $b.o"
-@@ -232,5 +298,5 @@
+@@ -245,5 +329,5 @@
echo $1: 1>&2
OFILE=`basename $1 .c`.o
- $CC -c $CFLAGSF2C $CPPFLAGS $CFLAGS $1
+ $CC -c $CPPFLAGS $CFLAGS $1
rc=$?; case $rc in 0);; *) rc=$?; exit;; esac
OFILES="$OFILES $OFILE"
-@@ -248,10 +314,10 @@
+@@ -261,10 +345,10 @@
shift
;;
- -[lL])
@@ -378,7 +425,7 @@ Much cleanup of the script. Added various options such as
+ -l*)
OFILES="$OFILES $1"
shift
-@@ -259,6 +325,5 @@
+@@ -272,6 +356,5 @@
;;
-o)
- case $cOPT in 0) CFLAGS="$CFLAGS -o $2";; *) OUTF=$2;; esac
@@ -386,7 +433,7 @@ Much cleanup of the script. Added various options such as
+ OUTF=$2; shift 2;;
*.P)
F2CFLAGS="$F2CFLAGS $1"
-@@ -273,9 +338,11 @@
+@@ -286,9 +369,11 @@
done
-### On some (IRIX) systems, -Wl,-dont_warn_unused prevents complaints
diff --git a/lang/f2c/patches/patch-ae b/lang/f2c/patches/patch-ae
index f4737cf683c..a753a53d751 100644
--- a/lang/f2c/patches/patch-ae
+++ b/lang/f2c/patches/patch-ae
@@ -1,4 +1,4 @@
-$NetBSD: patch-ae,v 1.4 1999/12/16 00:58:27 dmcmahill Exp $
+$NetBSD: patch-ae,v 1.5 2001/02/24 18:37:46 dmcmahill Exp $
--- ./libF77/makefile.orig Tue Dec 7 17:52:36 1999
+++ ./libF77/makefile Tue Dec 7 18:03:51 1999
@@ -6,6 +6,6 @@ $NetBSD: patch-ae,v 1.4 1999/12/16 00:58:27 dmcmahill Exp $
CC = cc
SHELL = /bin/sh
-CFLAGS = -O
-+CFLAGS = -Wcast-align -O2 -DNO_ONEXIT
++CFLAGS = -fPIC -Wcast-align -O2 -DNO_ONEXIT
# If your system lacks onexit() and you are not using an
diff --git a/lang/f2c/patches/patch-ag b/lang/f2c/patches/patch-ag
index f6afe7def76..93673ee999c 100644
--- a/lang/f2c/patches/patch-ag
+++ b/lang/f2c/patches/patch-ag
@@ -1,4 +1,4 @@
-$NetBSD: patch-ag,v 1.4 1999/12/16 00:58:28 dmcmahill Exp $
+$NetBSD: patch-ag,v 1.5 2001/02/24 18:37:46 dmcmahill Exp $
--- ./libI77/makefile.orig Tue Dec 7 17:52:41 1999
+++ ./libI77/makefile Tue Dec 7 18:05:10 1999
@@ -6,6 +6,6 @@ $NetBSD: patch-ag,v 1.4 1999/12/16 00:58:28 dmcmahill Exp $
.SUFFIXES: .c .o
CC = cc
-CFLAGS = -O
-+CFLAGS = -Wcast-align -O2
++CFLAGS = -fPIC -Wcast-align -O2
SHELL = /bin/sh
diff --git a/lang/f2c/patches/patch-ai b/lang/f2c/patches/patch-ai
index a44a3a08650..bdc2cde0963 100644
--- a/lang/f2c/patches/patch-ai
+++ b/lang/f2c/patches/patch-ai
@@ -1,4 +1,4 @@
-$NetBSD: patch-ai,v 1.2 1999/12/16 00:58:28 dmcmahill Exp $
+$NetBSD: patch-ai,v 1.3 2001/02/24 18:37:46 dmcmahill Exp $
required to make
sizeof(integer) == sizeof(real)
@@ -11,7 +11,7 @@ sizeof(logical) == sizeof(real)
@@ -8,5 +8,9 @@
#define F2C_INCLUDE
-+#if defined(__alpha__)
++#if defined(__alpha__) || defined(__sparc64__)
+typedef int integer;
+#else
typedef long int integer;
@@ -21,7 +21,7 @@ sizeof(logical) == sizeof(real)
@@ -16,5 +20,9 @@
typedef struct { real r, i; } complex;
typedef struct { doublereal r, i; } doublecomplex;
-+#if defined(__alpha__)
++#if defined(__alpha__) || defined(__sparc64__)
+typedef int logical;
+#else
typedef long int logical;