diff options
author | jfitz <jfitz@FreeBSD.org> | 1996-09-23 23:50:11 +0800 |
---|---|---|
committer | jfitz <jfitz@FreeBSD.org> | 1996-09-23 23:50:11 +0800 |
commit | 754ea93bc375133cb5ad0e4d0498eb7bee2e6abd (patch) | |
tree | bd9301774eb02005115d6f55ff472fb0d74a3e74 /lang | |
parent | 16003ff9fd3030d82a840f8570322f15a1d0c6a0 (diff) | |
download | freebsd-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/Makefile | 41 | ||||
-rw-r--r-- | lang/rexx-imc/distinfo | 1 | ||||
-rw-r--r-- | lang/rexx-imc/files/Makefile | 63 | ||||
-rw-r--r-- | lang/rexx-imc/pkg-comment | 1 | ||||
-rw-r--r-- | lang/rexx-imc/pkg-descr | 65 | ||||
-rw-r--r-- | lang/rexx-imc/pkg-plist | 21 |
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/ |