orange2c and its accompanying libraries are
intended to be as platform independant as possible. portability of
course is limited by the approach to compile orange
source code to C. even though C is a fairly widely available
language, the diversity in system runtime libraries and language
feature sets is stunning. therefore both the compiler and the base
libraries are written with portability in mind. neverthelesse the
degree of portability depends on a number of facts: 1. | both the compiler and the (orange)
runtime requires a fully working garbage collector. the system is
developed using the hans boehm conservative garbage collector
library which is a transparent replacement for the standard C
malloc/free function set, and seems to be fairly stable. even if
this library is available on a wide range of platforms, the
non-availability prevends portability of the compiler and libraries
in the moment. | 2. | the (orange) runtime libraries requires a
working threading subsystem. due to the diversity of different
thread approachs on various operating systems, the language runtime
kernel needs an special implementation for every new thread
approach. only pthread support is available by now. |
Supported (tested) platforms and known issuesthe (current) release (0.4.0) has been build and tested
on following systems: Linux Debian 2.2 (x86)main development platform is linux debian 2.2 (x86). running
and compiling on this platforms should be straightforward.
compiling and running on other linux/x86 distributions should
raise no special problems. boehm's garbage collector libraries
is available pre-compiled and pre-packaged on most
distributions. FreeBSD 4.4 and 4.5-STABLE (x86)compiling and running both compiler and library raise no
problemm, but one has to use GNU make instead of the native make
utility. either versions 5.3 and 6.0 of boehm's garbage
collector library has been tested, however it seems that thread
support is limited in the gc, as the gc's documentation
tells. SunOS 5.8 (sparc) / Solaris 2.8Compiling and running tools and libraries is straightforward.
boehm's garbage collector version 6.0 has been tested. BeOS 5 (x86)Earlier versions used to compile and run under this platform,
but since thread support has been added to the runtime kernel,
the current kernel code doesn't compile. boehm's garbage
collector is no prolem though. |