summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1999-04-24 22:33:15 +0000
committerobrien <obrien@FreeBSD.org>1999-04-24 22:33:15 +0000
commitc010ddec15bde90f3c4c70484cb92ef5912c1f69 (patch)
treeca53d06dc6e184a7fb6ca5ab8e4fb01d65270480
parent7613352ed9f59724141b882c9c365d071a86fd6b (diff)
downloadFreeBSD-ports-c010ddec15bde90f3c4c70484cb92ef5912c1f69.zip
FreeBSD-ports-c010ddec15bde90f3c4c70484cb92ef5912c1f69.tar.gz
f2c FORTRAN "compiler" port'ified from src/contrib/
PR: ports/11220 Submitted by: Steven G. Kargl <kargl@troutmask.apl.washington.edu>
-rw-r--r--lang/f2c/Makefile37
-rw-r--r--lang/f2c/distinfo1
-rw-r--r--lang/f2c/files/f2c.h.alpha223
-rw-r--r--lang/f2c/pkg-comment1
-rw-r--r--lang/f2c/pkg-descr10
-rw-r--r--lang/f2c/pkg-plist5
6 files changed, 277 insertions, 0 deletions
diff --git a/lang/f2c/Makefile b/lang/f2c/Makefile
new file mode 100644
index 0000000..f0ab50f
--- /dev/null
+++ b/lang/f2c/Makefile
@@ -0,0 +1,37 @@
+# Ports collection makefile for: f2c-freebsd
+# Version required: 2.0.1
+# Date created: 28 DEC 1998
+# Whom: Steven G. Kargl
+#
+# $Id$
+#
+
+DISTNAME= f2c-freebsd.2.0.1
+PKGNAME= f2c-2.0.1
+CATEGORIES= lang
+MASTER_SITES= ftp://troutmask.apl.washington.edu/pub/
+
+MAINTAINER= kargl@troutmask.apl.washington.edu
+
+.include <bsd.port.pre.mk>
+
+.if (${ARCH} == "alpha")
+pre-configure:
+ @cp ${FILESDIR}/f2c.h.alpha ${WRKSRC}/f2c/f2c.h
+.endif
+
+ALL_TARGET= depend all
+
+MAN1= f2c.1
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/f2c/f2c ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/f2c/f2c.h ${PREFIX}/include
+ ${INSTALL_MAN} ${WRKSRC}/f2c/f2c.1 ${PREFIX}/man/man1
+ ${INSTALL_DATA} ${WRKSRC}/libf2c/libf2c.* ${PREFIX}/lib
+ ${LN} -sf libf2c.so.2 ${PREFIX}/lib/libf2c.so
+
+post-install:
+ ${LDCONFIG} -m ${PREFIX}/lib
+
+.include <bsd.port.post.mk>
diff --git a/lang/f2c/distinfo b/lang/f2c/distinfo
new file mode 100644
index 0000000..5fb47fe
--- /dev/null
+++ b/lang/f2c/distinfo
@@ -0,0 +1 @@
+MD5 (f2c-freebsd.2.0.1.tar.gz) = 8ccc3c27b5e8a96154d8002a30878b01
diff --git a/lang/f2c/files/f2c.h.alpha b/lang/f2c/files/f2c.h.alpha
new file mode 100644
index 0000000..61f72af
--- /dev/null
+++ b/lang/f2c/files/f2c.h.alpha
@@ -0,0 +1,223 @@
+/* f2c.h -- Standard Fortran to C header file */
+
+/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
+
+ - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
+
+#ifndef F2C_INCLUDE
+#define F2C_INCLUDE
+
+typedef int integer;
+typedef unsigned int uinteger;
+typedef char *address;
+typedef short int shortint;
+typedef float real;
+typedef double doublereal;
+typedef struct { real r, i; } complex;
+typedef struct { doublereal r, i; } doublecomplex;
+typedef int logical;
+typedef short int shortlogical;
+typedef char logical1;
+typedef char integer1;
+#if 0 /* Adjust for integer*8. */
+typedef long long longint; /* system-dependent */
+typedef unsigned long long ulongint; /* system-dependent */
+#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
+#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
+#endif
+
+#define TRUE_ (1)
+#define FALSE_ (0)
+
+/* Extern is for use with -E */
+#ifndef Extern
+#define Extern extern
+#endif
+
+/* I/O stuff */
+
+#ifdef f2c_i2
+/* for -i2 */
+typedef short flag;
+typedef short ftnlen;
+typedef short ftnint;
+#else
+typedef int flag;
+typedef int ftnlen;
+typedef int ftnint;
+#endif
+
+/*external read, write*/
+typedef struct
+{ flag cierr;
+ ftnint ciunit;
+ flag ciend;
+ char *cifmt;
+ ftnint cirec;
+} cilist;
+
+/*internal read, write*/
+typedef struct
+{ flag icierr;
+ char *iciunit;
+ flag iciend;
+ char *icifmt;
+ ftnint icirlen;
+ ftnint icirnum;
+} icilist;
+
+/*open*/
+typedef struct
+{ flag oerr;
+ ftnint ounit;
+ char *ofnm;
+ ftnlen ofnmlen;
+ char *osta;
+ char *oacc;
+ char *ofm;
+ ftnint orl;
+ char *oblnk;
+} olist;
+
+/*close*/
+typedef struct
+{ flag cerr;
+ ftnint cunit;
+ char *csta;
+} cllist;
+
+/*rewind, backspace, endfile*/
+typedef struct
+{ flag aerr;
+ ftnint aunit;
+} alist;
+
+/* inquire */
+typedef struct
+{ flag inerr;
+ ftnint inunit;
+ char *infile;
+ ftnlen infilen;
+ ftnint *inex; /*parameters in standard's order*/
+ ftnint *inopen;
+ ftnint *innum;
+ ftnint *innamed;
+ char *inname;
+ ftnlen innamlen;
+ char *inacc;
+ ftnlen inacclen;
+ char *inseq;
+ ftnlen inseqlen;
+ char *indir;
+ ftnlen indirlen;
+ char *infmt;
+ ftnlen infmtlen;
+ char *inform;
+ ftnint informlen;
+ char *inunf;
+ ftnlen inunflen;
+ ftnint *inrecl;
+ ftnint *innrec;
+ char *inblank;
+ ftnlen inblanklen;
+} inlist;
+
+#define VOID void
+
+union Multitype { /* for multiple entry points */
+ integer1 g;
+ shortint h;
+ integer i;
+ /* longint j; */
+ real r;
+ doublereal d;
+ complex c;
+ doublecomplex z;
+ };
+
+typedef union Multitype Multitype;
+
+/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
+
+struct Vardesc { /* for Namelist */
+ char *name;
+ char *addr;
+ ftnlen *dims;
+ int type;
+ };
+typedef struct Vardesc Vardesc;
+
+struct Namelist {
+ char *name;
+ Vardesc **vars;
+ int nvars;
+ };
+typedef struct Namelist Namelist;
+
+#define abs(x) ((x) >= 0 ? (x) : -(x))
+#define dabs(x) (doublereal)abs(x)
+#define min(a,b) ((a) <= (b) ? (a) : (b))
+#define max(a,b) ((a) >= (b) ? (a) : (b))
+#define dmin(a,b) (doublereal)min(a,b)
+#define dmax(a,b) (doublereal)max(a,b)
+#define bit_test(a,b) ((a) >> (b) & 1)
+#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
+#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
+
+/* procedure parameter types for -A and -C++ */
+
+#define F2C_proc_par_types 1
+#ifdef __cplusplus
+typedef int /* Unknown procedure type */ (*U_fp)(...);
+typedef shortint (*J_fp)(...);
+typedef integer (*I_fp)(...);
+typedef real (*R_fp)(...);
+typedef doublereal (*D_fp)(...), (*E_fp)(...);
+typedef /* Complex */ VOID (*C_fp)(...);
+typedef /* Double Complex */ VOID (*Z_fp)(...);
+typedef logical (*L_fp)(...);
+typedef shortlogical (*K_fp)(...);
+typedef /* Character */ VOID (*H_fp)(...);
+typedef /* Subroutine */ int (*S_fp)(...);
+#else
+typedef int /* Unknown procedure type */ (*U_fp)();
+typedef shortint (*J_fp)();
+typedef integer (*I_fp)();
+typedef real (*R_fp)();
+typedef doublereal (*D_fp)(), (*E_fp)();
+typedef /* Complex */ VOID (*C_fp)();
+typedef /* Double Complex */ VOID (*Z_fp)();
+typedef logical (*L_fp)();
+typedef shortlogical (*K_fp)();
+typedef /* Character */ VOID (*H_fp)();
+typedef /* Subroutine */ int (*S_fp)();
+#endif
+/* E_fp is for real functions when -R is not specified */
+typedef VOID C_f; /* complex function */
+typedef VOID H_f; /* character function */
+typedef VOID Z_f; /* double complex function */
+typedef doublereal E_f; /* real function with -R not specified */
+
+/* undef any lower-case symbols that your C compiler predefines, e.g.: */
+
+#ifndef Skip_f2c_Undefs
+#undef cray
+#undef gcos
+#undef mc68010
+#undef mc68020
+#undef mips
+#undef pdp11
+#undef sgi
+#undef sparc
+#undef sun
+#undef sun2
+#undef sun3
+#undef sun4
+#undef u370
+#undef u3b
+#undef u3b2
+#undef u3b5
+#undef unix
+#undef vax
+#endif
+#endif
diff --git a/lang/f2c/pkg-comment b/lang/f2c/pkg-comment
new file mode 100644
index 0000000..c245407
--- /dev/null
+++ b/lang/f2c/pkg-comment
@@ -0,0 +1 @@
+Fortran-to-C converter and its run-time libraries.
diff --git a/lang/f2c/pkg-descr b/lang/f2c/pkg-descr
new file mode 100644
index 0000000..7e07bed
--- /dev/null
+++ b/lang/f2c/pkg-descr
@@ -0,0 +1,10 @@
+f2c and its run-time library, libf2c.a, are a port of the
+Fortran-to-C converter available from ftp.netlib.org. This
+software was originally developed by AT&T, Lucent Technologies,
+and Bellcore. The port contains some enhancements for FreeBSD.
+
+http://www.netlib.org or ftp://ftp.netlib.org
+
+--
+Steve
+kargl@troutmask.apl.washington.edu
diff --git a/lang/f2c/pkg-plist b/lang/f2c/pkg-plist
new file mode 100644
index 0000000..29f6833
--- /dev/null
+++ b/lang/f2c/pkg-plist
@@ -0,0 +1,5 @@
+bin/f2c
+include/f2c.h
+lib/libf2c.a
+lib/libf2c.so.2
+@exec /sbin/ldconfig -m %D/lib
OpenPOWER on IntegriCloud