Add oo2c, an Oberon-2 compiler.

PR:		18215
Submitted by:	Oliver Breuninger <ob@seicom.net>
This commit is contained in:
Will Andrews 2000-06-30 02:56:21 +00:00
parent 6366da8219
commit 42563e8477
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=30006
10 changed files with 385 additions and 0 deletions

View File

@ -64,6 +64,7 @@
SUBDIR += o2c
SUBDIR += objc
SUBDIR += ocaml
SUBDIR += oo2c
SUBDIR += otcl
SUBDIR += p2c
SUBDIR += p5-Error

29
lang/oo2c/Makefile Normal file
View File

@ -0,0 +1,29 @@
# New ports collection makefile for: OO2C
# Date created: December 17, 1999
# Whom: Oliver Breuninger <ob@seicom.NET>
#
# $FreeBSD$
PORTNAME= oo2c
PORTVERSION= 1.5.2
CATEGORIES= lang
MASTER_SITES= http://www.uni-kl.de/OOC/files/oo2c/ \
ftp://ftp.de.uu.net/pub/programming/languages/oberon/www.uni-kl.de/OOC/files/oo2c/ \
http://reality.sgi.com/boehm_mti/gc_source/
DISTNAME= ${PORTNAME}_32-${PORTVERSION}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} gc4.14.tar.gz
MAINTAINER= ob@seicom.NET
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
MAN1= oo2c.1 oob.1 ooef.1 oocn.1 oowhereis.1
post-extract:
@${MV} ${WRKDIR}/gc ${WRKSRC}/gc
post-install:
@${INSTALL_SCRIPT} ${FILESDIR}/oo2 ${PREFIX}/bin
.include <bsd.port.mk>

2
lang/oo2c/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (oo2c_32-1.5.2.tar.gz) = 82410be0d698909dc6e08a06c279de69
MD5 (gc4.14.tar.gz) = 2b852a33443116dbaa163494fd423027

46
lang/oo2c/files/oo2 Normal file
View File

@ -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 "..."
oo2c $file | ooef | more
goto end
make:
#
# make Oberon program, remove Extension
#
echo making $2:r $3:r $4:r $5:r $6:r "..."
oo2c --make $2:r $3:r $4:r $5:r $6:r
goto end
usage:
#
# show a litle help
#
echo ""
echo " oo2 [option] File "
echo ""
echo " option: "
echo " --make make Project "
echo " -m make Project "
echo " -c (default) compile Module "
echo ""
end:

11
lang/oo2c/files/patch-aa Normal file
View File

@ -0,0 +1,11 @@
--- Makefile.in Wed Mar 1 06:44:52 2000
+++ Makefile.in.new Thu Jun 29 22:35:07 2000
@@ -96,7 +96,7 @@
# Allow the user to specify the install program.
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_SCRIPT=@INSTALL_PROGRAM@
+INSTALL_SCRIPT=@INSTALL_SCRIPT@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_CMD=@INSTALL_CMD@ # used by installed oo2c

View File

@ -0,0 +1,8 @@
--- src/frontend/Scanner.Mod.orig Tue Oct 19 20:41:03 1999
+++ src/frontend/Scanner.Mod Wed Oct 27 00:36:47 1999
@@ -1335,4 +1335,5 @@
kwStr[i, 0, 0] := 0X; kwStr[i, 1, 0] := 0X
END;
+ KW ("AND", and);
KW ("ARRAY", array); KW ("BEGIN", begin); KW ("BY", by); KW ("CASE", case);
KW ("CONST", const); KW ("DIV", div); KW ("DO", do); KW ("ELSE", else);

31
lang/oo2c/files/patch-gc Normal file
View File

@ -0,0 +1,31 @@
--- gc/Makefile.orig Fri Mar 26 00:41:43 1999
+++ gc/Makefile Fri Dec 17 11:49:52 1999
@@ -255,4 +255,9 @@
ln liblinuxgc.so libgc.so
+# FreeBSD shared library version of the collector
+libfreebsdgc.so: $(OBJS) dyn_load.o
+ ld -shared $(ABI_FLAG) -o libfreebsdgc.so $(OBJS) dyn_load.o -lc
+ ln libfreebsdgc.so libgc.so
+
# Alternative Linux rule. This is preferable, but is likely to break the
# Makefile for some non-linux platforms.
@@ -331,4 +336,12 @@
-rm -f *~
+copy:
+ cat gc.man | gzip > gc.l.gz
+ cp -p gc.a /usr/local/lib/libgc.a
+ cp -p libgc.so /usr/local/lib/libgc.so.0
+ cp -p gc.h /usr/local/include
+ cp -p gc.l.gz /usr/local/man/manl
+ ln -s libgc.so.0 /usr/local/lib/libgc.so
+
gctest: test.o gc.a if_mach if_not_there
rm -f gctest
@@ -417,2 +430,5 @@
cp tmp $$file; \
done
+
+install: all test libfreebsdgc.so copy
+

1
lang/oo2c/pkg-comment Normal file
View File

@ -0,0 +1 @@
Optimizing Oberon-2 compiler of University of Kaiserslautern, Germany

8
lang/oo2c/pkg-descr Normal file
View File

@ -0,0 +1,8 @@
Niklaus Wirth's language Oberon-2 implemented by a german university at
Kaiserslautern. More information about Oberon is available from its
webpage at http://www.oberon.ethz.ch/.
WWW: http://www.uni-kl.de/OOC/
- Oliver Breuninger
ob@seicom.NET

248
lang/oo2c/pkg-plist Normal file
View File

@ -0,0 +1,248 @@
bin/oo2
bin/oo2c
bin/oob
bin/oobacktrace
bin/oocn
bin/ooef
bin/oowhereis
@unexec install-info --delete %D/info/OOCref.info %D/info/dir
info/OOCref.info
info/OOCref.info-1
info/OOCref.info-2
info/OOCref.info-3
info/OOCref.info-4
info/OOCref.info-5
info/OOCref.info-6
info/OOCref.info-7
info/OOCref.info-8
info/OOCref.info-9
info/OOCref.info-10
info/OOCref.info-11
info/OOCref.info-12
info/OOCref.info-13
info/OOCref.info-14
info/OOCref.info-15
info/OOCref.info-16
info/OOCref.info-17
@exec install-info %D/info/OOCref.info %D/info/dir
lib/liboo2c.a
lib/liboo2c.la
lib/liboo2c.so
lib/liboo2c.so.14
lib/oo2c/lib/Ascii.Mod
lib/oo2c/lib/BinaryRider.Mod
lib/oo2c/lib/C.Mod
lib/oo2c/lib/Calendar.Mod
lib/oo2c/lib/Channel.Mod
lib/oo2c/lib/CharClass.Mod
lib/oo2c/lib/ComplexMath.Mod
lib/oo2c/lib/ConvTypes.Mod
lib/oo2c/lib/Err.Mod
lib/oo2c/lib/Exception.Mod
lib/oo2c/lib/Filenames.Mod
lib/oo2c/lib/Files.Mod
lib/oo2c/lib/In.Mod
lib/oo2c/lib/IntConv.Mod
lib/oo2c/lib/IntStr.Mod
lib/oo2c/lib/Integers.Mod
lib/oo2c/lib/JulianDay.Mod
lib/oo2c/lib/Kernel.Mod
lib/oo2c/lib/LComplexMath.Mod
lib/oo2c/lib/LRealConv.Mod
lib/oo2c/lib/LRealMath.Mod
lib/oo2c/lib/LRealStr.Mod
lib/oo2c/lib/LibSummary.Mod
lib/oo2c/lib/LocNumConv.Mod
lib/oo2c/lib/LocNumStr.Mod
lib/oo2c/lib/LocStrings.Mod
lib/oo2c/lib/LocText.Mod
lib/oo2c/lib/LocTextRider.Mod
lib/oo2c/lib/Locales.Mod
lib/oo2c/lib/Log.Mod
lib/oo2c/lib/LongInts.Mod
lib/oo2c/lib/LongStrings.Mod
lib/oo2c/lib/LowLReal.Mod
lib/oo2c/lib/LowReal.Mod
lib/oo2c/lib/Msg.Mod
lib/oo2c/lib/OakFiles.Mod
lib/oo2c/lib/OakIn.Mod
lib/oo2c/lib/OakMath.Mod
lib/oo2c/lib/OakMathL.Mod
lib/oo2c/lib/OakOut.Mod
lib/oo2c/lib/OakStrings.Mod
lib/oo2c/lib/Out.Mod
lib/oo2c/lib/PosixFileDescr.Mod
lib/oo2c/lib/ProgramArgs.Mod
lib/oo2c/lib/RandomNumbers.Mod
lib/oo2c/lib/RealConv.Mod
lib/oo2c/lib/RealMath.Mod
lib/oo2c/lib/RealStr.Mod
lib/oo2c/lib/Reals.Mod
lib/oo2c/lib/Rts.Mod
lib/oo2c/lib/Signal.Mod
lib/oo2c/lib/StdChannels.Mod
lib/oo2c/lib/Strings.Mod
lib/oo2c/lib/Strings2.Mod
lib/oo2c/lib/SysClock.Mod
lib/oo2c/lib/Termination.Mod
lib/oo2c/lib/TextRider.Mod
lib/oo2c/lib/Time.Mod
lib/oo2c/lib/Types.Mod
lib/oo2c/lib/liboo2c.Mod
lib/oo2c/lib/Exception.c
lib/oo2c/lib/Files.c
lib/oo2c/lib/Kernel.c
lib/oo2c/lib/LocStrings.c
lib/oo2c/lib/Locales.c
lib/oo2c/lib/OakFiles.c
lib/oo2c/lib/PosixFileDescr.c
lib/oo2c/lib/Rts.c
lib/oo2c/lib/Signal.c
lib/oo2c/lib/SysClock.c
lib/oo2c/lib/Termination.c
lib/oo2c/lib/Types.c
lib/oo2c/lib/__Descr.c
lib/oo2c/lib/__Descr.h
lib/oo2c/lib/__Exception.h
lib/oo2c/lib/__StdTypes.h
lib/oo2c/lib/__config.h
lib/oo2c/lib/__gc.h
lib/oo2c/lib/__libc.h
lib/oo2c/lib/__mini_gc.h
lib/oo2c/lib/__oo2c.c
lib/oo2c/lib/__oo2c.h
lib/oo2c/lib/__pushcontext.h
lib/oo2c/sym/Ascii.Sym
lib/oo2c/sym/BinaryRider.Sym
lib/oo2c/sym/C.Sym
lib/oo2c/sym/Calendar.Sym
lib/oo2c/sym/Channel.Sym
lib/oo2c/sym/CharClass.Sym
lib/oo2c/sym/ComplexMath.Sym
lib/oo2c/sym/ConvTypes.Sym
lib/oo2c/sym/Err.Sym
lib/oo2c/sym/Exception.Sym
lib/oo2c/sym/Filenames.Sym
lib/oo2c/sym/Files.Sym
lib/oo2c/sym/In.Sym
lib/oo2c/sym/IntConv.Sym
lib/oo2c/sym/IntStr.Sym
lib/oo2c/sym/Integers.Sym
lib/oo2c/sym/JulianDay.Sym
lib/oo2c/sym/Kernel.Sym
lib/oo2c/sym/LComplexMath.Sym
lib/oo2c/sym/LRealConv.Sym
lib/oo2c/sym/LRealMath.Sym
lib/oo2c/sym/LRealStr.Sym
lib/oo2c/sym/LocNumConv.Sym
lib/oo2c/sym/LocNumStr.Sym
lib/oo2c/sym/LocStrings.Sym
lib/oo2c/sym/LocText.Sym
lib/oo2c/sym/LocTextRider.Sym
lib/oo2c/sym/Locales.Sym
lib/oo2c/sym/Log.Sym
lib/oo2c/sym/LongInts.Sym
lib/oo2c/sym/LongStrings.Sym
lib/oo2c/sym/LowLReal.Sym
lib/oo2c/sym/LowReal.Sym
lib/oo2c/sym/Msg.Sym
lib/oo2c/sym/OakFiles.Sym
lib/oo2c/sym/OakIn.Sym
lib/oo2c/sym/OakMath.Sym
lib/oo2c/sym/OakMathL.Sym
lib/oo2c/sym/OakOut.Sym
lib/oo2c/sym/OakStrings.Sym
lib/oo2c/sym/Out.Sym
lib/oo2c/sym/PosixFileDescr.Sym
lib/oo2c/sym/ProgramArgs.Sym
lib/oo2c/sym/RandomNumbers.Sym
lib/oo2c/sym/RealConv.Sym
lib/oo2c/sym/RealMath.Sym
lib/oo2c/sym/RealStr.Sym
lib/oo2c/sym/Reals.Sym
lib/oo2c/sym/Rts.Sym
lib/oo2c/sym/Signal.Sym
lib/oo2c/sym/StdChannels.Sym
lib/oo2c/sym/Strings.Sym
lib/oo2c/sym/Strings2.Sym
lib/oo2c/sym/SysClock.Sym
lib/oo2c/sym/Termination.Sym
lib/oo2c/sym/TextRider.Sym
lib/oo2c/sym/Time.Sym
lib/oo2c/sym/Types.Sym
lib/oo2c/sym/liboo2c.Sym
lib/oo2c/sym/oo2c.Lib
lib/oo2c/obj/Ascii.h
lib/oo2c/obj/BinaryRider.h
lib/oo2c/obj/C.h
lib/oo2c/obj/Calendar.h
lib/oo2c/obj/Channel.h
lib/oo2c/obj/CharClass.h
lib/oo2c/obj/ComplexMath.h
lib/oo2c/obj/ConvTypes.h
lib/oo2c/obj/Err.h
lib/oo2c/obj/Exception.h
lib/oo2c/obj/Filenames.h
lib/oo2c/obj/Files.h
lib/oo2c/obj/In.h
lib/oo2c/obj/IntConv.h
lib/oo2c/obj/IntStr.h
lib/oo2c/obj/Integers.h
lib/oo2c/obj/JulianDay.h
lib/oo2c/obj/Kernel.h
lib/oo2c/obj/LComplexMath.h
lib/oo2c/obj/LRealConv.h
lib/oo2c/obj/LRealMath.h
lib/oo2c/obj/LRealStr.h
lib/oo2c/obj/LocNumConv.h
lib/oo2c/obj/LocNumStr.h
lib/oo2c/obj/LocStrings.h
lib/oo2c/obj/LocText.h
lib/oo2c/obj/LocTextRider.h
lib/oo2c/obj/Locales.h
lib/oo2c/obj/Log.h
lib/oo2c/obj/LongInts.h
lib/oo2c/obj/LongStrings.h
lib/oo2c/obj/LowLReal.h
lib/oo2c/obj/LowReal.h
lib/oo2c/obj/Msg.h
lib/oo2c/obj/OakFiles.h
lib/oo2c/obj/OakIn.h
lib/oo2c/obj/OakMath.h
lib/oo2c/obj/OakMathL.h
lib/oo2c/obj/OakOut.h
lib/oo2c/obj/OakStrings.h
lib/oo2c/obj/Out.h
lib/oo2c/obj/PosixFileDescr.h
lib/oo2c/obj/ProgramArgs.h
lib/oo2c/obj/RandomNumbers.h
lib/oo2c/obj/RealConv.h
lib/oo2c/obj/RealMath.h
lib/oo2c/obj/RealStr.h
lib/oo2c/obj/Reals.h
lib/oo2c/obj/Rts.h
lib/oo2c/obj/Signal.h
lib/oo2c/obj/StdChannels.h
lib/oo2c/obj/Strings.h
lib/oo2c/obj/Strings2.h
lib/oo2c/obj/SysClock.h
lib/oo2c/obj/Termination.h
lib/oo2c/obj/TextRider.h
lib/oo2c/obj/Time.h
lib/oo2c/obj/Types.h
lib/oo2c/obj/liboo2c.h
lib/oo2c/obj/__oo2c.o
lib/oo2c/gc.a
lib/oo2c/ooconfig
lib/oo2c/install-sh
lib/oo2c/README
lib/oo2c/oo2crc
lib/oo2c/Errors.short
lib/oo2c/Errors.long
lib/oo2c/oberon2.el
lib/oo2c/oberon2_18.el
lib/oo2c/o2-default.el
@dirrm lib/oo2c/lib
@dirrm lib/oo2c/obj
@dirrm lib/oo2c/sym
@dirrm lib/oo2c