summaryrefslogtreecommitdiffstats
path: root/lang/rexx-imc
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>2000-05-29 02:20:47 +0000
committersteve <steve@FreeBSD.org>2000-05-29 02:20:47 +0000
commit359a46f86b02b60865a0e45778df47e1da6d5686 (patch)
tree7e24f5e80cb2ccd43676cd930239fbc07b1da492 /lang/rexx-imc
parent8efe0b8a3a99bef2abcc5892b58557923a56cc39 (diff)
downloadFreeBSD-ports-359a46f86b02b60865a0e45778df47e1da6d5686.zip
FreeBSD-ports-359a46f86b02b60865a0e45778df47e1da6d5686.tar.gz
- Support CFLAGS properly
- Fix procedure of building shared library - Sort pkg/PLIST - Revise pkg/DESCR PR: 18797 Submitted by: KATO Tsuguru <tkato@prontomail.ne.jp>
Diffstat (limited to 'lang/rexx-imc')
-rw-r--r--lang/rexx-imc/Makefile20
-rw-r--r--lang/rexx-imc/files/Makefile27
-rw-r--r--lang/rexx-imc/pkg-descr69
-rw-r--r--lang/rexx-imc/pkg-plist14
4 files changed, 31 insertions, 99 deletions
diff --git a/lang/rexx-imc/Makefile b/lang/rexx-imc/Makefile
index 9e1e481..6314cf9 100644
--- a/lang/rexx-imc/Makefile
+++ b/lang/rexx-imc/Makefile
@@ -8,8 +8,8 @@
PORTNAME= rexx-imc
PORTVERSION= 1.7
CATEGORIES= lang
-MASTER_SITES= http://ruby.comlab.ox.ac.uk/imc/distribution/ \
- ftp://ftp.sai.msu.su/pub/unix/rexx/ \
+MASTER_SITES= http://ruby.comlab.ox.ac.uk/imc/distribution/ \
+ ftp://ftp.sai.msu.su/pub/unix/rexx/ \
ftp://crydee.sai.msu.ru/zeus/unix/rexx/
PATCH_SITES= ${MASTER_SITES}
PATCHFILES= ${DISTNAME}-19990331.patch
@@ -17,21 +17,13 @@ PATCH_DIST_STRIP= -p1
MAINTAINER= jfitz@FreeBSD.org
-MAKE_ENV= MKDIR="${MKDIR}"
+MAKE_ENV= MKDIR="${MKDIR}" OPTFLAGS="${CFLAGS}"
MAN1= rexx.1
-.include <bsd.port.pre.mk>
-
-pre-build:
- @ ${CP} ${FILESDIR}/Makefile ${WRKSRC}
+post-extract:
+ @${CP} ${FILESDIR}/Makefile ${WRKSRC}
post-install:
-.if ${PORTOBJFORMAT} == "aout"
- @${ECHO_MSG} "Fixing packing list for a.out"
- @${MV} ${TMPPLIST} ${TMPPLIST}.new
- @${GREP} -v '.so$$' ${TMPPLIST}.new > ${TMPPLIST}
- @${RM} ${TMPPLIST}.new
-.endif
@${LDCONFIG} -m ${PREFIX}/lib
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/lang/rexx-imc/files/Makefile b/lang/rexx-imc/files/Makefile
index 5ebce44..0495bb3 100644
--- a/lang/rexx-imc/files/Makefile
+++ b/lang/rexx-imc/files/Makefile
@@ -1,4 +1,6 @@
-# Makefile for REXX/imc-1.6?
+# $FreeBSD$
+#
+# Makefile for REXX/imc-1.7?
#
# Based upon the original by the author
# Heavily hacked by jfitz@FreeBSD.ORG
@@ -8,7 +10,7 @@ CC?= gcc
PIC= -fPIC
CCFLAGS= -DHAS_TTYCOM -D_REQUIRED -DRENAME_UNDELETE -c ${PIC}
-OPTFLAGS= -O2
+OPTFLAGS?= -O2
# Release Date Variables
RXDAY= 1
@@ -21,13 +23,8 @@ REXXDOCS= README README.bugreport README.docs \
rexx.info rexx.ref rexx.summary rexx.tech
# Shared Library Version
-.if ${PORTOBJFORMAT} == "elf"
VER= 2
-SHAREDLIB= librexx.so librexx.so.${VER}
-.else
-VER= 2.0
SHAREDLIB= librexx.so.${VER}
-.endif
STATICLIB= librexx.a
REXXLIB=${STATICLIB} ${SHAREDLIB}
@@ -44,9 +41,8 @@ interface.o: interface.c ${HFILES}
${CC} ${OPTFLAGS} ${CCFLAGS} -c ${DATE} ${FILEDEFS} -o $@ interface.c
${SHAREDLIB}: ${LIBFILES}
-.for t in ${.TARGET}
- ${LD} -Bshareable -o ${t} ${LIBFILES}
-.endfor
+ ${CC} -shared -Wl,-soname,$@ -o ${SHAREDLIB} ${LIBFILES}
+ ln -sf ${SHAREDLIB} librexx.so
${STATICLIB}: ${LIBFILES}
ar rc ${STATICLIB} ${LIBFILES}
@@ -62,7 +58,7 @@ rxstack: rxstack.o ${STATICLIB}
${CC} ${OPTFLAGS} -o rxstack rxstack.o
rxmathfn.rxfn: rxmathfn.o ${HFILES}
- ${LD} -Bshareable -o rxmathfn.rxfn rxmathfn.o -lm
+ ${CC} -shared -o rxmathfn.rxfn rxmathfn.o -lm
interface.o: interface.c ${HFILES}
${CC} ${OPTFLAGS} ${CCFLAGS} -o interface.o ${FILEDEFS} interface.c
@@ -71,7 +67,7 @@ rexx.1: rexx.1.in
sed -e "s|@REXXLIBDIR@|${PREFIX}/bin|" rexx.1.in > rexx.1
install:
- @strip ${SHAREDLIBS} rxmathfn.rxfn
+ @strip rxmathfn.rxfn
.for f in rexx rxque rxstack
${BSD_INSTALL_PROGRAM} ${f} ${PREFIX}/bin
.endfor
@@ -81,13 +77,14 @@ install:
.for f in ${REXXLIB}
${BSD_INSTALL_DATA} ${f} ${PREFIX}/lib
.endfor
+ ln -sf ${SHAREDLIB} ${PREFIX}/lib/librexx.so
${BSD_INSTALL_DATA} rexxsaa.h ${PREFIX}/include
+ ${BSD_INSTALL_MAN} rexx.1 ${PREFIX}/man/man1
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/rexx-imc/
+ ${MKDIR} ${PREFIX}/share/doc/rexx-imc
.for f in ${REXXDOCS}
- ${BSD_INSTALL_DATA} ${f} ${PREFIX}/share/doc/rexx-imc/
+ ${BSD_INSTALL_DATA} ${f} ${PREFIX}/share/doc/rexx-imc
.endfor
- ${BSD_INSTALL_DATA} rexx.1 ${PREFIX}/man/man1
.endif
.c.o:
diff --git a/lang/rexx-imc/pkg-descr b/lang/rexx-imc/pkg-descr
index 2c3cd9a..2907f629 100644
--- a/lang/rexx-imc/pkg-descr
+++ b/lang/rexx-imc/pkg-descr
@@ -1,64 +1,7 @@
-What is REXX ?
-==============
+REXX/imc is a Rexx interpreter for Unix. It supports all the standard
+instructions and built-in functions, plus a small number of extensions,
+and has a partial implementation of the SAA API allowing applications
+to call Rexx programs and to register addressing environments, Rexx
+functions, and exit handlers.
-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/
+WWW: http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Rexx/index.html
diff --git a/lang/rexx-imc/pkg-plist b/lang/rexx-imc/pkg-plist
index fc37408..4e23a7a 100644
--- a/lang/rexx-imc/pkg-plist
+++ b/lang/rexx-imc/pkg-plist
@@ -1,14 +1,14 @@
bin/rexx
-bin/rxque
-bin/rxstack
bin/rxmathfn.rxfn
bin/rxmathfn.rxlib
+bin/rxque
+bin/rxstack
+include/rexxsaa.h
lib/librexx.a
-lib/librexx.so.2.0
lib/librexx.so
-include/rexxsaa.h
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %D/lib
-@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
+lib/librexx.so.2
+@exec /sbin/ldconfig -m %B
+@unexec /sbin/ldconfig -R
share/doc/rexx-imc/README
share/doc/rexx-imc/README.bugreport
share/doc/rexx-imc/README.docs
@@ -20,4 +20,4 @@ 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/
+@dirrm share/doc/rexx-imc
OpenPOWER on IntegriCloud