aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorjfitz <jfitz@FreeBSD.org>1996-09-23 23:50:11 +0800
committerjfitz <jfitz@FreeBSD.org>1996-09-23 23:50:11 +0800
commit754ea93bc375133cb5ad0e4d0498eb7bee2e6abd (patch)
treebd9301774eb02005115d6f55ff472fb0d74a3e74 /lang
parent16003ff9fd3030d82a840f8570322f15a1d0c6a0 (diff)
downloadfreebsd-ports-gnome-754ea93bc375133cb5ad0e4d0498eb7bee2e6abd.tar.gz
freebsd-ports-gnome-754ea93bc375133cb5ad0e4d0498eb7bee2e6abd.tar.zst
freebsd-ports-gnome-754ea93bc375133cb5ad0e4d0498eb7bee2e6abd.zip
Import of REXX/imc, a REXX interpreter for unix.
Reviewed by: matt@bdd.net
Diffstat (limited to 'lang')
-rw-r--r--lang/rexx-imc/Makefile41
-rw-r--r--lang/rexx-imc/distinfo1
-rw-r--r--lang/rexx-imc/files/Makefile63
-rw-r--r--lang/rexx-imc/pkg-comment1
-rw-r--r--lang/rexx-imc/pkg-descr65
-rw-r--r--lang/rexx-imc/pkg-plist21
6 files changed, 192 insertions, 0 deletions
diff --git a/lang/rexx-imc/Makefile b/lang/rexx-imc/Makefile
new file mode 100644
index 000000000000..645c738252ff
--- /dev/null
+++ b/lang/rexx-imc/Makefile
@@ -0,0 +1,41 @@
+# New ports collection makefile for: REXX/imc
+# Version required: 1.6d
+# Date created: Septermber 21 96
+# Whom: James FitzGibbon <jfitz@FreeBSD.org>
+#
+# $Id$
+#
+
+DISTNAME= rexx-imc-1.6d
+CATEGORIES+= lang
+MASTER_SITES= http://www.comlab.ox.ac.uk/oucl/users/ian.collier/distribution/
+
+MAINTAINER= jfitz@FreeBSD.ORG
+
+NO_WRKSUBDIR= YES
+
+pre-build:
+ @ ${CP} ${FILESDIR}/Makefile ${WRKDIR}
+
+do-install:
+ @strip ${WRKDIR}/librexx.so.1.6.4 ${WRKDIR}/rxmathfn.rxfn
+ @ for file in rexx rxque rxstack; do \
+ ${INSTALL_PROGRAM} ${WRKDIR}/$$file ${PREFIX}/bin; \
+ done
+ @ for file in rxmathfn.rxfn rxmathfn.rxlib; do \
+ ${INSTALL_DATA} ${WRKDIR}/$$file ${PREFIX}/bin; \
+ done
+ @ for file in librexx.a librexx.so.1.6.4; do \
+ ${INSTALL_DATA} ${WRKDIR}/$$file ${PREFIX}/lib; \
+ done
+.ifndef(NOPORTDOCS)
+ @ ${MKDIR} -p ${PREFIX}/share/doc/rexx-imc/
+ @ for file in README README.avail README.bugreport README.docs README.files README.make README.news README.versions rexx.info rexx.ref rexx.summary rexx.tech; do \
+ ${INSTALL_DATA} ${WRKDIR}/$$file ${PREFIX}/share/doc/rexx-imc/; \
+ done
+.endif
+
+post-install:
+ @ ldconfig -m ${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/lang/rexx-imc/distinfo b/lang/rexx-imc/distinfo
new file mode 100644
index 000000000000..bcc2df4f5264
--- /dev/null
+++ b/lang/rexx-imc/distinfo
@@ -0,0 +1 @@
+MD5 (rexx-imc-1.6d.tar.gz) = 338808696c44eccee945c3ef2ff55cd2
diff --git a/lang/rexx-imc/files/Makefile b/lang/rexx-imc/files/Makefile
new file mode 100644
index 000000000000..74b069be76b1
--- /dev/null
+++ b/lang/rexx-imc/files/Makefile
@@ -0,0 +1,63 @@
+# Makefile for REXX/imc
+#
+# Based upon the original by the author
+# Heavily hacked by jfitz@FreeBSD.ORG
+#
+
+CC= gcc
+PIC= -fPIC
+CCFLAGS= -DHAS_TTYCOM -D_REQUIRED -c ${PIC}
+
+OPTFLAGS= -O2
+
+# Release Date Variables
+RXDAY= 1
+RXMONTH= 8
+RXYEAR= 96
+DATE= -DDAY=${RXDAY} -DMONTH=${RXMONTH} -DYEAR=${RXYEAR}
+
+# Shared Library Version
+VER= 1.6.4
+
+SHAREDLIB= librexx.so.${VER}
+STATICLIB= librexx.a
+.ifdef(BUILD_STATIC)
+REXXLIB=${STATICLIB}
+.else
+REXXLIB=${SHAREDLIB}
+.endif
+MATH= rxmathfn.rxfn
+REXXIMC= ${PREFIX}/bin
+FILEDEFS= -DREXXIMC=\"${REXXIMC}\"
+LIBFILES= rexx.o rxfn.o calc.o util.o shell.o interface.o globals.o
+HFILES= const.h globals.h functions.h rexxsaa.h
+
+all: rexx rxque rxstack ${MATH}
+
+interface.o: interface.c ${HFILES}
+ ${CC} ${OPTFLAGS} ${CCFLAGS} -c ${DATE} ${FILEDEFS} -o $@ interface.c
+
+${SHAREDLIB}: ${LIBFILES}
+ ${LD} -Bshareable -o ${SHAREDLIB} ${LIBFILES}
+
+${STATICLIB}: ${LIBFILES}
+ ar rc ${STATICLIB} ${LIBFILES}
+ ${RANLIB} ${STATICLIB}
+
+rexx: main.o ${REXXLIB}
+ ${CC} ${OPTFLAGS} -o rexx main.o -L. -lrexx
+
+rxque: rxque.o ${STATICLIB}
+ ${CC} ${OPTFLAGS} -o rxque rxque.o
+
+rxstack: rxstack.o ${STATICLIB}
+ ${CC} ${OPTFLAGS} -o rxstack rxstack.o
+
+rxmathfn.rxfn: rxmathfn.o ${HFILES}
+ ${LD} -Bshareable -o rxmathfn.rxfn rxmathfn.o -lm
+
+interface.o: interface.c ${HFILES}
+ ${CC} ${OPTFLAGS} ${CCFLAGS} -o interface.o ${FILEDEFS} interface.c
+
+.c.o:
+ ${CC} ${OPTFLAGS} ${CCFLAGS} -o $@ $<
diff --git a/lang/rexx-imc/pkg-comment b/lang/rexx-imc/pkg-comment
new file mode 100644
index 000000000000..76c46be03718
--- /dev/null
+++ b/lang/rexx-imc/pkg-comment
@@ -0,0 +1 @@
+a procedural programming language designed by IBM's UK Laboratories.
diff --git a/lang/rexx-imc/pkg-descr b/lang/rexx-imc/pkg-descr
new file mode 100644
index 000000000000..89d4fdacbf18
--- /dev/null
+++ b/lang/rexx-imc/pkg-descr
@@ -0,0 +1,65 @@
+What is REXX ?
+==============
+
+REXX is a programming language designed by Michael Cowlishaw
+of IBM UK Laboratories. In his own words: "REXX is a
+procedural language that allows programs and algorithms to
+be written in a clear and structured way."
+REXX doesn't look that different from any other procedural
+language. Here's a simple REXX program:
+
+ /* Count some numbers */
+
+ say "Counting..."
+ do i = 1 to 10
+ say "Number" i
+ end
+
+What makes REXX different from most other languages is that
+it is also designed to be used as a macro language by
+arbitrary application programs. The idea is that
+application developers don't have to design their own macro
+languages and interpreters. Instead they use REXX as the
+macro language and support the REXX programming interface.
+If a REXX macro comes across an expression or function call
+that it cannot resolve, it can ask the application to handle
+it instead. The application only has to support the
+features that are specific to it, freeing the developer from
+handling the mundane (and time-consuming) task of writing a
+language interpreter. And if all applications use REXX as
+their macro language, the user only has to learn one
+language instead of a dozen.
+
+
+Differences between TRL (The REXX Language) and REXX/imc
+========================================================
+
+The following are all nonstandard features of REXX-imc
+
+ * Rejection of labels ending with dot (in case of confusion between
+ function.(args) and stem.(tail))
+ * Compound variable accesses of the form "stem.'string constant'" and
+ stem.(expression)
+ * Acceptance of any non-zero number for logical truth, rather than just 1
+ * "SAYN expression" to output lines without carriage return
+ * "SELECT expression" to switch on a value
+ * "END SELECT"
+ * "PARSE VALUE" with multiple strings separated by commas
+ * "PROCEDURE HIDE"
+ * The following functions: chdir getcwd getenv putenv system userid
+ plus these I/O functions: open close fdopen popen pclose fileno ftell
+ * error messages 80-210, -1 and -3.
+
+
+Good sources of REXX information on the web:
+============================================
+
+REXX/imc Home page
+ http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Rexx/index.html
+
+IBM's REXX Language Page
+ http://rexx.hursley.ibm.com/rexx/
+
+REXX Tutorials Page
+ http://www2.hursley.ibm.com/rexxtut/
+
diff --git a/lang/rexx-imc/pkg-plist b/lang/rexx-imc/pkg-plist
new file mode 100644
index 000000000000..3acc7b58b151
--- /dev/null
+++ b/lang/rexx-imc/pkg-plist
@@ -0,0 +1,21 @@
+bin/rexx
+bin/rxque
+bin/rxstack
+bin/rxmathfn.rxfn
+bin/rxmathfn.rxlib
+lib/librexx.a
+lib/librexx.so.1.6.4
+@exec ldconfig -m %B
+share/doc/rexx-imc/README
+share/doc/rexx-imc/README.avail
+share/doc/rexx-imc/README.bugreport
+share/doc/rexx-imc/README.docs
+share/doc/rexx-imc/README.files
+share/doc/rexx-imc/README.make
+share/doc/rexx-imc/README.news
+share/doc/rexx-imc/README.versions
+share/doc/rexx-imc/rexx.info
+share/doc/rexx-imc/rexx.ref
+share/doc/rexx-imc/rexx.summary
+share/doc/rexx-imc/rexx.tech
+@dirrm share/doc/rexx-imc/