summaryrefslogtreecommitdiffstats
path: root/gnu/lib
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1999-04-18 09:48:40 +0000
committerobrien <obrien@FreeBSD.org>1999-04-18 09:48:40 +0000
commit1c8df85eb1e7d70be3b495e91bd4d0f4ec7ad835 (patch)
treee6ecbedc5d9e7a62971b5129a4b30471892f629b /gnu/lib
parentb710768bd34c0afcc9eb7116cd47eb89d244f667 (diff)
downloadFreeBSD-src-1c8df85eb1e7d70be3b495e91bd4d0f4ec7ad835.zip
FreeBSD-src-1c8df85eb1e7d70be3b495e91bd4d0f4ec7ad835.tar.gz
libg2c -- EGCS's version of libf2c (plus enhancements).
Diffstat (limited to 'gnu/lib')
-rw-r--r--gnu/lib/libg2c/Makefile117
-rw-r--r--gnu/lib/libg2c/config.h107
-rw-r--r--gnu/lib/libg2c/g2c.h236
3 files changed, 460 insertions, 0 deletions
diff --git a/gnu/lib/libg2c/Makefile b/gnu/lib/libg2c/Makefile
new file mode 100644
index 0000000..9d9126e
--- /dev/null
+++ b/gnu/lib/libg2c/Makefile
@@ -0,0 +1,117 @@
+# $Id: Makefile,v 1.25 1999/04/08 08:39:16 obrien Exp $
+
+EGCSDIR= ${.CURDIR}/../../../contrib/egcs
+
+.PATH: ${EGCSDIR}/libf2c ${EGCSDIR}/libf2c/libU77 ${EGCSDIR}/libf2c/libF77 \
+ ${EGCSDIR}/libf2c/libI77
+
+LIB= g2c
+SHLIB_MAJOR= 1
+SHLIB_MINOR= 0
+
+# Traditional FORTRAN Library members defined in libF77
+
+F77MISC= F77_aloc.c main.c s_rnge.c abort_.c getarg_.c \
+ iargc_.c getenv_.c signal_.c s_stop.c s_paus.c system_.c \
+ cabs.c derf_.c derfc_.c erf_.c erfc_.c sig_die.c exit_.c \
+ setarg.c setsig.c
+
+F77POW= pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c pow_ri.c pow_zi.c \
+ pow_zz.c
+
+F77CX= c_abs.c c_cos.c c_div.c c_exp.c c_log.c c_sin.c c_sqrt.c
+F77DCX= ${F77CX:S/^c_/z_/g}
+
+F77REAL= r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c r_cnjg.c r_cos.c \
+ r_cosh.c r_dim.c r_exp.c r_imag.c r_int.c r_lg10.c r_log.c \
+ r_mod.c r_nint.c r_sign.c r_sin.c r_sinh.c r_sqrt.c r_tan.c \
+ r_tanh.c
+F77DBL= ${F77REAL:S/^r_/d_/g} d_prod.c
+
+F77CMP= l_ge.c l_gt.c l_le.c l_lt.c hl_ge.c hl_gt.c hl_le.c hl_lt.c
+
+F77EFL= ef1asc_.c ef1cmc_.c
+
+F77CHAR= s_cat.c s_cmp.c s_copy.c
+
+F77F90BIT= lbitbits.c lbitshft.c qbitbits.c qbitshft.c
+
+F77SRCS= ${F77MISC} ${F77POW} ${F77CX} ${F77DCX} ${F77REAL} ${F77DBL} \
+ ${F77CMP} ${F77EFL} ${F77CHAR} ${F77F90BIT}
+
+# I/O Library members defined in libI77
+
+I77SRCS= backspace.c close.c dfe.c dolio.c due.c endfile.c \
+ err.c fmt.c fmtlib.c iio.c ilnw.c inquire.c lread.c lwrite.c \
+ open.c rdfmt.c rewind.c rsfe.c rsli.c rsne.c sfe.c sue.c \
+ typesize.c uio.c util.c wref.c wrtfmt.c wsfe.c wsle.c wsne.c \
+ xwsne.c ftell_.c
+
+# UNIX Library members defined in libU77
+
+U77SRCS= gerror_.c perror_.c ierrno_.c itime_.c time_.c \
+ unlink_.c fnum_.c getpid_.c getuid_.c getgid_.c kill_.c \
+ rand_.c srand_.c irand_.c sleep_.c idate_.c ctime_.c \
+ etime_.c dtime_.c isatty_.c ltime_.c fstat_.c stat_.c \
+ lstat_.c access_.c link_.c getlog_.c ttynam_.c getcwd_.c \
+ symlnk_.c vxttime_.c vxtidate_.c gmtime_.c fdate_.c \
+ secnds_.c bes.c dbes.c chdir_.c chmod_.c lnblnk_.c \
+ hostnm_.c rename_.c fgetc_.c fputc_.c umask_.c \
+ sys_clock_.c date_.c second_.c flush1_.c mclock_.c \
+ alarm_.c datetime_.c
+
+# Library members refered to as libE77 by EGCS
+
+E77OBJS= abort.o access.o alarm.o besj0.o besj1.o besjn.o \
+ besy0.o besy1.o besyn.o chdir.o chmod.o ctime.o date.o \
+ dbesj0.o dbesj1.o dbesjn.o dbesy0.o dbesy1.o dbesyn.o derf.o \
+ derfc.o dtime.o ef1asc.o ef1cmc.o erf.o erfc.o etime.o exit.o \
+ fdate.o fget.o fgetc.o flush.o flush1.o fnum.o fput.o fputc.o \
+ fseek.o fstat.o ftell.o gerror.o getarg.o getcwd.o getenv.o \
+ getgid.o getlog.o getpid.o getuid.o gmtime.o hostnm.o iargc.o \
+ idate.o ierrno.o irand.o isatty.o itime.o kill.o link.o \
+ lnblnk.o lstat.o ltime.o mclock.o perror.o rand.o rename.o \
+ secnds.o second.o signal.o sleep.o srand.o stat.o symlnk.o \
+ system.o time.o ttynam.o umask.o unlink.o vxtidt.o vxttim.o
+
+LIBF77SRCS= ${F77SRCS} ${I77SRCS} ${U77SRCS} ${E77SRCS}
+
+SRCS= ${LIBF77SRCS}
+CLEANFILES= ${LIBF77SRCS}
+OBJS= ${E77OBJS}
+
+CFLAGS+= -DHAVE_CONFIG_H=1 -DSTDC_HEADERS=1 -DHAVE_TEMPNAM=1
+CFLAGS+= -DNO_EOF_CHAR_CHECK=1 -DRETSIGTYPE=void
+CFLAGS+= -DSkip_f2c_Undefs=1 -DIEEE_drem=1 -DAllow_TYQUAD -DPedantic
+CFLAGS+= -I${EGCSDIR}/libf2c -I${EGCSDIR}/libf2c/libF77
+CFLAGS+= -I${EGCSDIR}/libf2c/libI77 -I${EGCSDIR}/libf2c/libU77
+CFLAGS+= -I${EGCSDIR}/gcc/f -I${EGCSDIR}/gcc -I${EGCSDIR}/gcc/config
+CFLAGS+= -I${.CURDIR}
+
+.for x in F I U
+${x}77SRCS+= Version${x}.c
+Version${x}.c: ${EGCSDIR}/libf2c/lib${x}77/Version.c
+ ln -sf ${.ALLSRC} ${.TARGET}
+.endfor
+
+${E77OBJS}: f2cext.c
+ ${CC} ${CFLAGS} -c -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+
+.if !defined(NOPIC)
+${E77OBJS:.o=.So}: f2cext.c
+ ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c -DL${.PREFIX} -o ${.TARGET} \
+ ${.ALLSRC:M*.c}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+.endif
+
+.if !defined(NOPROFILE)
+${E77OBJS:.o=.po}: f2cext.c
+ ${CC} -p ${CFLAGS} -c -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
+ @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+.endif
+
+.include <bsd.lib.mk>
diff --git a/gnu/lib/libg2c/config.h b/gnu/lib/libg2c/config.h
new file mode 100644
index 0000000..045a43f
--- /dev/null
+++ b/gnu/lib/libg2c/config.h
@@ -0,0 +1,107 @@
+/* config.h. Generated automatically by configure. */
+/* config.hin. Generated automatically from configure.in by autoheader. */
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define if your struct stat has st_blksize. */
+#define HAVE_ST_BLKSIZE 1
+
+/* Define if your struct stat has st_blocks. */
+#define HAVE_ST_BLOCKS 1
+
+/* Define if your struct stat has st_rdev. */
+#define HAVE_ST_RDEV 1
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef mode_t */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef pid_t */
+
+/* Define to `unsigned' if <sys/types.h> doesn't define. */
+/* #undef size_t */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if your <sys/time.h> declares struct tm. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define as the path of the `chmod' program. */
+#define CHMOD_PATH "/bin/chmod"
+
+/* Define if you have the alarm function. */
+#define HAVE_ALARM 1
+
+/* Define if you have the clock function. */
+#define HAVE_CLOCK 1
+
+/* Define if you have the getcwd function. */
+#define HAVE_GETCWD 1
+
+/* Define if you have the getgid function. */
+#define HAVE_GETGID 1
+
+/* Define if you have the gethostname function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define if you have the getlogin function. */
+#define HAVE_GETLOGIN 1
+
+/* Define if you have the getrusage function. */
+#define HAVE_GETRUSAGE 1
+
+/* Define if you have the gettimeofday function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the getuid function. */
+#define HAVE_GETUID 1
+
+/* Define if you have the getwd function. */
+#define HAVE_GETWD 1
+
+/* Define if you have the kill function. */
+#define HAVE_KILL 1
+
+/* Define if you have the link function. */
+#define HAVE_LINK 1
+
+/* Define if you have the lstat function. */
+#define HAVE_LSTAT 1
+
+/* Define if you have the strerror function. */
+#define HAVE_STRERROR 1
+
+/* Define if you have the symlink function. */
+#define HAVE_SYMLINK 1
+
+/* Define if you have the times function. */
+#define HAVE_TIMES 1
+
+/* Define if you have the ttyname function. */
+#define HAVE_TTYNAME 1
+
+/* Define if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define if you have the <sys/times.h> header file. */
+#define HAVE_SYS_TIMES_H 1
+
+/* Define if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
diff --git a/gnu/lib/libg2c/g2c.h b/gnu/lib/libg2c/g2c.h
new file mode 100644
index 0000000..f2f4ad1
--- /dev/null
+++ b/gnu/lib/libg2c/g2c.h
@@ -0,0 +1,236 @@
+/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */
+
+/* This file is generated by the g77 libg2c configuration process from a
+ file named g2c.hin. This process sets up the appropriate types,
+ defines the appropriate macros, and so on. The resulting g2c.h file
+ is used to build g77's copy of libf2c, named libg2c, and also can
+ be used when compiling C code produced by f2c to link the resulting
+ object file(s) with those produced by the same version of g77 that
+ produced this file, allowing inter-operability of f2c-compiled and
+ g77-compiled code. */
+
+/** 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
+
+/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */
+/* we assume short, float are OK */
+typedef long int /* long int */ integer;
+typedef unsigned long int /* long */ 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 long int /* long int */ logical;
+typedef short int shortlogical;
+typedef char logical1;
+typedef char integer1;
+typedef long long int /* long long */ longint; /* system-dependent */
+typedef unsigned long long int /* long long */ ulongint; /* system-dependent */
+#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
+#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
+
+#define TRUE_ (1)
+#define FALSE_ (0)
+
+/* Extern is for use with -E */
+#ifndef Extern
+#define Extern extern
+#endif
+
+/* I/O stuff */
+
+#ifdef f2c_i2
+#error "f2c_i2 will not work with g77!!!!"
+/* for -i2 */
+typedef short flag;
+typedef short ftnlen;
+typedef short ftnint;
+#else
+typedef long int /* long int */ flag;
+typedef long int /* long int */ ftnlen;
+typedef long int /* long 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
+/* (No such symbols should be defined in a strict ANSI C compiler.
+ We can avoid trouble with f2c-translated code by using
+ gcc -ansi [-traditional].) */
+#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
OpenPOWER on IntegriCloud