summaryrefslogtreecommitdiff
path: root/lang/o2c
diff options
context:
space:
mode:
authorThomas Gellekum <tg@FreeBSD.org>1998-06-12 12:08:09 +0000
committerThomas Gellekum <tg@FreeBSD.org>1998-06-12 12:08:09 +0000
commit96446f840c58fd69b0c64051e513972e5c0310cd (patch)
tree079211e900439b490c27434da596c68a1e9a0ad2 /lang/o2c
parentDo not install slogin1.1 manpage, no such program (diff)
New port o2c, an Oberon-2 compiler.
PR: 5273 Submitted by: Oliver Breuninger <ob@seicom.NET>
Notes
Notes: svn path=/head/; revision=11410
Diffstat (limited to 'lang/o2c')
-rw-r--r--lang/o2c/Makefile25
-rw-r--r--lang/o2c/distinfo1
-rw-r--r--lang/o2c/files/o246
-rw-r--r--lang/o2c/files/patch-aa63
-rw-r--r--lang/o2c/files/patch-ab31
-rw-r--r--lang/o2c/pkg-comment1
-rw-r--r--lang/o2c/pkg-descr10
-rw-r--r--lang/o2c/pkg-plist46
8 files changed, 223 insertions, 0 deletions
diff --git a/lang/o2c/Makefile b/lang/o2c/Makefile
new file mode 100644
index 000000000000..a8344b4249a5
--- /dev/null
+++ b/lang/o2c/Makefile
@@ -0,0 +1,25 @@
+# New ports collection makefile for: Oberon2C
+# Version required: 1.16
+# Date created: December 3, 1997
+# Whom: Oliver Breuninger <ob@seicom.NET>
+#
+# $Id$
+
+DISTNAME= o2c-1.16
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.uni-kl.de/pub/informatik/software/ \
+ ftp://cognac.informatik.uni-kl.de/pub/ooc/misc/
+
+MAINTAINER= ob@seicom.NET
+
+MAKE_ENV= MAKEOBJDIR=.
+
+MAN1= o2b.1 o2c.1 o2ef.1 o2whereis.1
+
+post-extract:
+ @${CP} ${FILESDIR}/o2 ${WRKSRC}
+
+post-patch:
+ @/usr/bin/perl -pi -e "s|@PREFIX@|${PREFIX}|g;" ${WRKSRC}/system/o2c.red.template
+
+.include <bsd.port.mk>
diff --git a/lang/o2c/distinfo b/lang/o2c/distinfo
new file mode 100644
index 000000000000..2c228809433f
--- /dev/null
+++ b/lang/o2c/distinfo
@@ -0,0 +1 @@
+MD5 (o2c-1.16.tar.gz) = 5e4c80d8ec4e744953c408dc9301a147
diff --git a/lang/o2c/files/o2 b/lang/o2c/files/o2
new file mode 100644
index 000000000000..525ce0a35802
--- /dev/null
+++ b/lang/o2c/files/o2
@@ -0,0 +1,46 @@
+#! /bin/csh
+
+if ( $#argv == 0 ) goto usage
+if ( $1 == "--make" ) goto make
+if ( $1 == "-m" ) goto make
+
+compile:
+#
+# compile files, check extension
+#
+if ( $1 == "-c" ) then
+ set file = $2
+else
+ set file = $1
+endif
+echo Extension $file:e
+if ( $file:e != "Mod" ) then
+ set file = $file".Mod"
+endif
+echo compiling $file "..."
+o2c $file | o2ef | more
+goto end
+
+make:
+#
+# make Oberon program, remove Extension
+#
+echo making $2:r $3:r $4:r $5:r $6:r "..."
+o2c --make $2:r $3:r $4:r $5:r $6:r
+goto end
+
+usage:
+#
+# show a litle help
+#
+echo ""
+echo " o2 [option] File "
+echo ""
+echo " option: "
+echo " --make make Project "
+echo " -m make Project "
+echo " -c (default) compile Module "
+echo ""
+
+end:
+
diff --git a/lang/o2c/files/patch-aa b/lang/o2c/files/patch-aa
new file mode 100644
index 000000000000..24c0732a3dee
--- /dev/null
+++ b/lang/o2c/files/patch-aa
@@ -0,0 +1,63 @@
+--- Makefile.orig Fri Mar 28 13:15:40 1997
++++ Makefile Wed Dec 3 17:21:31 1997
+@@ -5,8 +5,7 @@
+
+ # where to install the binaries?
+-BIN = $(HOME)/bin
+-MANPATH = /usr/man
+-
+-
++BIN = ${PREFIX}/bin
++MANPATH = ${PREFIX}/man
++LIBPATH = ${PREFIX}/lib/o2c-1.16
+
+ # you shouldn't have to change anything below
+@@ -29,5 +28,5 @@
+ -rm -f o2c_stage0 o2c_stage1 o2c_stage2 o2c all
+ # check the hardcoded type sizes against the C types
+- gcc -o sizes system/sizes.c
++ gcc -o sizes system/sizes.c -Isystem
+ ./sizes
+ # build compiler executable from the distributed C sources
+@@ -63,5 +62,11 @@
+ mv o2c o2c_stage2
+
+-install: all
++install.man:
++ for i in $(COMMANDS) ; do \
++ cp docs/$$i.1 $(MANPATH)/man1/$$i.1 ; \
++ chmod 644 $(MANPATH)/man1/$$i.1 ; \
++ done
++
++install: all install.man
+ if [ ! -f $(HOME)/.o2c.red ]; then \
+ cp system/o2c.red.template $(HOME)/.o2c.red; \
+@@ -69,18 +74,20 @@
+ chmod -R ugo+rX *
+ -rm -f o2c
+- ln o2c_stage2 o2c
++ cp o2c_stage2 o2c
++ mkdir $(LIBPATH)
++ cp system/_OGCC.c $(LIBPATH)
++ cp system/_OGCC.h $(LIBPATH)
++ cp system/ErrorList.Txt $(LIBPATH)
++ cp lib/* $(LIBPATH)
++ chmod 644 $(LIBPATH)/*
+ for i in $(COMMANDS) ; do \
+ cp $$i $(BIN)/$$i ; \
+ chmod 755 $(BIN)/$$i ; \
+ done
+-
+-install.man:
+- for i in $(COMMANDS) ; do \
+- cp docs/$$i.1 $(MANPATH)/man1/$$i.1 ; \
+- chmod 644 $(MANPATH)/man1/$$i.1 ; \
+- done
++ cp o2 $(BIN)
++ chmod 755 $(BIN)/o2
+
+ clean:
+- -rm -f makefile_o2c Makefile sizes
++ -rm -f sizes
+ -rm -f o2c_stage0 o2c_stage1 o2c_stage2 o2c all UpdateLib
+ -rm -rf obj.distrib
diff --git a/lang/o2c/files/patch-ab b/lang/o2c/files/patch-ab
new file mode 100644
index 000000000000..59a05e14d288
--- /dev/null
+++ b/lang/o2c/files/patch-ab
@@ -0,0 +1,31 @@
+--- system/o2c.red.template.orig Fri Mar 28 13:15:18 1997
++++ system/o2c.red.template Wed Dec 3 16:54:26 1997
+@@ -8,8 +8,9 @@
+ # paths for sources
+ *.Mod =
+- .; # first search the current directory
+- lib; # the standard libs, they _have to be_ in the path list
+- compiler # the compiler sources
+- + RCS # include RCS files in the search
++ .; # first search the current directory
++ lib;
++ @PREFIX@/lib/o2c-1.16; # the standard libs, they _have to be_ in the path list
++ compiler # the compiler sources
++ + RCS # include RCS files in the search
+
+ # places for the compiler generated files
+@@ -18,8 +19,11 @@
+
+ # interface files, have to be in the path list
+-*.c = lib
++*.c =
++ lib;
++ @PREFIX@/lib/o2c-1.16
+
+ # system files: standard include file and list of error messages
+-_OGCC.?, ErrorList.Txt = system
+-
++_OGCC.?, ErrorList.Txt =
++ system;
++ @PREFIX@/lib/o2c-1.16
+
diff --git a/lang/o2c/pkg-comment b/lang/o2c/pkg-comment
new file mode 100644
index 000000000000..772bb925d574
--- /dev/null
+++ b/lang/o2c/pkg-comment
@@ -0,0 +1 @@
+Oberon-2 compiler
diff --git a/lang/o2c/pkg-descr b/lang/o2c/pkg-descr
new file mode 100644
index 000000000000..71a9ecbb1f08
--- /dev/null
+++ b/lang/o2c/pkg-descr
@@ -0,0 +1,10 @@
+
+Niklaus Wirth's language Oberon-2 implemented by a german university at
+Kaiserslautern.
+
+o2c homepage at http://cognac.informatik.uni-kl.de/~oberon1/o2c/o2c_home.html
+
+Oberon informations at http://www.oberon.ethz.ch/
+
+- Oliver Breuninger
+ob@seicom.NET
diff --git a/lang/o2c/pkg-plist b/lang/o2c/pkg-plist
new file mode 100644
index 000000000000..6922b6f4dd4e
--- /dev/null
+++ b/lang/o2c/pkg-plist
@@ -0,0 +1,46 @@
+bin/o2
+bin/o2b
+bin/o2c
+bin/o2ef
+bin/o2whereis
+lib/o2c-1.16/_OGCC.c
+lib/o2c-1.16/_OGCC.h
+lib/o2c-1.16/ErrorList.Txt
+lib/o2c-1.16/CType.Mod
+lib/o2c-1.16/CharInfo.Mod
+lib/o2c-1.16/ConvTypes.Mod
+lib/o2c-1.16/Dos.Mod
+lib/o2c-1.16/Dos.c
+lib/o2c-1.16/FOut.Mod
+lib/o2c-1.16/Filenames.Mod
+lib/o2c-1.16/Files.Mod
+lib/o2c-1.16/Files.c
+lib/o2c-1.16/FIn.Mod
+lib/o2c-1.16/In.Mod
+lib/o2c-1.16/IntStr.Mod
+lib/o2c-1.16/Math.Mod
+lib/o2c-1.16/MathL.Mod
+lib/o2c-1.16/MathL.c
+lib/o2c-1.16/Out.Mod
+lib/o2c-1.16/RandomNumbers.Mod
+lib/o2c-1.16/RealStr.Mod
+lib/o2c-1.16/Redir.Mod
+lib/o2c-1.16/Rts.Mod
+lib/o2c-1.16/Rts.c
+lib/o2c-1.16/Strings.Mod
+lib/o2c-1.16/Strings2.Mod
+lib/o2c-1.16/Time.Mod
+lib/o2c-1.16/Types.Mod
+lib/o2c-1.16/Types.c
+lib/o2c-1.16/Unix.Mod
+lib/o2c-1.16/Unix.c
+lib/o2c-1.16/UpdateLib.Mod
+lib/o2c-1.16/X11.Mod
+lib/o2c-1.16/Xresource.Mod
+lib/o2c-1.16/Xutil.Mod
+lib/o2c-1.16/XYplane.Mod
+man/man1/o2b.1.gz
+man/man1/o2c.1.gz
+man/man1/o2ef.1.gz
+man/man1/o2whereis.1.gz
+@dirrm lib/o2c-1.16