DotGNU Portable.NET
The goal of this project is to build a suite of free software tools to build and execute .NET applications, including a C# compiler,
assembler, disassembler, and runtime engine. While the initial target platform was GNU/Linux, it is also known to run under Windows,
Solaris, NetBSD, FreeBSD, and MacOS X. The runtime engine has been tested on the x86, PowerPC, ARM, Sparc, PARISC, s390, Alpha, and IA-64
processors.
DotGNU Portable.NET is part of the DotGNU project, built in accordance with the requirements of the GNU Project.
DotGNU Portable.NET is focused on compatibility with the ECMA specifications for CLI. There are other projects under the DotGNU meta-project
to build other necessary pieces of infrastructure, and to explore non-CLI approaches to virtual machine implementation.
Download
The product is available under the terms of the GNU General Public License. The latest version can be downloaded from these locations:
southern-storm.com.au/download/pnet-0.6.10.tar.gz - Runtime engine, C# compiler, and other tools
southern-storm.com.au/download/pnetlib-0.6.10.tar.gz - pnetlib C# library
southern-storm.com.au/download/pnetC-0.6.10.tar.gz - C library
southern-storm.com.au/download/ml-pnet-0.6.10.tar.gz - extra C# libraries from Mono
southern-storm.com.au/download/treecc-0.3.4.tar.gz - treecc build tool
southern-storm.com.au/download/libjit-0.0.4.tar.gz - JIT implementation
southern-storm.com.au/download/pnetmark-0.0.6.tar.gz - PNetMark benchmarking tool
southern-storm.com.au/download/pnetcurses-0.0.2.tar.gz - Curses binding
southern-storm.com.au/download/mahjongg-0.0.1.tar.gz - Qt# Mahjongg game
Building
The three primary components of the system must be built in the following order: treecc, pnet, and then pnetlib.
You will need flex and bison to build DotGNU Portable.NET. We use flex 2.5.4 and bison 1.28. Some support is provided for the BSD version of
yacc, but bison is recommended. Other versions of lex or yacc may not work.
Each source package can be unpacked, built, and installed in the usual manner:
$ zcat <package-version.tar.gz | tar xvf -
$ cd package-version
$ ./configure
$ make
$ make install
Running the examples
Once you have built the system, you can test it on the examples within the "samples" directory:
$ cd samples
$ ../engine/ilrun hello.exe
$ ../engine/ilrun fib.exe
The PNetMark program, listed above, is a more involved example. Instructions for running PNetMark can be found within its README file.
|