1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
oo2c is the first compiler of the OOC project. OOC's goal is to
provide optimizing native code Oberon-2 compilers for a number of
popular computer architectures. The OOC home page is
http://www.uni-kl.de/OOC/
Current oo2c versions and patches are available at
http://www.uni-kl.de/OOC/files/oo2c/
The compiler's requirements are
o a 32 or 64 bit Unix system
o an ANSI-C compiler
o ANSI and POSIX.1 libraries.
Please drop me a note if oo2c doesn't compile on your system although
it meets the above requirements. I'll try to adjust the compiler
resp. its configuration process.
As of oo2c 1.3.6, the distribution no longer includes the sources of
Hans-J. Boehm's conservative garbage collector. To use the garbage
collector, either install gc as a proper library, or unpack the
garbage collector sources in oo2c's top-level directory, prior to
running configure. Also, oo2c now expects GNU libtool to be installed
on the target system if it should support shared libraries. See file
INSTALL for details.
This distribution contains the OOC Reference Manual in info format and
as texinfo source. The HTML version of the reference manual can be
found at
http://www.uni-kl.de/OOC/OOCref/OOCref_toc.html
The manual is also available in texinfo, info, and postscript format
from the OOC server:
http://www.uni-kl.de/OOC/files/docs/
Manual pages are included, but the man page for the compiler oo2c is
only a subset of the information in the reference manual.
I've had reports of successful installation on the following systems:
oo2c_32:
operating system compiler
----------------------------- ---------------------------
Linux 2.0.35/ix86 gcc 2.7.2.2
Linux 2.2.13/ix86 gcc 2.95.2
LinuxPPC 5.0 egcs-1.1.2-12c
MkLinux DR3.0 egcs-1.0.1 (had FP problems)
NetBSD/arm32 unknown [1]
SunOS 4.1.2/3 aka Solaris 1.1 gcc 2.5.5, gcc 2.7.2
SunOS 5.4 aka Solaris 2.4 gcc 2.7.2.1, SunPRO-C 3.0.1
SunOS 5.5 aka Solaris 2.5 gcc 2.7.2.2, egcs 1.0.2
SunOS 5.6 aka Solaris 2.6 egcs 1.1.2, SUN WorkShop 4.2
SunOS 5.7 aka Solaris 7 (32 bit) gcc-2.95.1
HP-UX A.09.01 gcc 2.5.8, gcc 2.7.2.2
HP-UX B.10.20 gcc 2.7.2.1
BeOS 4.5.2/PPC mwcc 1.5
BeOS 4.5.2/ix86 egcs-1.0.2
OS/2 Warp EMX 0.9d [2]
Windows NT & Cygwin32 Beta 19 gcc 2.7-B19
Windows NT & Cygwin32 Beta 20 egcs-1.1
[1] works after modification to LowLReal.Mod (see PROBLEMS)
[2] works after some modifications to oo2c
oo2c_64:
operating system compiler
----------------------------- ---------------------------
Solaris 7 (64 bit/SPARC) SUN WorkShop 5.0 cc -xarch=v9
Linux 2.2.9/Alpha gcc 2.95.1 [1]
Digital UNIX 4.0/Alpha egcs-2.91.60, DEC C V5.6-071
[1] a bug in gcc's -O2 optimization setting breaks oo2c, -O1 works
not verified again since oo2c_32 version 1.0.0:
operating system compiler
----------------------------- ---------------------------
AIX 3.2.5 gcc 2.7.0
IRIX 5.3 gcc 2.7.2
SparcLinux 2.0.18 gcc 2.7.2
Needless to say, bug reports are welcome. Please check first if the
bug is present in the most recent version of oo2c (see above for the
file server). If this is the case, try to create a small program that
will reproduce the error. Ideally this program is a single module
with just enough lines of code to trigger the bug. Send me this
module, together with the following information:
o how the bug manifests itself
o the version of oo2c and the options you used to compile the program
(add --write-config to oo2c's command line to obtain this information)
o the C compiler (if possible with version number) oo2c builds upon and
any additional options you passed to it
o what operating system you're using
The latter two points are important if the bug is caused by some
quirk in the C compiler or OS.
-- Michael van Acken <acken@informatik.uni-kl.de>
|