Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2004-02-24 21:05:41 +0300
committerMiguel de Icaza <miguel@gnome.org>2004-02-24 21:05:41 +0300
commit4f00a9f76fd900ec1e7069b59ab004344da2b726 (patch)
tree0edec8a7ae14db129d72b6247698f93ffc4e666f /doc
parent8cdb27ac59f273b3bf4741217e6b03c458288e51 (diff)
Remove doc directory
svn path=/trunk/mono/; revision=23412
Diffstat (limited to 'doc')
-rw-r--r--doc/.cvsignore4
-rwxr-xr-xdoc/ChangeLog35
-rw-r--r--doc/Makefile.am37
-rw-r--r--doc/MonoIcon.pngbin448 -> 0 bytes
-rw-r--r--doc/README54
-rw-r--r--doc/ado-net391
-rw-r--r--doc/anoncvs73
-rwxr-xr-xdoc/asp-net107
-rw-r--r--doc/blogs38
-rw-r--r--doc/books64
-rw-r--r--doc/bugs76
-rw-r--r--doc/c-sharp228
-rw-r--r--doc/ccvs366
-rw-r--r--doc/class-library190
-rw-r--r--doc/class-status.in44
-rw-r--r--doc/classlib-doc49
-rw-r--r--doc/compiling235
-rw-r--r--doc/contact13
-rw-r--r--doc/contributing275
-rw-r--r--doc/crypto380
-rw-r--r--doc/devel-faq190
-rw-r--r--doc/documentation255
-rw-r--r--doc/download1331
-rw-r--r--doc/drawing51
-rwxr-xr-xdoc/embedded-api305
-rw-r--r--doc/faq1573
-rwxr-xr-xdoc/firebird138
-rw-r--r--doc/forge72
-rw-r--r--doc/gcc-frontend7
-rw-r--r--doc/gtk-sharp157
-rw-r--r--doc/hackers39
-rwxr-xr-xdoc/ibmdb2157
-rw-r--r--doc/ideas71
-rw-r--r--doc/index195
-rwxr-xr-xdoc/java66
-rw-r--r--doc/jit-debug78
-rwxr-xr-xdoc/languages162
-rw-r--r--doc/mailing-lists271
-rw-r--r--doc/mbas54
-rw-r--r--doc/mono-1.0.html91
-rw-r--r--doc/mono-beginning34
-rw-r--r--doc/mono-beginning-windows.xml1065
-rw-r--r--doc/mono-beginning.xml1294
-rwxr-xr-xdoc/mono-build-w32.sh201
-rwxr-xr-xdoc/mono-build.sh254
-rw-r--r--doc/mono-contribution-howto551
-rw-r--r--doc/mono-hacking-roadmap.html271
-rw-r--r--doc/mono-roadmap.html396
-rw-r--r--doc/mono-todo295
-rw-r--r--doc/monodoc-xml755
-rwxr-xr-xdoc/mysql329
-rwxr-xr-xdoc/odbc218
-rw-r--r--doc/oldnews2917
-rwxr-xr-xdoc/oledb153
-rwxr-xr-xdoc/oracle166
-rw-r--r--doc/other36
-rw-r--r--doc/papers101
-rw-r--r--doc/passport298
-rw-r--r--doc/pending14
-rw-r--r--doc/performance209
-rwxr-xr-xdoc/plans15
-rw-r--r--doc/porting63
-rw-r--r--doc/postgresql604
-rw-r--r--doc/ppc40
-rwxr-xr-xdoc/print-stack15
-rwxr-xr-xdoc/projects22
-rwxr-xr-xdoc/provider-factory156
-rw-r--r--doc/rationale199
-rw-r--r--doc/release-notes/mono-0.346
-rw-r--r--doc/release-notes/mono-0.443
-rw-r--r--doc/resources235
-rw-r--r--doc/resources-pending30
-rw-r--r--doc/roadmap12
-rw-r--r--doc/runtime203
-rw-r--r--doc/screenshots229
-rwxr-xr-xdoc/sqlclient222
-rwxr-xr-xdoc/sqlite143
-rw-r--r--doc/status40
-rwxr-xr-xdoc/sybase153
-rw-r--r--doc/tds-providers164
-rwxr-xr-xdoc/tdsclient157
-rw-r--r--doc/testing269
-rw-r--r--doc/thanks6
-rw-r--r--doc/todo53
-rw-r--r--doc/tools67
-rw-r--r--doc/web/.cvsignore2
-rw-r--r--doc/web/commands78
-rwxr-xr-xdoc/web/deploy/.cvsignore1
-rw-r--r--doc/web/deploy/cm/c.gifbin150 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/cormissing.css182
-rw-r--r--doc/web/deploy/cm/cormissing.js395
-rw-r--r--doc/web/deploy/cm/d.gifbin137 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/e.gifbin861 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/en.gifbin111 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/f.gifbin90 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/i.gifbin90 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/m.gifbin101 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/n.gifbin65 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/p.gifbin111 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/r.gifbin73 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/s.gifbin127 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/sc.gifbin70 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/se.gifbin73 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/sm.gifbin76 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/st.gifbin101 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/sx.gifbin73 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/tb.gifbin49 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/tm.gifbin64 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/tp.gifbin67 -> 0 bytes
-rw-r--r--doc/web/deploy/cm/y.gifbin92 -> 0 bytes
-rw-r--r--doc/web/deploy/images/bgsquares.gifbin4963 -> 0 bytes
-rw-r--r--doc/web/deploy/images/bgsquares.pngbin4643 -> 0 bytes
-rw-r--r--doc/web/deploy/images/bgsquares.xcf.gzbin2775 -> 0 bytes
-rw-r--r--doc/web/deploy/images/mono.gifbin3079 -> 0 bytes
-rw-r--r--doc/web/deploy/images/mono.pngbin4495 -> 0 bytes
-rw-r--r--doc/web/deploy/images/pixel.gifbin49 -> 0 bytes
-rw-r--r--doc/web/deploy/images/pixel.pngbin156 -> 0 bytes
-rw-r--r--doc/web/htmlify33
-rw-r--r--doc/web/icaza.pl76
-rw-r--r--doc/web/images/bgsquares.gifbin4963 -> 0 bytes
-rw-r--r--doc/web/images/bgsquares.pngbin4644 -> 0 bytes
-rw-r--r--doc/web/images/bgsquares.xcf.gzbin2775 -> 0 bytes
-rw-r--r--doc/web/images/gtk-certview.pngbin32425 -> 0 bytes
-rwxr-xr-xdoc/web/images/mono-new.gifbin6198 -> 0 bytes
-rw-r--r--doc/web/images/mono.gifbin3079 -> 0 bytes
-rw-r--r--doc/web/images/mono.pngbin4496 -> 0 bytes
-rw-r--r--doc/web/images/pixel.gifbin49 -> 0 bytes
-rw-r--r--doc/web/images/pixel.pngbin157 -> 0 bytes
-rw-r--r--doc/web/images/swf-certview.pngbin14525 -> 0 bytes
-rwxr-xr-xdoc/web/images/xml.gifbin429 -> 0 bytes
-rw-r--r--doc/web/infos/.cvsignore1
-rw-r--r--doc/web/makefile206
-rw-r--r--doc/web/masterinfos/.cvsignore1
-rw-r--r--doc/web/masterinfos/Makefile60
-rwxr-xr-xdoc/web/mono-rss.cs113
-rwxr-xr-xdoc/web/process.pl89
-rw-r--r--doc/web/render-team-page.cs352
-rwxr-xr-xdoc/web/rss.cs277
-rwxr-xr-xdoc/web/src/.cvsignore1
-rw-r--r--doc/web/team.xml1593
-rwxr-xr-xdoc/web/team.xsd30
-rwxr-xr-xdoc/web/team/aleksey.pngbin6510 -> 0 bytes
-rw-r--r--doc/web/team/cesar.pngbin4306 -> 0 bytes
-rw-r--r--doc/web/team/dietmar.pngbin3166 -> 0 bytes
-rwxr-xr-xdoc/web/team/duncan.pngbin1027 -> 0 bytes
-rw-r--r--doc/web/team/gonzalo.pngbin5005 -> 0 bytes
-rw-r--r--doc/web/team/gvaish.pngbin4401 -> 0 bytes
-rw-r--r--doc/web/team/hector.pngbin4494 -> 0 bytes
-rw-r--r--doc/web/team/jackson.pngbin4626 -> 0 bytes
-rw-r--r--doc/web/team/jluke.pngbin4767 -> 0 bytes
-rwxr-xr-xdoc/web/team/johannes.pngbin6527 -> 0 bytes
-rw-r--r--doc/web/team/jonpryor.pngbin4538 -> 0 bytes
-rw-r--r--doc/web/team/jordi.pngbin4189 -> 0 bytes
-rw-r--r--doc/web/team/lluis.pngbin3425 -> 0 bytes
-rw-r--r--doc/web/team/miguel.pngbin4196 -> 0 bytes
-rw-r--r--doc/web/team/mwh.pngbin5189 -> 0 bytes
-rw-r--r--doc/web/team/nickd.pngbin5134 -> 0 bytes
-rwxr-xr-xdoc/web/team/none.pngbin2758 -> 0 bytes
-rw-r--r--doc/web/team/pedro.pngbin5722 -> 0 bytes
-rw-r--r--doc/web/team/pedroas.pngbin4539 -> 0 bytes
-rw-r--r--doc/web/team/per.pngbin4694 -> 0 bytes
-rw-r--r--doc/web/team/peterw.pngbin3908 -> 0 bytes
-rw-r--r--doc/web/team/reggie.pngbin5811 -> 0 bytes
-rw-r--r--doc/web/team/rpratap.pngbin5158 -> 0 bytes
-rw-r--r--doc/web/team/spouliot.pngbin5485 -> 0 bytes
-rwxr-xr-xdoc/web/team/tberman.pngbin4422 -> 0 bytes
-rw-r--r--doc/web/team/timc.pngbin4579 -> 0 bytes
-rw-r--r--doc/web/template.html.in125
-rw-r--r--doc/web/transform.cs20
-rw-r--r--doc/winforms96
-rwxr-xr-xdoc/xml-classes318
171 files changed, 0 insertions, 24714 deletions
diff --git a/doc/.cvsignore b/doc/.cvsignore
deleted file mode 100644
index 6d3ceb93234..00000000000
--- a/doc/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile.in
-Makefile
-all-docs
-pending-classes.in
diff --git a/doc/ChangeLog b/doc/ChangeLog
deleted file mode 100755
index 098e025d61d..00000000000
--- a/doc/ChangeLog
+++ /dev/null
@@ -1,35 +0,0 @@
-2004-02-05 Aaron Weber <aaron@ximian.com>
-
- * README: update to describe better how to use the doc/web stuff
-
- * index: change layout, move old news to oldnews page, rewrite
- content, add new headings, decrease size of other headings.
-
- * jit-debug: change link to martin's page; now it points to the
- dir holding the debugger files. Fix grammar in one sentence.
-
- * oldnews: erase very old news, add slightly old news removed from
- index
-
- * web/htmlify: shrink size of newsitem headings.
-
-2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
-
- * xml-classes : updates
-
-2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
-
- * xml-classes : status update, additional infos.
-
-2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
-
- * web/commands : Added xml-classes (forgot to commit).
- * mono-build-w32.sh : Added icu support as well as glib.
- * ChangeLog : tiny fix
-
-2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
-
- * xml-classes : added v2 info. schema status updates.
-
- Added ChangeLog. (There is no reason not to keep ChangeLog for
- documents, at least for not a little changes ;-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
deleted file mode 100644
index 68e822f30f7..00000000000
--- a/doc/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-WEB_FILES= \
- ado-net anoncvs asp-net books ccvs c-sharp class-library contact contributing devel-faq documentation download \
- embedded-api faq firebird gcc-frontend hackers ideas index \
- java jit-debug languages mailing-lists monodoc-xml mysql odbc \
- oledb papers \
- passport plans porting postgresql ppc projects rationale \
- resources roadmap runtime sqlclient sqlite sybase tdsclient \
- tds-providers status testing thanks tools \
- porting anoncvs monodoc-xml winforms
-
-OTHERS= pending resources-pending todo mono-build.sh mono-build-w32.sh print-stack
-
-EXTRA_DIST = $(WEB_FILES) README $(OTHERS)
-
-all-docs: $(WEB_FILES)
- cat rationale roadmap c-sharp tools class-library \
- runtime documentation download faq contributing \
- resources status > all-docs
-
-class-status: class-status.in Makefile.am
- cat class-status.in > class-status
-
-pending-classes:
-
-#pending-classes: pending-classes.in Makefile.am
-# echo "This is a list of pending classes, and links to their documentation on MSDN.Microsoft.com<p><p>" > pending-classes
-# for i in `cat pending-classes.in`; do x=`echo $$i | sed s/\\\.//g`; link=`echo http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrf@@@ClassTopic.asp | sed "s/@@@/$$x/"`; echo " <a href=\"$$link\">$$i</a><br>" >> pending-classes; done
-
-
-webit: dummy
- (cd web; make && make push)
-
-push-notes:
- scp release-notes/mono* www@www:/web/cvsmodules/mono/archive
-
-dummy:
-
diff --git a/doc/MonoIcon.png b/doc/MonoIcon.png
deleted file mode 100644
index c670edb5011..00000000000
--- a/doc/MonoIcon.png
+++ /dev/null
Binary files differ
diff --git a/doc/README b/doc/README
deleted file mode 100644
index f10cd5d88de..00000000000
--- a/doc/README
+++ /dev/null
@@ -1,54 +0,0 @@
-To edit the website appearance:
-
-cd doc/web
-edit template.html.in
-make
-
-To edit website content:
-
-cd doc (this directory)
-edit files carefully
-cd web
-make
-
-To publish changes:
-
-cd web
-make push
-
-################ Requirements
-
-You must have complete and working "mono" and "mcs" checkouts from
-CVS. You will probably need to bootstrap your Mono installation,
-although an existing install from RPMs may permit you to build the CVS
-versions more easily.
-
-############## Samples
-
-
- If you want to add a new item in the left menu
- you have to edit mono/doc/web/commands and add
- the entry there.
-
- For new files you can add something as:
- level,entry,path_to_the_file,file.src
-
- ex: 1,COBOL#,cobol.html,cobol.src
-
- If you just want to add a link to the menu:
- 1,MyEntry,URL
-
- ex: 1,About Linux,http://www.linux.org
-
- To test the results under Linux:
- 1. Edit mono/doc/web/makefile
-
- Delete all the references to class status
- and the deploy/index.rss as well as the
- mono.exe commands.
-
- 2. make
- 3. Open your browser and point to the
- file:///(YOUR PATH HERE)mono/doc/web/deploy/index.html
-
-
diff --git a/doc/ado-net b/doc/ado-net
deleted file mode 100644
index 61cd8bda102..00000000000
--- a/doc/ado-net
+++ /dev/null
@@ -1,391 +0,0 @@
-* ADO.NET
-
-** Data Access in Mono
-
-<ul>
- <li>Today, our goal is to be compatible with .NET 1.0 and .NET 1.1. We also would like
- to extend data access beyond what is included with .NET 1.0 and .NET 1.1,
- such as, including access to more databases, such as, PostgreSQL and MySQL,
- but also provide classes that help in creating data source-agnostic code, such as, Mono.Data.ProviderFactory.</li>
- <li>In the future, we would like to be compatible with .NET 1.2. This
- would include features like:
- <ul>
- <li><a href="http://longhorn.msdn.microsoft.com/lhsdk/ndp/daconworkingwithobjectspacesarchitecture.aspx">ObjectSpaces</a></li>
- <li>provide support for hosting Mono languages (C-Sharp, MonoBASIC, etc...)
- within a DBMS engine, such as, MySQL or PostgreSQL.</li>
- <li>implement .net 1.2 classes, such as, those found in System.Data.ProviderBase</li>
- <li>other stuff which can be brought up on the mono-list</li>
- </ul></li>
-</ul>
-
-** Bugs and Feature Requests
-
-<ul>
-
- <li>Bugs with Mono or any data provider in Mono should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have a Bugzilla user account, it is free
- and easy to create
- one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
- <li>Any requests for new features or missing functionality
- can entered as a bug in Bugzilla too</li>
-
-</ul>
-
-** ADO.NET Data Providers
-
-<p>Mono has many ADO.NET Data Providers to get you connected:
-
-<ul>
- <li><a href="http://www.go-mono.com/ibmdb2.html">IBM DB2 Universal Database</a></li>
- <li><a href="http://www.go-mono.com/mysql.html">MySQL</a></li>
- <li><a href="http://www.go-mono.com/odbc.html">ODBC</a></li>
- <li><a href="http://www.go-mono.com/oracle.html">Oracle</a></li>
- <li><a href="http://www.go-mono.com/oledb.html">OLE DB</a></li>
- <li><a href="http://www.go-mono.com/postgresql.html">PostgreSQL</a></li>
- <li><a href="http://www.go-mono.com/sqlclient.html">Microsoft SQL Server</a></li>
- <li><a href="http://www.go-mono.com/sqlite.html">SQL Lite</a></li>
- <li><a href="http://www.go-mono.com/sybase.html">Sybase</a></li>
- <li><a href="http://www.go-mono.com/tdsclient.html">Older Microsoft SQL Server and Sybase databases</a></li>
-</ul>
-
-<p>Providers which we do not have, but we would like to have. Currently,
- some of these databases are supported via the ODBC or OLE DB providers.
-
-<ul>
- <li><a href="http://msdn.microsoft.com/library/en-us/dnsql2k/html/sqlxml_intromanagedclasses.asp?frame=true">Managed Classes for SqlXml</a> which is
- a .NET data provider for retrieving XML data from a Microsoft SQL Server 2000 database. The System.Data.SqlClient provider
- in Mono can be used as a starting point at mcs/class/System.Data/System.Data.SqlClient.</li>
- <li><a href="http://www.hughes.com.au/">miniSQL</a></li>
- <li><a href="http://www.sleepycat.com/">BerkeleyDB (Sleepycat)</a></li>
- <li><a href="http://www.sapdb.org/">SapDB</a></li>
- <li><a href="http://www-3.ibm.com/software/data/informix/">Informix</a></li>
- <li><a href="http://msdn.microsoft.com/vfoxpro/">Foxpro</a></li>
- <li>Microsoft Access - could be done by creating C# bindings to <a href="http://mdbtools.sourceforge.net">MDB Tools</a></li>
- <li>dbase or xbase type database files</li>
- <li>Others are welcome</li>
-</ul>
-
-<p>External Projects that have created ADO.NET Providers that work on Mono:
-
-<ul>
-
- <li><a href="http://www.go-mono.com/firebird.html">Firebird Interbase</a></li> is a
- Firebird SQL Managed data provider. It can be used with Interbase databases too. It
- is written in 100%C# and does not require a client library. Works on .NET and Mono.</a>
- <li><a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">Npgsql</a> is a
- PostgreSQL Managed data provider written
- in 100% C#, does not require a client library, and works on .NET and Mono</li>
- <li><a href="http://sourceforge.net/projects/mysqlnet/">MySQLNet</a> is a
- MySQL Managed data provider written in 100% C#, does not
- require a client library, and works on .NET and Mono</li>
-</ul>
-
-** Tools
-
-<p>Some tools that can be used for ADO.NET and other technologies (ASP.NET, XML, etc).
-
-<ul>
- <li><p><b>SQL# command line query tool</b> is a command-line tool to
- enter and execute SQL statements or
- execute a batch of SQL commands from a file.
- <p>It can
- be used to test connection strings, connect to various ADO.NET
- providers, save output to text, html, or xml.
- <p>The SQL# CLI is distributed with the
- Mono runtime and class libraries as an executable assembly sqlsharp.exe.
- <p>The source to SQL# CLI can be found in the mcs source at
- mcs/tools/SqlSharp/SqlSharpCli.cs
- </li>
-
- <li><p><b>SQL# For GTK#</b> - is a graphical SQL database query tool</b> allows a user
- to enter SQL commands in a top panel which is a text editor.
- <p>It has a toolbar and menu for various tasks, such as, executing
- SQL commands one-at-a-time or in a batch. The results would appear
- in a bottom panel in a grid or could be saved to a file (xml, html, csv).
- <p>Also, the bottom panel would allow logging of SQL command executed.
- Here is a screenshot of <a href="http://go-mono.com/images/sqlsharp.png">SQL# For GTK#</a> which
- provides a GUI interface using the <a href="http://gtk-sharp.sourceforge.net">Gtk#</a> toolkit.
- <p>SQL# For GTK# can be found in mono cvs as sqlsharpgtk.</li>
-</ul>
-
-<p>Tools we would like to have, but they have not been created yet:
-
-<ul>
- <li>Mono has an <b>XML Schema Definition tool</b> (xsd.exe).</b>
-
- <ul>
- <li>This tool
- would works like the xsd.exe tool included with
- the .NET Framework. The Xsd.exe tool has the
- following uses:
- <ul>
- <li><b>XDR to XSD</b> - used to generate an XML schema from an XDR (XML Data Reduced schema) file.
- XDR was used by Microsoft prior to XSD becoming a W3C recommendation. So, this needs
- to be supported for legacy reasons</li>
- <li><b>XML to XSD</b> - used to generate an XML schema from an XML file</li>
- <li><b>XSD to DataSet</b> - used to generate DataSet classes from an XSD schema file. The
- DataSet classes created can then be used with XML data</li>
- <li><b>XSD to Classes</b> - used to generate classes from an XSD schema file. The
- classes created can be used with System.XML.Serialization.XMLSerializer
- to read and write XML code that follows the schema</li>
- <li><b>Classes to XSD</b> - used to generate an XML schema
- from type(s) in a assembly file. The
- XML schema created by the tool defines the XML format used
- by System.XML.Serialization.XMLSerializer</li>
- </ul>
- <li>Xsd.exe is used to manipulate XML schemas that
- follow the http://www.w3.org/XML/Schema">XML Schema Definition (XSD)</a> language
- recommended by the <a href="http://w3.org/">World Wide Web Consortium (W3C)</a></li>
-
- <li>How this tool could be created:
- <ul>
- <li>Write xsd.exe in C# and run on Mono</li>
- <li>Make sure we have XML Schema support in System.Xml.Schema. Currently,
- it is wrapped around libxlst</li>
- <li>XML serialization support in System.Data classes</li>
- <li>Create the TypedDataSetGenerator class in System.Data</li>
- <li>Using CodeDOM or Reflection.Emit to create code</li>
- <li>Make sure DataSet, XmlDataDocument, and related classes
- are implemented fully</li>
- </ul>
- </li>
-
- </li>
- </ul>
- </li>
-
- <li><b>Application XML Configuration File Editor</b> - a tool
- to create and edit an application configuration file, such as,
- we have a .net application named Accouting.exe, the tool could edit
- the application configuration file Accounting.exe.config so a user could
- connect to the database used by the program. This tool has not
- been created.</li>
-
- <li><b>Configuration Command-Line and GUI Tools for ADO.NET</b>.
- These tools have not been started. The tools would be written in
- C# and run on Mono. The
- configuration tool can be used to do the following:
- <ul>
- <li>bebased on the Application XML Configuration File Editor</li>
- <li>setup DSNs for the ODBC and OLE-DB
- providers and configurations for
- their underlying libraries (unixODBC and libgda)</li>
- <li>setup configurations for the Mono.Data.ProviderFactory
- that Brian Ritchie created</li>
- <li>setup native database client library configurations too, such as,
- freetds.conf for Microsoft SQL Server and Sybase</li>
- </ul>
- </li>
-
-</ul>
-
-** Extra Classes in Mono ADO.NET
-
- <p>An ADO.NET <a href="http://www.go-mono.com/provider-factory.html">Provider Factory</a>
- was created by Brian Ritchie. The
- Provider Factory is a way to dynamically create
- connections, commands, parameters, and data adapters based on configuration
- information.
-
-** Current Status
-
- <p>Various ADO.NET Providers have been created at various stages of
- development including:
- Firebird/Interbase, IBM DB2 Universal Database, MySQL, ODBC, OLE DB, Oracle,
- PostgreSQL, SQL Lite, Sybase, Microsoft SQL Server, and TDS Generic.
- See their respective web page for more information.
-
- <p><b>Data Relations</b> via DataRelation, DataRelationCollection, and
- other classes have not been implemented
-
- <p><b>Constraints</b> need lots of work
-
- <p><b>XML Schema Definition tool</b> xsd.exe that is included
- in the .NET Framework has not been created for Mono
-
- <p><b>TypeDataSetGenerator</b> needs to be stubbed and implemented.
-
- <p><b>DataSet, DataAdaptor, DataTable, DataRelation, DataRow, DataColumn,
- DataColumnCollection, DataRowCollection, and others</b> need more work. There are
- many classes that are just stubs and need to be implemented. Ville Palo has been
- doing much testing here.
-
- <p><b>XML support in System.Data</b> needs work. This involves working on
- the classes: DataSet, XmlDataDocument, and the method ExecuteXmlReader() that
- exists in a provider's class that implements IDbCommand, and others.
- Stuart Caborn has started the XML support in a DataSet. Tim Coleman started
- XML support in the ExecuteXmlReader() in a SqlCommand. Ville Palo has been
- heavily modifying DataSet, XmlDataDocument, and other classes for reading
- and writing XML. XML Serialization support in DataSet needs to be implemented.
-
- <p><b>Integration with ASP.NET</b> has been created. Data binding of
- a DataTable in a DataSet to a System.Web.UI.WebControls.DataGrid works. Data binding
- of other types works too.
-
- <p><b>Database Access from ASP.NET</b>:
- <ul>
- <li>Take a look at xsp in cvs and look at the examples in test: dbpage1.aspx
- and dbpage2.aspx:
- <ul>
- <li>Notice that the namespace System.Data is imported via <b>import</b></li>
- <li>A NameValueCollection is gotten using ConfigurationSettings.AppSetings. These
- settings are gotten from the file server.exe.config which is a XML file. The XML
- file has a section appSettings. In the appSettings section, you have keys
- for DBProviderAssembly, DBConnectionType, and DBConnectionString.
- <ul>
- <li><b>DBProviderAssembly</b> is the assembly of the ADO.NET provider.
- For example:
- "Mono.Data.PostgreSqlClient"</li>
- <li><b>DBConnectionType</b> is the System.Type of the class that
- implements System.Data.IDbConnection that is found
- in the DBProviderAssembly.
- For example:
- "Mono.Data.PostgreSqlClient.PgConnection"</li>
- <li><b>DBConnectionString</b> is the ConnectionString to set to the
- IDbConnection object to use in opening a connection to a data source.
- For Example:
- "hostaddr=127.0.0.1;user=monotest;password=monotest;dbname=monotest"</li>
- </ul>
- <li>The function GetConnectionData() gets the database provider assembly, connection type,
- and connection string parameters if they exist; otherwise, it uses default values. This is
- done during the loading of the web page.</li>
- <li>With the connection parameters, the assembly is loaded, the connection type is verified that
- it implements IDbConnection and an instance of the class can be created, creates a instance
- of the class, sets the connection string, and opens the connection.</li>
- </ul>
- </li>
- </ul>
-
- <p><b>Integration with Windows.Forms</b> has not been started, such as, data binding
- to a System.Windows.Forms.DataGrid. This may involve implementing many classes
- in System.Windows.Forms and System.Data.
-
- <p><b>Integration with <a href="http://gtk-sharp.sourceforge.net/">GTK#</a></b>
- has not been started, such as, data binding
- to a GtkTreeView. This may involve creating new classes
- to go between the glist data model and the ADO.NET data model.
- Mike Kestner or Rachel Hestilov would be the best people to ask for help on GTK#.
-
- <p><b>Integration with QT#</b> has not been started. Any information on
- how this can be done is appreciated. Marcus would be the best
- person to ask about QT#.
-
- <p><b>Building System.Data</b>
-
- <p>The System.Data.dll gets built with the rest of the class library.
- To compile the System.Data.dll assembly separately, you need:
-
- <b>On Unix</b>
-
- <ul>
- * update your mono sources. Be sure you have latest mcs.exe
- and .dll's, since there have been many fixes needed for
- compilation on Linux.
-
- * compile System.Data.dll:
-<pre>
- cd mcs/class/System.Data<br>
- mcs --target library -o \
- System.Data.dll @list
-</pre>
- </ul>
-
- <b>On Windows</b>
-
- <ul>
- * update your mono sources. Be sure you have latest mcs.exe
- and .dll's. You can use the same method as Linux,
- or you can use NAnt.
-
- * To use NAnt:
-
-<pre>
- cd mcs/class/System.Data
- ../../nant/NAnt.exe
-</pre>
-
- * This will automatically copy the System.Data.dll to Test.
- If you need to do a clean for the System.Data.dll assembly,<br><br>
-
-<pre>
- cd mcs/class/System.Data
- ../../nant/NAnt.exe clean
-</pre>
- </ul>
-
-** Testing
-
-<ul>
- <li>Testing connection-oriented classes are done
- via the provider specific tests
- found in the mcs source at mcs/class</br>
- <table border=1>
- <tr>
- <td><b>Name</b></td>
- <td><b>Assembly /</br> Namespace</b></td>
- <td><b>Test</b></td>
- </tr>
-
- <tr>
- <td>Microsoft</br> SQL</br> Server</br></td>
- <td>System.Data /</br> System.Data.SqlClient</td>
- <td>SqlTest.cs at</br> System.Data/Test</td>
- </tr>
-
- <tr>
- <td>PostgreSQL</br> (Npgsql)</td>
- <td>Npgsql /</br> Npgsql</td>
- <td>*.cs at</br> Npgsql/Test</td>
- </tr>
-
- <tr>
- <td>PostgreSQL</br> (Mono)</td>
- <td>Mono.Data.PostgreSqlClient /</br> Mono.Data.PostgreSqlClient</td>
- <td>PostgresTest.cs at</br> System.Data/Test</td>
- </tr>
-
- <tr>
- <td>MySQL</br> (Mono)</td>
- <td>Mono.Data.MySql /</br> Mono.Data.MySql</td>
- <td>MySqlTest.cs at</br> Mono.Data.MySql/Test</td>
- </tr>
-
- <tr>
- <td>Oracle</br> (Mono)</td>
- <td>System.Data.OracleClient /</br> System.Data.OracleClient</td>
- <td>TestOracleClient.cs at</br> System.Data.OracleClient/Test</td>
- </tr>
-
- <tr>
- <td>ODBC</br> (Mono)</td>
- <td>System.Data.Odbc /</br> System.Data</td>
- <td>OdbcTest.cs (to connect to MS SQL Server)at</br> System.Data/Test</td>
- </tr>
-
- </table>
-
-
- <li><a href="http://www.go-mono.com/testing.html">Testing non-connection classes</a> are
- done via mono's modified version of NUnit.
- <ul>
- <li>To run all the NUnit tests for Mono, you need the mcs source. cd to the root
- of the mcs source. To run it:
- <ul>
- <li>On Linux: make -f makefile test</li>
- <li>On Windows: make test</li>
- </ul>
- </li>
- <li>If you just want to run the NUnit tests for System.Data, you would cd into
- the mcs source at class/System.Data/Test and run it:
- <ul>
- <li>On Linux: make -f makefile test</li>
- <li>On Windows: make test</li>
- </ul>
- </li>
- </ul>
- </li>
-
-</ul>
-
diff --git a/doc/anoncvs b/doc/anoncvs
deleted file mode 100644
index c52d510fc53..00000000000
--- a/doc/anoncvs
+++ /dev/null
@@ -1,73 +0,0 @@
-* Anonymous CVS access
-
- Anonymous access to the Mono is available currently from three
- servers (anoncvs-spain-1.go-mono.com,
- anoncvs-spain-2.go-mono.com and us-anoncvs.go-mono.com).
-
- You can also use `anoncvs.go-mono.com', and that will pick a
- server automatically for you.
-
- Sources are currently being updated every hour.
-
-** Checking out the sources
-
- To check out the sources for the first time from the
- repository, use this command:
-
-<pre>
- export CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono
- cvs login
- cvs -z3 co mcs mono gtk-sharp
-</pre>
-
- That will get you the compiler and class libraries (mcs), the
- interpreter and JITer (mono) and the Gtk# bindings.
-
- The server is located in Spain.
-
-** Updating the sources
-
- To update your sources every day, you use this command:
-
-<pre>
- export CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono
- cvs -z3 update -dP mcs mono gtk-sharp
-</pre>
-
-** Thanks
-
- Thanks to <a href="http://www.hispalinux.es">HispaLinux</a>
- for providing this Anon CVS server. The server is located in
- Spain.
-
- Special thanks to Jesus Climent, Rodrigo Moya, Juantomás
- García and Ismael Olea for making this happen.
-
- Thanks to Matt Liotta of MontaraSoftware for hosting our
- US-based AnonCVS server.
-
-<a name="#mirror">
-** Becoming an AnonCVS mirror
-
- To become an AnonCVS mirror, you currently need about 40
- megabytes of free disk space and bandwidth that you do not
- mind sharing (you probably want enough to spare).
-
- I need to be able to rsync to your machine from the main CVS
- server. The preferred method to rsync is to setup ssh in your
- machine.
-
- The requirements are:
- <ul>
- * An account where we can ssh into.
-
- * rsync.
-
- * AnonCVS setup with the same paths as the rest of the
- servers.
-
- * Currently, about 40 megabytes of disk space, but this
- will likely grow as the project evolves.
-
- * A sysadmin contact e-mail address.
- </ul>
diff --git a/doc/asp-net b/doc/asp-net
deleted file mode 100755
index f22866b0b78..00000000000
--- a/doc/asp-net
+++ /dev/null
@@ -1,107 +0,0 @@
-* ASP.NET
-
- ASP.NET support is divided in two pieces:
- <ul>
- * Web Forms (Web Applications infrastructure).
-
- * Web Services (the SOAP-based rpc system).
- </ul>
-
- Both are functional at this point, and applications like
- "IBuySpy" run with Mono.
-
- ASP.NET works either embedded into
- our XSP server test server or the mod_mono Apache module.
-
- We are now working on bug fixing and adding missing features
- after making the whole pipeline compatible with MS.
-
- Tim started work on the Web Services. After that, Lluis is in
- charge and has been working hard on them as part of our
- <a href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=sourcegear">SourceGear</a> contract.
-
- Web services are now supported and there are some samples in the
- XSP set of tests.
-
-** Hosting
-
- ASP.NET provides a hosting interface. Today we ship support
- for two different hosting mechanisms:
- <ul>
- * <a href="#xsp">XSP</a>: A light-weight C# web server.
-
- * <a href="#mod_mono">mod_mono</a>: An apache module
- that can host the Mono runtime and the ASP.NET runtime
- </ul>
-
-<a name="xsp">
-** XSP
-
- XSP is a simple web server written in C# that can be used to
- run your ASP.NET applications. The code is available from our
- <a href="download.html">download page</a> or from the <a
- href="anoncvs.html">Anonymous CVS</a> repository (module name:
- xsp)/.
-
- This is where initial development of the .aspx/.ascx/.asax
- compiler to C# took place. That compiler is now integrated in
- System.Web classes mostly under System.Web.Compilation
- namespace. We added a new web server that works with mono and
- MS runtime and is being used to debug our classes. It resides
- in xsp/server.
-
- A couple of classes of this new server can be reused/extended
- to make an apache module/cgi using mono (MonoWorkerRequest and
- MonoApplicationHost). This server also uses a couple of
- plugins distributed with Mono to support gzip HTTP transfers.
-
- There is also a set of .aspx pages to test the server along with
- a few user controls under xsp/test.
-
- You can check it out from CVS and run 'make install' to test it.
-
-<a name="mod_mono">
-* mod_mono
-
- This Apache module is available from our <a
- href="download.html">download page</a>. The <a href="anoncvs.html">
- cvs</a> module name is mod_mono. It works with both 1.3 and 2.0
- versions of the <a href="http://httpd.apache.org">apache server</a>.
-
- It allows apache to serve ASP.NET pages.
-
- Work is underway to improve it.
-
-** Controls
-
- A lot of work has been put in the various classes that
- implement the controls (UI.HtmlControls and UI.WebControls).
- They have been coded mostly in the dark, and without being
- able to test them in real life: Gaurav and Leen worked very
- hard on this namespace. After that, we keep fixing bugs on
- them.
-
- We can now render all HtmlControls and all WebControls.
-
- Help in making the controls better is appreciated.
-
-** ASP.NET and free controls.
-
- We want to encourage developers to create open source controls
- that can be used both on Mono's ASP.NET and Microsoft's ASP.NET.
-
-** How to Help
-
- Testing and fixing HtmlControls, WebControls and validators is an
- easy way to help.
-
- In the CVS module XSP you can find a small web server used for
- testing and a directory containing sample aspx pages.
-
- You have some documentation under doc directory and in the README
- file of each directory. They explain how to test our System.Web.
- Testing is really easy!
-
- As the server also works with MS runtime, you can use it to check
- what the expected results are.
-
diff --git a/doc/blogs b/doc/blogs
deleted file mode 100644
index 1fb66df3c07..00000000000
--- a/doc/blogs
+++ /dev/null
@@ -1,38 +0,0 @@
-
- You can read the aggregates news from the Mono developers in
- <a href="http://www.go-mono.com/monologue">Monologue</a>. You
- can also download our aggregator from the <a
- href="anoncvs.html">AnonCVS</a> server.
-
- Various Mono contributors maintain blogs, some are listed here:
-
- <a href="http://codeblogs.ximian.com/blogs/benm/index.rdf"><img align="center" src="images/xml.gif"></a>
- <a href="http://codeblogs.ximian.com/blogs/benm/">Ben Maurer</a>
- <br>
- <a href="http://ada.fciencias.unam.mx/~olopez/jscript/cesar.rss2"><img align="center" src="images/xml.gif"></a>
- <a href="http://ada.fciencias.unam.mx/~olopez/jscript/">Cesar Nataren</a>
- <br>
- <a href="http://www.jacksonh.net/jackson/blog/jackson.rss2"><img align="center" src="images/xml.gif"></a>
- <a href="http://www.jacksonh.net/jackson/blog/">Jackson Harper</a>
- <br>
- <a href="http://primates.ximian.com/~lluis/blog/index.rdf"><img align="center" src="images/xml.gif"></a>
- <a href="http://primates.ximian.com/~lluis/blog/">Lluis S&aacute;nchez</a>
- <br>
- <a href="http://primates.ximian.com/~martin/blog/rss.xml"><img align="center" src="images/xml.gif"></a>
- <a href="http://primates.ximian.com/~martin/blog/">Martin Baulig</a>
- <br>
- <a href="http://primates.ximian.com/~miguel/miguel.rss2"><img align="center" src="images/xml.gif"></a>
- <a href="http://primates.ximian.com/~miguel/activity-log.php">Miguel de Icaza</a>
- <br>
- <a href="http://primates.ximian.com/~mkestner/blog/index.rdf"><img align="center" src="images/xml.gif"></a>
- <a href="http://primates.ximian.com/~mkestner/blog/">Mike Kestner</a>
- <br>
- <a href="http://pages.infinit.net/ctech/poupou.rss"><img align="center" src="images/xml.gif"></a>
- <a href="http://pages.infinit.net/ctech/poupou.html">Sebastien Pouliot</a>
- <br>
- <a href="http://primates.ximian.com/~gonzalo/mono/blog/index.xml"><img align="center" src="images/xml.gif"></a>
- <a href="http://primates.ximian.com/~gonzalo/mono/blog/">Gonzalo Paniagua</a>
- <br>
- <a href="http://codeblogs.ximian.com/blogs/ndrochak/index.rdf"><img align="center" src="images/xml.gif"></a>
- <a href="http://codeblogs.ximian.com/blogs/ndrochak/">Nick Drochak</a>
-
diff --git a/doc/books b/doc/books
deleted file mode 100644
index 00ed239bb73..00000000000
--- a/doc/books
+++ /dev/null
@@ -1,64 +0,0 @@
-* Mono
-
- <a href="http://www.amazon.de/exec/obidos/ASIN/3827264928/qid=1050051051/sr=2-1/ref=sr_2_3_1/028-2755135-1623712">
- Mono: .NET-kompatible Anwendungen mit dem Open Source-Framework
- </a>
-
-* C#
-
- A Programmer's Introduction to C# - Second Edition: Eric Gunnerson
-
-* .NET Framework
-
- Avery good techincal book about .NET is Don Box's <a
- href="http://service.bfast.com/bfast/click?bfmid=2181&sourceid=39391960&isbn=0201734117">Essential
- .NET</a>
-
-* Remoting
-
- <a href="http://www.dotnetremoting.cc/book/AdvancedDotNetRemoting.asp">Advanced .NET Remoting: Ingo Rammer</a>
-
-* Threading
-
- .NET Multithreading: Alan L. Dennis (ISBN 1-930110-54-5)
-
-* Web Services
-
- Web Services: Architecture and Implementation with .NET: Keith Ballinger
-
-* ASP.NET
-
- Essential ASP.NET with Examples in C# by Fritz Onion
-
- ASP.NET in a Nutshell by G. Andrew Duthie & Matthew MacDonald
-
- Programming ASP.NET by Jessy Liberty & Dan Hurtwitz
-
-* Compiler Implementation
-
- Compilers - Principles, Techniques, and Tools: Alfred V. Aho, Ravi Sethi,
- Jeffrey D. Ullman
-
- Advanced Compiler Design Implementation: Steven S. Muchnick
-
- Modern Compiler Implementation in C: Andrew W. Appel
-
- A Retargetable C Compiler - Design and Implementation: C. Fraser, David
- Hanson
-
-* Reference Manuals
-
- <a
- href="http://developer.intel.com/design/pentium/manuals/24319101.pdf">Intel
- Architecture Software Developer's Manual, Volume 2 - Instruction Set Reference Manual</a>
-
- <a
- href="http://www.caldera.com/developers/devspecs/abi386-4.pdf">System V ABI
- - i386 Architecture Processor Supplement</a>
-
- <a
- href="http://www.caldera.com/developers/devspecs/mipsabi.pdf">System V ABI -
- MIPS Processor supplement</a>
-
- <a href="http://www.sparc.org/standards/V8.pdf">The SPARC Architecture
- Manual Version 8</a>
diff --git a/doc/bugs b/doc/bugs
deleted file mode 100644
index baf2bd5d7f6..00000000000
--- a/doc/bugs
+++ /dev/null
@@ -1,76 +0,0 @@
-* Bug reporting
-
- To report bugs you need to create a <a
- href="http://bugzilla.ximian.com/createaccount.cgi">Bugzilla
- Account</a>.
-
- Here are some convenient shortcuts to browse or add bug reports.
-
- <ul>
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.priority%2C%20bugs.bug_id">[Query]</> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FClass%20Libraries">[Add]</a> Class Libraries
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FCompilers&component=IL+assembler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FCompilers&component=IL%20assembler">[Add]</a> IL Assembler.
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FCompilers&component=C%23&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FCompilers&component=C%23">[Add]</a> C# Compiler.
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FRuntime">[Add]</a> Runtime
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDoctools&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDoctools">[Add]</a> Documentation system.
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=gtk%23&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=gtk%23">[Add]</a> Gtk#
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&component=System.Web&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FClass%20Libraries&component=System.Web">[Add]</a> ASP.NET WebForms
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&component=System.Web.Services&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FClass%20Libraries&component=System.Web.Services">[Add]</a> ASP.NET Web Services
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDebugger&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDebugger">[Add]</a> Debugger.
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono+Develop&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono+Develop">[Add]</a> Mono Develop.
-
- * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono+Tasks&product=Mono%2FClass+Libraries&product=Mono%2FCompilers&product=Mono%2FDebugger&product=Mono%2FDoctools&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> All core components.
-
- </ul>
-
-<a name="goodbugreport"/>
-** How to make good bug reports
-
- <ol>
- * Submit a test case, the smaller it is, the better
-
- * Use <a href="http://bugzilla.ximian.com">
- http://bugzilla.ximian.com</a> to report the bug.
-
- <p>In <b>addition</b> to bugzilla, posting to the list is
- fine if the bug merits larger exposure or design
- discussions to solve; posting to the list twice or more
- is just a way to annoy people and make them waste time,
- specially when you start a new thread about it.
-
- * If the test involves libraries or assemblies that are
- not part of mono, add info about where to download all
- the dependencies, and how to compile/install them.
-
- * If compiling the test case requires more than:
- <pre> mcs test.cs </pre>
- provide the <b>full command line</b> you used to compile
- the test.
-
- * If running the test requires more than:
- <pre> mono test.exe </pre>
- provide the <b>full command line</b> needed to replicate
- the bug.
-
- * Provide info about the version of the software you're
- using (both mono and the operating system or relevant
- libraries).
-
- * Provide the output you expect the test case to produce.
-
- * Provide the actual output <b>you</b> get from the test case.
- </ol>
-
- A good bug report complies with at least 6 items from the list.
- If your bug report complies with 3 or less items, it is very
- poor and it means it will take much more time to fix (when it's
- not ignored).
-
diff --git a/doc/c-sharp b/doc/c-sharp
deleted file mode 100644
index e94dcc6c58a..00000000000
--- a/doc/c-sharp
+++ /dev/null
@@ -1,228 +0,0 @@
-* MCS: The Ximian C# compiler
-
- The Mono C# compiler is considered feature complete at this
- point and relatively mature. MCS is able to compile itself
- and many more C# programs (there is a test suite included that
- you can use). It is routinely used to compile Mono, roughly
- half a million lines of C# code.
-
-** Obtaining MCS
-
- The Mono C# compiler is part of the `mcs' module in the Mono CVS
- you can get it from our <a href="anoncvs.html">Anonymous CVS</a> server,
- or you can get nightly <a href="download.html">download page</a>.
-
-** Running MCS
-
- MCS is written in C# and uses heavily the .NET APIs. MCS runs
- on Linux with the Mono runtime and on Windows with both the
- .NET runtime and the Mono runtime.
-
-** Reporting Bugs in MCS
-
- When you report a bug, try to provide a small test case that would
- show the error so we can include this as part of the Mono C# regression
- test suite.
-
- If the bug is an error or a warning that we do not flag, write
- a sample program called `csXXXX.cs' where XXXX is the code number
- that is used by the Microsoft C# compiler that illustrates the
- problem. That way we can also do regression tests on the invalid
- input.
-
-** Phases of the compiler
-
- The compiler has a number of phases:
-
- <ul>
- * Lexical analyzer: hand-coded lexical analyzer that
- provides tokens to the parser.
-
- * The Parser: the parser is implemented using Jay (A
- Berkeley Yacc port to Java, that I ported to C#).
- The parser does minimal work and syntax checking,
- and only constructs a parsed tree.
-
- Each language element gets its own class. The code
- convention is to use an uppercase name for the
- language element. So a C# class and its associated
- information is kept in a "Class" class, a "struct"
- in a "Struct" class and so on. Statements derive
- from the "Statement" class, and Expressions from the
- Expr class.
-
- * Parent class resolution: before the actual code
- generation, we need to resolve the parents and
- interfaces for interface, classe and struct
- definitions.
-
- * Semantic analysis: since C# can not resolve in a
- top-down pass what identifiers actually mean, we
- have to postpone this decision until the above steps
- are finished.
-
- * Code generation: The code generation is done through
- the System.Reflection.Emit API.
- </ul>
-
-** CIL Optimizations.
-
- The compiler performs a number of simple optimizations on its input:
- constant folding (this is required by the C# language spec) and
- can perform dead code elimination.
-
- Other more interesting optimizations like hoisting are not possible
- at this point since the compiler output at this point does not
- generate an intermediate representation that is suitable to
- perform basic block computation.
-
- Adding an intermediate layer to enable the basic block
- computation to the compiler should be a simple task, but we
- are considering having a generic CIL optimizer. Since all the
- information that is required to perform basic block-based
- optimizations is available at the CIL level, we might just skip
- this step altogether and have just a generic IL optimizer that
- would perform hoisting on arbitrary CIL programs, not only
- those produced by MCS.
-
- If this tool is further expanded to perform constant folding
- (not needed for our C# compiler, as it is already in there)
- and dead code elimination, other compiler authors might be
- able to use this generic CIL optimizer in their projects
- reducing their time to develop a production compiler.
-
-* Open bugs
-
- See the <a href="bugs.html">bugs page</a> for more information.
-
- A test suite is maintained to track the progress of
- the compiler and various programs are routinely compiled and
- ran.
-
-* Slides
-
- Slides for the Mono C# Compiler presentation at .NET ONE are
- available <a
- href="http://primates.ximian.com/~miguel/slides-europe-nov-2002/Mono_C_Sharp_Overview_1007.sxi">here</a>
- in StarOffice format.
-
-** History
-
- MCS was able to parse itself on April 2001, MCS compiled itself
- for the first time on December 28 2001. MCS became self hosting
- on January 3rd, 2002.
-
- The Mono Runtime and the Mono execution engine were able to make
- our compiler self hosting on March 12, 2002.
-
-** Questions and Answers
-
-Q: Does the Mono C# compiler support C# 2.0?
-
-A: At this point the Mono C# compiler supports some of the features of
- C# 2.0, but the support has not been completed. To enable 2.0 features
- you must use the -2 flag to the compiler.
-
-Q: What features are available as of Feb 2004?
-
-A: Iterators have been implemented as well as method group implicit
- conversion to delegates on the main compiler branch.
-
- We have a branch of the compiler in the module `mcs/gmcs' which is
- where we are developing the Generics support for the compiler. Plenty
- of tests work (see mcs/tests/gen-*.cs for a list of tests), but work
- remains to be done.
-
-Q: Will the C# 2.0 features be part of the Mono 1.0 release?
-
-A: Only a few, the generic compiler will not be part of the 1.0
- stable release, but a beta preview will be distributed.
-
-Q: Why not write a C# front-end for GCC?
-
-A: I wanted to learn about C#, and this was an exercise in this
- task. The resulting compiler is highly object-oriented, which has
- lead to a very nice, easy to follow and simple implementation of
- the compiler.
-
- I found that the design of this compiler is very similar to
- Guavac's implementation.
-
- Targeting the CIL/MSIL byte codes would require to re-architecting
- GCC, as GCC is mostly designed to be used for register machines.
-
- The GCC Java engine that generates Java byte codes cheats: it does
- not use the GCC backend; it has a special backend just for Java, so
- you can not really generate Java bytecodes from the other languages
- supported by GCC.
-
-Q: If your C# compiler is written in C#, how do you plan on getting
- this working on a non-Microsoft environment.
-
- We will do this through an implementation of the CLI Virtual
- Execution System for Unix (our JIT engine).
-
- Our JIT engine is working for the purposes of using the compiler.
- The supporting class libraries are being worked on to fully support
- the compiler.
-
-Q: Do you use Bison?
-
-A: No, currently I am using Jay which is a port of Berkeley Yacc to
- Java that I later ported to C#. This means that error recovery is
- not as nice as I would like to, and for some reason error
- productions are not being caught.
-
- In the future I want to port one of the Bison/Java ports to C# for
- the parser.
-
-Q: Should someone work on a GCC front-end to C#?
-
-A: I would love if someone does, and we would love to help anyone that
- takes on that task, but we do not have the time or expertise to
- build a C# compiler with the GCC engine. I find it a lot more fun
- personally to work on C# on a C# compiler, which has an intrinsic
- beauty.
-
- We can provide help and assistance to anyone who would like to work
- on this task.
-
-Q: Should someone make a GCC backend that will generate CIL images?
-
-A: I would love to see a backend to GCC that generates CIL images. It
- would provide a ton of free compilers that would generate CIL
- code. This is something that people would want to look into
- anyways for Windows interoperation in the future.
-
- Again, we would love to provide help and assistance to anyone
- interested in working in such a project.
-
-Q: What about making a front-end to GCC that takes CIL images and
- generates native code?
-
-A: I would love to see this, specially since GCC supports this same
- feature for Java Byte Codes. You could use the metadata library
- from Mono to read the byte codes (ie, this would be your
- "front-end") and generate the trees that get passed to the
- optimizer.
-
- Ideally our implementation of the CLI will be available as a shared
- library that could be linked with your application as its runtime
- support.
-
- Again, we would love to provide help and assistance to anyone
- interested in working in such a project.
-
-Q: But would this work around the GPL in the GCC compiler and allow
- people to work on non-free front-ends?
-
-A: People can already do this by targeting the JVM byte codes (there
- are about 130 compilers for various languages that target the JVM).
-
-Q: Why are you writing a JIT engine instead of a front-end to GCC?
-
-A: The JIT engine and runtime engine will be able to execute CIL
- executables generated on Windows.
-
-You might also want to look at the <a href="faq.html#gcc">GCC</a>
-section on the main FAQ
diff --git a/doc/ccvs b/doc/ccvs
deleted file mode 100644
index 85331cec89a..00000000000
--- a/doc/ccvs
+++ /dev/null
@@ -1,366 +0,0 @@
-* CVS Access
-
- Here we describe how one obtains commit access to the Mono CVS
- repository and the responsibilities that come with that access
- privilege.
-
- These only apply to the Mono CVS repository, and not to the <a
- href="http://forge.novell.com/modules/xfmod/community/?monocomm">Mono
- Community</a> repositories at Novell Forge.
-
-** What is CVS?
-
- Briefly, CVS is a system tool used to store and maintain files and
- a history of their changes over time. The Mono source code and related
- files are kept on a CVS server at Ximian.
-
-** What Access?
-
- We mean "commit" access. This is the privilege to make permanent
- changes to the Mono source code and related files. You need an account
- created by the CVS server administrator in order to commit changes to
- the files on that server.
-
-** How Does One Obtain Access?
-
- Any active Mono developer can get a CVS account. Normally one is
- considered an 'active' developer after sending several patches to the
- mailing lists and/or bugzilla for review.
-
- If you are not a developer, but want to access the latest sources,
- please see the <a href="anoncvs.html">AnonCVS</a>
- instructions. If you are not a direct contributor to Mono,
- but want to host your .NET or Mono-based project, you can use
- <a href="forge.html">Novell Forge</a>.
-
-
- If you feel you are ready for a CVS account send an e-mail to
- <a href="mailto:miguel@ximian.com">miguel</a> with your public OpenSSH
- key for this purpose. Please specify if the key was generated with SSH
- version 1 or version 2. Detailed instructions are below.
-
-* Policies
-
- It is necessary that everyone with CVS commit access respect and
- adhere to the following rules. If you ask for and are granted CVS
- access, you are agreeing to follow these policies.
-
-** Code License
-
- If you are about to commit code to a module, the code that is
- being committed should be released under the same license as
- the code that the module has.
-
- Check the license if you are unsure, but it is basically:
- class libraries X11; compiler and tools: GPL; runtime: LGPL.
-
- If in doubt, check with the maintainers of the module, or send
- mail to mono-hackers-list@ximian.com.
-
-** Changing code
-
- Even if you have CVS commit access, that doesn't mean you can change
- code at will in any directory or module. Directories and Namespaces
- have a sort of unofficial ownership. If you are not the owner of a
- piece of code and you want to make changes/fixes to it, there are two
- cases.
- 1) The change is a typo fix or a one-liner build or trivial fix. In
- this case almost anyone can commit (always remembering to add the
- proper changelog entry to explain the change). We say "almost anyone",
- because changes to certain directories almost always should be reviewed
- first. Such as changes to core stuff: corlib/System, System.Collections,
- mini/, metadata/, System.IO.
-
- 2) The change is larger. In this case the patch *must* be sent to
- mono-devel-list for review by the owner of the code and by the other
- hackers. Always submit such patches to the list or bugzilla, although
- you may put the owner of the code in the CC header. Hackers come and go.
- Mailing a patch to only a personal address is a good way to get the
- patch forgotten and missed. Plus, getting the patches reviewed as well
- as reviewing them, is a good thing, so try to get used to it.
-
- Note: If the patch is an addition of code and doesn't change any of the
- existing code, the rules are slightly relaxed: there is more freedom
- in committing such changes, if they don't interfere with the existing
- codebase.
-
-** Owning Code
-
- Now, how do you get to be the owner of a chunk of code? The answer is
- simple. You wrote the code, so you're the unofficial owner. There is
- also another way. After sending a few patches for the code, the
- owner (or the core developers of mono, if the owner somehow disappeared)
- trusts you and tells you you're free to commit without getting his
- review first.
-
-
- Here is a (partial) list of namespaces/directories with their owners:
- <ul>
- <li>Debugger module and debug code in mono: martin
- <li>mcs compiler: miguel, martin, ravi
- <li>Reflection/Reflection.Emit: lupus, zoltan
- <li>IO-layer: dick
- <li>mini: lupus, dietmar
- <li>test suite: nickd (though anyone should feel free to add test cases)
- <li>System.IO: dick, ville
- <li>security stuff: spouliot
- <li>ilasm: jackson
- <li>System.Web and related: gonzalo
- <li>System.Xml: eno, piers
- <li>Remoting: dietmar, lluis
- <li>interop/marshal: dietmar
- <li>threads: dick
- </ul>
-
- If you are the owner of a piece of code, feel free to commit code, and
- delegate the work to others.
-
- But, if you're not the owner of the code, committing a rewrite without
- getting a review first is not good cvsitizenship (especially when the
- rewrite claimed to fix bugs, but not a single regression test has been
- added to the suite).
-
-** Commit Rules
-
- Once you know you can commit a patch (because of the rules above) there
- are a few other small rules to follow:
- <ul>
- <li>Always add a changelog entry with a meaningful explanation
- <li>If you fix a bug, add a regression test for it in the regression
- suite
- <li>Don't commit unrelated changes together with a fix: do fine-grained
- commits
- <li>Always check what you're committing: make sure you're only committing
- what you need and make sure you don't change line endings and
- whitespace. Do a 'cvs diff -u' of the files you're going to commit and
- check the changes.
- <li>Don't do reformatting commits, unless you're the original author of
- the code
- <li>When fixing bugs, don't follow the documentation blindly, it may
- well be wrong. Test the behavior on the MS runtime or ask on the list
- for discussion if unsure. Don't be afraid of having your changes
- reviewed.
- <li>Never remove copyright notices from the code
- <li>Never remove licensing info from code
- <li>Never commit code you didn't write yourself or code that doesn't
- have a suitable license
- <li>Follow the style conventions
- <li>Keep an eye on performance considerations, especially for code in
- core classes, ask on the list for guidance
- <li>Do a regression test run and a bootstrapping build if making changes
- to core functionality before committing. Do not commit code that would
- break the compile, because that wastes everybody's time. Two things
- are important in this step: trying to build your sources and making
- sure that you add all the new files before you do a commit.
- </ul>
-
- Also, remember to pat yourself on the back after the commit, smile and
- think we're a step closer to a better free software world.
-
-
-* Using CVS.
-
- This is a small tutorial for using CVS.
-
-** Generating an SSH key
-
- If you are using SSH version 2, please generate your key using:
-
-<pre>
- ssh-keygen -t rsa
-</pre>
-
- And mail <a href="mailto:miguel@ximian.com">miguel</a> the
- id_rsa.pub file.
-
- If you are using SSH version 1, run:
-<pre>
- ssh-keygen
-</pre>
-
- And mail <a href="mailto:miguel@ximian.com">miguel</a> your
- identity.pub file.
-
- If you are using SSH from SSH Communications Security (they offer
- a free SSH client for personal use), you have to use OpenSSH to
- convert your public key to the required format. You have to use
- OpenSSH's ssh-keygen program and write the following:
-
-<pre>
- ssh-keygen -i -f id_XXX.pub > my_public_key.pub
-</pre>
-
- where the file id_XXX.pub is your public key file,
- normally located under ~/.ssh/ or ~/.ssh2/.
- Send to <a href="mailto:miguel@ximian.com">miguel</a> the
- my_public_key.pub file.
-
- The *exact* format for this file must be:
-
-<pre>
- ssh-rsa XXXXX....
-</pre>
-
- You will need CVS and SSH. Windows users can get both by
- installing Cygwin (<a
- href="http://www.cygwin.com">http://www.cygwin.com</a>)
-
- Unix users will probably have those tools installed already.
-
-** Checking out the sources
-
- To check out the sources for the first time from the
- repository, use this command:
-
-<pre>
- export CVS_RSH=ssh
- export CVSROOT=username@mono-cvs.ximian.com:/cvs/public
- cvs -z3 co mcs mono
-</pre>
-
-** Updating your sources
-
- Every day people will be making changes, to get your latest
- updated sources, use:
-
-<pre>
- cvs -z3 update -Pd mcs mono
-</pre>
-
- Note: The '-z3' enables compression for the whole cvs action.
- The '-Pd' makes the update operation (P)rune directories that
- have been deleted and get new (d)irectories added to the
- repository.
-
-** Making patches
-
- Usually you will want to make a patch to contribute, and let
- other people review it before committing it. To obtain such a
- "patch", you type:
-
-<pre>
- cd directory-you-want-to-diff
- cvs -z3 diff -u > file.diff
- mail mono-list@ximian.com < file.diff
-</pre>
-
-** Committing your work
-
- Once you get approval to commit to the CVS, or if you are
- committing code that you are the maintainer of, you will want
- to commit your code to CVS.
-
- To do this, you have to "add" any new files that you created:
-
-<pre>
- cvs add new-file.cs
-</pre>
-
- And then commit your changes to the repository:
-
-<pre>
- cvs commit file-1.cs file-2.cs
-</pre>
-
-* Using SVN
-
- This is a small tutorial for using SVN (subversion).
- For a more complete tutorial on subversion, look at
- <a href="http://svnbook.red-bean.com/">the svn book</a>
- or <a href="http://subversion.tigris.org">the svn homepage</a>
-
-** Generating a key
-
- Follow the cvs instructions above.
-
-** Checking out the sources
-
- To checkout the sources for the first time use the command:
-
- Note: You should be running 0.35.1 (latest) of svn before attempting
- anything here.
-
-<pre>
- svn co svn+ssh://mono-cvs.ximian.com/svn/monodevelop/trunk/MonoDevelop
-</pre>
-
- If you have a different username on mono-cvs and the local computer
- you can do the following:
-
-<pre>
- svn co svn+ssh://username@mono-cvs.ximian.com/svn/monodevelop/trunk/MonoDevelop
-</pre>
-
- before checking out.
-
-** Updating your sources
-
- You can update your repository to the latest copy of MonoDevelop by
- running the following command:
-
-<pre>
- svn up
-</pre>
-
- from inside your repository.
-
-** Committing your work
-
- Before you commit anything, you should first update to the latest
- sources by following the updating directions. After you are up to date
- you need to run a:
-
-<pre>
- svn add filename
-</pre>
-
- for every file that you have created. You can get a list of these files
- by running:
-
-<pre>
- svn status
-</pre>
-
- After all the files are added, run:
-
-<pre>
- svn commit
-</pre>
-
- to commit your changes.
-
-** For more information
-
- Look at the MonoDevelop website (coming soon)
-
-* Keeping track of changes.
-
- We provide two e-mail based mechanisms to keep track of
- changes to the code base:
-
- <ul>
- * <a href="mailto:mono-patches-request@ximian.com">
- mono-patches@ximian.com</a>: This mailing list receives
- in patch form all the changes that are being made to the
- CVS.
-
- * <a href="mailto:mono-cvs-list-request@ximian.com">
- mono-cvs-list@ximian.com</a>: This mailing list only
- receives the CVS commit logs with a list of files
- modified.
- </ul>
-
- We hope to offer LXR and Bonsai in the future as well.
-
- To subscribe, send an email message to
- mono-cvs-list-request@ximian.com and in the body of the
- message put `subscribe'.
-
- This will send you an email message every time a change is
- made to the CVS repository, together with the information that
- the author of the changes submitted.
-
- You might also want to track the live changes, subscribe to
- the <a
- href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>
- to receive the patches as they are checked into CVS.
diff --git a/doc/class-library b/doc/class-library
deleted file mode 100644
index 95b56cacf9d..00000000000
--- a/doc/class-library
+++ /dev/null
@@ -1,190 +0,0 @@
-* The Class Library
-
- The Class Library should be compatible with Microsoft's .NET
- implementation.
-
- Please see the <a href="class-status.html">Class Status</a>
- page for a status of who is working on which classes.
-
- We will write as much code as possible in C#. We may need to
- interface with code written in C to gain access to the
- functionality of libraries like libart, Gtk+, and libc.
-
-** Contributing
-
- We welcome contributions to the the Class Library. To get
- started, check the status page for information about which
- APIs are being worked on, and how to get in touch with
- individual maintainers.
-
- If you want to work on a class, first check the <a
- href="download.html">Classes Distribution</a> to see if it is
- not implemented yet, if not, check the <a
- href="class-status.html">Class Status</a> to see if someone is
- already working on it, and maybe contact them.
-
- If nobody is working on it, mail <a
- href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
- with the class you want to implement and CC <a
- href="mailto:miguel@ximian.com">miguel@ximian.com</a>.
-
- You can also track live the activities of the Mono CVS module
- by subscribing to the <a
- href="http://lists.ximian.com/mailman/listinfo/mono-cvs-list">mono-cvs-list</a>
-
-
-** Missing features
-
- Our class libraries miss some features, for example, most classes
- do not implement the serialization bits at all, it would be a good
- contribution to add this to each class.
-
- This is a simple task, but it needs to be done in a compatible way
- with the Microsoft.NET classes: using the same arguments to serialize
- and reincarnate data.
-
-** Layout
-
- The Class Library resides in the `mcs' module in the directoy
- `class'.
-
- Each directory in the directory represents the assembly where
- the code belongs to, and inside each directory we divide the
- code based on the namespace they implement.
-
- There are two cases when we should consider portability: when
- we are dealing with a couple of classes only that differ from
- system to system (Consider System.Net and System.IO for Win32
- and Unix). In those cases we will just place the files for
- example on <t>corlib/System/System.IO/Unix-Console.cs</t> and
- <t>corlib/System/System.IO/Win32-Console.cs</t>.
-
- For classes that might differ more (for example, the
- implementation of Windows.Forms), we might have different
- directories altogether: <t>System.Windows.Forms/Win32</t>,
- <t>System.Windows.Forms/Gtk+</t> and
- <t>System.Windows.Forms/Cocoa</t>.
-
-** Using existing components from GNOME.
-
- Our current plan is to implement the GUI tools on top of
- Gtk+. The only obstacle here is that applications from Windows
- might expect to be able to pull the HWND property from the
- widgets and use PInvoke to call Windows functions.
-
-** Class Library and Win32 dependencies.
-
- There are a few spots where the Win32 foundation is exposed to
- the class library (for example, the HDC and HWND properties in
- the GDI+). Casual inspection suggests that these can be
- safely mapped to Gdk's GC and GdkWindow pointers without
- breaking anything.
-
- The only drawback is that support for PInvoke of Win32 code
- won't be available. An alternate solution would be to use
- portions of Wine, or even to use Wine as our toolkit.
-
-*** Initial GDI+ and WinForms implementation
-
- The initial implementation will use Gtk+ as the underlying
- toolkit. Since GTK+ has already been ported to many windowing
- systems other than X (including frame buffer, Win32, and BeOS)
- its use should cover most applications for most users.
-
-*** Database access
-
- We will implement ADO.NET functionality by reusing <a
- href="http://www.gnome-db.org">GNOME-DB</a>. This is an ideal
- choice, since GNOME-DB was implemented precisely to provide an
- ADO-like system for GNOME.
-
-*** Component Integration
-
- We will provide a new namespace to use GNOME specific features
- as well as a namespace to host Bonobo interfaces and classes
- in Mono.
-
-** Licensing
-
- The class library is being licensed under the terms of the
- <a
- href="http://www.opensource.org/licenses/mit-license.html">MIT
- license.</a> This is the same license used by the X11 window
- system.
-
-** Class Library testing
-
- We need to write regression tests that will verify
- the correctness of the class library, compiler, and JIT
- engine.
-
- Please write your regression tests using <a
- href="http://nunit.sourceforge.net">NUnit</a>
-
-** Coding conventions
-
- Please follow the conventions on the ECMA specification (On
- the Annex Partition) for your coding your libraries.
-
- Use 8 space tabs for writing your code (hopefully we can keep
- this consistent). If you are modifying someone else's code, try
- to keep the coding style similar.
-
- For a rationale on 8 space tabs, read Linus Torvald's Coding
- Style guidelines in the Linux kernel source for a rationale.
-
-*** Missing implementation bits
-
- If you implement a class and you are missing implementation bits,
- please put in the code the word "TODO" and a description of what
- is missing to be implemented.
-
-*** Tagging buggy code
-
- If there is a bug in your implementation tag the problem by using
- the word "FIXME" in the code, together with a description of the
- problem.
-
- Do not use XXX or obscure descriptions, because otherwise people
- will not be able to understand what you mean.
-
-*** Tagging Lame specs
-
- Sometimes the specification will be lame (consider Version.ToString (fieldCount)
- where there is no way of knowing how many fields are available, making the API
- not only stupid, but leading to unreliable code).
-
- In those cases, use the keyword "LAMESPEC".
-
-** Namespaces
-
- We are using a number of namespaces in the class libraries for
- private classes when we need them, you are encouraged to use these:
-
-<pre>
-Mono
- .Languages // General Compiler classes
- .CSharp // Specific C# parsing/tokenizing classes
- .MonoBASIC // Specific VB.NET/MonoBASIC parsing/tokenizing classes
- .Python // Specific Python parsing/tokenizing classes
- .Runtime
- .LateBind // General latebinding-support for MonoBASIC/Python
- .MonoBASIC // Specific runtime classes for MonoBASIC programs
- .Python // Specific runtime classes for Python programs
- .Web
- .UI
- .Utils // Gaurav utility classes
-</pre>
-
-** FAQ
-
-Frequently asked questions about the class library:
-
-Q: I am writing a new class that overrides one of the system classes,
- and I am getting a 1595 warning from the compiler. Should we use a
- different namespace?
-
-A: There is a quick solution to the problem, you can pass the command
- line argument /nowarn:1595 and this will effectively let you use
- your implementation of the code, while overriding the ones from the
- system assemblies. \ No newline at end of file
diff --git a/doc/class-status.in b/doc/class-status.in
deleted file mode 100644
index 9aa5311698d..00000000000
--- a/doc/class-status.in
+++ /dev/null
@@ -1,44 +0,0 @@
-* Status of the various pieces of the class library
-
- Classes in Mono are organized by the assembly that they belong to.
-
- Here is the status of the different assemblies:
- <ul>
- <li><a href="http://www.go-mono.com/class-status-corlib.html">corlib</a>: The core library.
- <li><a href="http://www.go-mono.com/class-status-System.html">System</a>: Extra modules
- <li><a href="http://www.go-mono.com/class-status-System.Xml.html">System.Xml</a>.
- <li><a
- href="http://www.go-mono.com/class-status-System.Data.html">System.Data</a>:
- Database access functionality (also check the <a href="ado-net.html">Mono ADO.NET status</a> pages).
- <li><a href="http://www.go-mono.com/class-status-System.Drawing.html">System.Drawing</a>.
- <li><a
- href="http://www.go-mono.com/class-status-System.Web.html">System.Web</a>:
- ASP.NET classes, also check the <a href="asp-net.html">Mono ASP.NET status pages</a>
- <li><a href="http://www.go-mono.com/class-status-System.Web.Services.html">System.Web.Services</a>.
- <li><a
- href="http://www.go-mono.com/class-status-Microsoft.VisualBasic.html">Microsoft.VisualBasic</a>:
- Support runtime for Visual Basic applications
- <li><a
- href="http://www.go-mono.com/class-status-System.Windows.Forms.html">Windows.Forms</a>:
- there is also a <a
- href="http://lists.ximian.com/mailman/listinfo/mono-winforms-list">mailing
- list available</a>
- <li><a
- href="http://www.go-mono.com/class-status-System.Runtime.Serialization.Formatters.Soap.html">System.Runtime.Serialization.Formatters.Soap</a>.
- <li><a
- href="http://www.go-mono.com/class-status-System.Security.html">System.Security</a>:
- Xml Signature Security classes, also check the <a href="crypto.html">Cryptography status pages</a>
-
- </ul>
-
-* List of not-implemented classes
-
- Pick from the list of assemblies in the menu on the left to
- view the current status of that assembly.
-
- The tree shows items that are either missing or that have TODO
- attributes associated with them.
- You can use the checkboxes to show only missing or only TODO items.
-
- Clicking on a name will take you to the <a href="http://msdn.microsoft.com/">MSDN documentation</a> for that item.
- CTRL-Clicking will take you to the <a href="http://cvs.hispalinux.es/cgi-bin/cvsweb/?cvsroot=Mono">mono CVS tree</a>.
diff --git a/doc/classlib-doc b/doc/classlib-doc
deleted file mode 100644
index 872b92c4ec1..00000000000
--- a/doc/classlib-doc
+++ /dev/null
@@ -1,49 +0,0 @@
-* Class Library Documentation
-
-** Summary
-
- While using inline XML tags to document classes is certainly
- convenient, properly verbose documentation quickly overwhelms
- the code, making the source quite difficult to read. Furthermore,
- multilingual documentation makes for significant additional text.
-
- With these considerations in mind, Mono is using external XML files
- for class documentation, rather than documenting the source
- inline. The XML file format used is inspired by the XML format used
- to document the ECMA APIs.
-
- Several tools exist for managing, verifying, generating,
- and updating class library documentation.
-
- The documentation infrastructure is part of the `Monodoc'
- module. Monodoc includes a graphical GUI browser and tools to
- generate the initial stubbed XML document out of an assembly.
-
- Download `monodoc' to start producing documentation for your
- application.
-
- For instructions, read the monodoc/README file.
-
-** Documentation Tools
-
-*** <a name="monodoc">MonoDoc</a>
-
- The MonoDoc system offers both a GUI client as well as a <a
- href="http://www.go-mono.com:8080">Web-based interface</a> to
- the documentation.
-
- The GUI edition uses <a
- href="http://gtk-sharp.sf.net">Gtk#</a> and the Web edition
- uses Mono's ASP.NET implementation.
-
- <img src="images/Screenshot-Monodoc.png">
-
-** Get Involved
-
- Help us develop Mono's documentation tools! Subscribe to
- <a href="http://lists.ximian.com/mailman/listinfo/mono-docs-list">mono-docs-list</a>
- and wade right in.
-
- Monodoc today also supports a GUI-based collaborative editing
- system. You can now edit the documentation from the browser
- and upload your contributions directly to the Mono site.
diff --git a/doc/compiling b/doc/compiling
deleted file mode 100644
index 521945434f1..00000000000
--- a/doc/compiling
+++ /dev/null
@@ -1,235 +0,0 @@
-* Compiling Mono
-
- This document describes how to compile and install Mono from
- its source code. If you are only interested in running Mono,
- you might want to install Mono from packages, which have been
- tested.
-
- The core of Mono is split in two components:
-
- <ul>
- * C components (available in the mono package)
-
- * C# components (available in the mcs package).
- </ul>
-
- Mono is also available in various forms:
-
- <dl>
- <dt>Officially <a href="download.html">released</a> packages.</dt>
- <dd>
- <p>This is the format of choice for people to use, since these
- have been tested and are known to build and work.
- </dd>
- <dt><a href="daily">Daily</a> packages.</dt>
- <dd>
- <p>This is a service offered for people who want to try out the
- daily changes. Baked daily.</dd>
- <dt>CVS source code.</dt>
- <dd>
- <p>These are available to Mono <a href="ccvs.html">developers</a> and
- also for enthusiasts through <a href="anoncvs.html">anonymous CVS</a>.
- </dd>
- <dt>CVS snapshots.</dt>
- <dd>
- <p>Available for curious developers which do not necessarily want to
- install the CVS source. Baked daily.
- </dd>
- </dl>
-
-* Compiling the code
-
- There are a number of ways of compiling Mono
-
- <ul>
- <li>From the <a href="#scripts">scripts</A>
-
- <LI><a href="#install">Manually</a> for the first time.
-
- <li>Manually, <a href="#upgrade">while upgrading</a> to CVS
- </ul>
-
- (which is an easy way to get the latest CVS information)
-
-<a name="scripts">
-* Compiling with scripts
-
- These scripts should be used for installing from packages, specially
- on Windows, where dependencies have not always been installed.
-
- There are scripts to help build mono for both Unix and Windows. Get
- <a href="mono-build.sh">mono-build.sh</a> for Unix, or <a
- href="mono-build-w32.sh">mono-build-w32.sh</a> for Windows.
- These scripts automate the installation of GLIB and pkgconfig
- (building from source on Unix, and using binary packages
- provided by the GIMP for Windows project on Windows.) To use
- the script, follow these simple steps:
-
- <ul>
- * Save the script for your platform somewhere (e.g. /usr/local/bin)
- * Make the script executable (i.e chmod 755 /usr/local/bin/mono-build.sh)
- * Create a directory to hold the mono source, and the compiled binaries (e.g. mkdir ~/mono)
- * Change to the new directory (i.e. cd ~/mono)
- * run the script (i.e. /usr/local/bin/mono-build.sh)
- </ul>
-
- The script requires wget on either platform, and building the
- software requires make, gcc, automake, autoconf, and libtool.
- You should install these packages from your distribution or
- with the cygwin installer. You should also take care of setting
- the right environment variables as the PKG_CONFIG_FLAGS, etc.
-
- The script will download required packages from
- www.go-mono.com and do a cvs checkout of mono in the current
- directory. <b>IMPORTANT!:</b> The cvs server chosen defaults to
- anonymous cvs;
- set your CVSROOT environment variable before running the script to
- select a particular cvs server.
-
-<a name="install">
-
-** Building the software manually
-
- You will need to obtain the Mono dependencies first: <a
- href="http://www.gtk.org">glib 2.x</a> and
- <a href="http://www.freedesktop.org/software/pkgconfig">pkg-config</a>.
-
-*** Building From Packages
-
- This applies to both the officially released packages, as well as the
- daily tarball packages.
-
- <ul>
- Unpack the Mono runtime distribution:
- <pre class="shell">
- tar xzvf mono-X.XX.tar.gz
- cd mono-X.XX</pre>
- <p>
-
- Then configure, compile and install:
-
- <pre class="shell">
- ./configure --prefix=/usr/local
- make
- make install</pre>
-
- This will give you a runtime, C# compiler and runtime
- libraries.
-
- If you want to recompile the runtime and the compiler,
- follow these steps, first unpack the MCS package:
-
- <pre class="shell">
- tar xzvf mcs-X.XX.tar.gz</pre>
-
- Then use the following command to compile and install:
-
- <pre class="shell">
- ./configure --profile=atomic
- make</pre>
-
- You can change /usr/local to something else if you want.
- </ul>
-
-*** Building from CVS
-
- To upgrade your Mono installation from CVS, it is very
- important that you update your Mono and MCS modules from CVS
- at the same time. Failure to do so might result in a
- problematic installation as the runtime and the class
- libraries will be out of sync.
-
- Run the following commands to update your CVS tree (more
- details in <a href="ccvs.html">Cvs and Mono</a> and the <A
- href="anoncvs.html">AnonCVS and Mono</a> pages).
-
- <pre>
- (cd mono; cvs update -dP .)
- (cd mcs; cvs update -dP .)
- </pre>
-
- Then you can run:
-
- <pre>
- (cd mono; make fullbuild)
- </pre>
-
- Now you can install the result:
-
- <pre>
- (cd mono; make install)
- </pre>
-
- Notice that following the above procedure does not require you
- to manually install the software in the `mcs' directory, as
- the relevant files will be copied by the `mono' makefiles.
-
-* Software resources and notes
-
- The required and additional software can be downloaded here:
-
- * Microsoft's .NET Framework SDK from
- <a href="http://msdn.microsoft.com/downloads">
- msdn.microsoft.com/downloads</a>.
-
- * Cygwin and the GNU Make tools from
- <a href="http://www.cygwin.com">www.cygwin.com</a>.
- Some people observed problems with autoconf 2.52. Installing
- autoconf 2.13 helped in those cases.
-
- * Precompiled GLIB 2.0 and pkg-config packages (and
- their dependencies) by the <a href="http://www.gimp.org/~tml/gimp/win32//index.html">GIMP for Windows</a> project from
- <a href="http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip">http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip</a><br>
- <a href="http://www.go-mono.com/archive/glib-2.0.4-20020703.zip">http://www.go-mono.com/archive/glib-2.0.4-20020703.zip</a> <br>
- <a href="http://www.go-mono.com/archive/glib-dev-2.0.4-20020703.zip">http://www.go-mono.com/archive/glib-dev-2.0.4-20020703.zip</a> <br>
- <a href="http://www.go-mono.com/archive/libiconv-1.7.zip">http://www.go-mono.com/archive/libiconv-1.7.zip</a> <br>
- <a href="http://www.go-mono.com/archive/libiconv-dev-1.7.zip">http://www.go-mono.com/archive/libiconv-dev-1.7-20020101.zip</a> <br>
- <a href="http://www.go-mono.com/archive/libintl-0.10.40-20020101.zip">http://www.go-mono.com/archive/libintl-0.10.40-20020101.zip</a><br>
-
-
- * Download the Mono source code from the
- <a href="download.html">packaged versions</a> or
- the <a href="http://www.go-mono.com/snapshots">
- nightly snapshots</a> or the <a href="anoncvs.html">
- Anonymous CVS</a>. The nightly snapshots are done every
- night at 10pm EST (Boston Time). The nightly snapshots are
- not guaranteed to build, but most of the time they should.
- </ul>
-
-
-*** Notes on compiling GLIB 2.0 and pkg-config from source:
-
-
- <ul>
-
- * Some people observed problems with autoconf 2.52. Installing
- autoconf 2.13 helped in those cases (don't forget to do a
- `make maintainer-clean' after the update).
-
- * Download, compile and install <a href="http://www.freedesktop.org/software/pkgconfig">pkg-config</a> from source.
- (I had to change line 674 of
- <nobr><tt>pkg-config-0.8.0/glib-1.2.8/gstrfuncs.c</tt></nobr> from
- <nobr><tt>extern char *strsignal (int sig);</tt></nobr> to
- <nobr><tt>extern const char *strsignal (int sig);</tt></nobr>.
-
-<pre class="shell">
-tar xzvf pkg-config-0.8.0.tar.gz
-cd pkg-config-0.8.0
-./configure --prefix=/usr
-make
-make install
-</pre>
-
- * Download, compile and install <a href="ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.7.tar.gz">libiconv</a> from source.<br>
- If you dont have MS Visual C/C++ 4.0 or 5.0 or 6.0 you can also try
- the binary package available at <a
- href="http://www.gimp.org/~tml/gimp/win32/libiconv-1.9.1.bin.woe32.zip">
- http://www.gimp.org/~tml/gimp/win32/libiconv-1.9.1.bin.woe32.zip</a>
-
-
- * Download, compile and install the
- <a href="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.6.tar.gz">
- glib 2.0</a> from source.
-
- </ul>
-
diff --git a/doc/contact b/doc/contact
deleted file mode 100644
index d9bbda12540..00000000000
--- a/doc/contact
+++ /dev/null
@@ -1,13 +0,0 @@
-* Contacting the Mono team.
-
- You can contact the general forum of discussion by sending
- e-mail to <a href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
-
- You can contact me (Miguel de Icaza) by sending e-mail to <a
- href="mailto:miguel@ximian.com">miguel@ximian.com</a>. My web
- page is <a
- href="http://primates.ximian.com/~miguel">http://primates.ximian.com/~miguel"</a>
-
- You can also <a
- href="http://www.ximian.com/about_us/contact/">reach Ximian.</a>
-
diff --git a/doc/contributing b/doc/contributing
deleted file mode 100644
index 0a80bcb91b1..00000000000
--- a/doc/contributing
+++ /dev/null
@@ -1,275 +0,0 @@
-* Contributing to the Mono project
-
- Mono has not been completed yet. It is a project under
- active development and with a vibrant community. If you are
- looking at ways of helping the project, you have come to the
- right web page.
-
- There are three different philosophical approaches to helping
- the Mono project, the selfish way, the altruistic or the
- educational way.
-
- The <b>selfish</b> way is packed with adventure. You start by
- building your own software, and start using the compiler and
- tools that come with Mono. Eventually you will run into
- missing features, or a bug in the software. Since we ship all
- the source code for Mono, you can start tracking down the
- problem. Depending on how much time you have to devote to the
- problem you could: <a href="http://bugzilla.ximian.com">File a
- bug report</a> (read <a href="#goodbugreport">this</a>); track
- down the problem and provide a better
- <a href="http://bugzilla.ximian.com">bug report</a>; fix the
- bug and provide a patch (you can <a
- href="mailto:mono-list@ximian.com">post it</a> to the <a
- href="http://lists.ximian.com/mailman/listinfo/mono-list">mono
- mailing list</a>; or discuss the solution on the mailing
- list. Ideally you will also write a <a
- href="testing.html">regression test</a> so the bug does not
- get re-introduced in the future.
-
- The <b>altruistic</b> is probably the easiest because you get
- to pick a piece of Mono that you might want to work on. You
- can pick an unfinished <a href="class-library.html">class</a> (from our <a
- href="class-status.html">class status page</a>); help with the
- <a href="documentation.html">documentation effort</a> (<a
- href="http://lists.ximian.com/mailman/listinfo/mono-docs-list">mailing
- list for the documentation effort</a>); fix existing <a
- href=http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FRuntime&component=CORLIB&component=misc&component=System&component=System.Web&component=System.XML&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">runtime
- bugs</a>; <a
- href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FMCS&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">compiler
- bugs</a>; help with the <a href="tools.html">tools</a> or
- writing <a href="testing.html">tests</a> that help make Mono
- more robust or help with the <a
- href="http://www.go-mono.com/winforms.html">Winforms
- effort</a>.
-
- The <b>educational</b> way is an interesting one, because you
- pick a technology you are interested in, and work on that
- technology to learn the technology.
-
- Those are just broad things that need to be worked on, but
- something that would help tremendously would be to help with
- small duties in the project that need to be addressed.
-
- You can see what needs to be done in the class libraries <a href="class-status.html">here</a>
-
-* IRC Channel
-
- Many developers get together on the <b>#mono</b> irc channel
- on the <b>irc.gnome.org</b> server.
-
-** To start contributing
-
- As a programmer, you can contribute in three different scenarios to Mono:
-
- <ul>
- * If you only have Linux/Unix.
- * If you only have Windows.
-
- * If you have both Linux and Windows.
- </ul>
-
- You might also want to check our <a href="#setup">common
- setups</a> section that describes some common setups that people
- use while working on Mono.
-
-*** Contributing to the class library, regression tests or the compiler
-
- This only requires Windows currently.
-
- To start developing classes or to contribute to the compiler,
- you only need Windows and the .NET Framework 1.0 SDK. Please notice
- that you do not need Visual Studio (although you can use it if
- you want). The .NET Framework SDK requires some version of
- Windows XP or Windows NT. If you are running Windows 98, 95
- or Me, you could use instead the <a
- href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/829/msdncompositedoc.xml">.NET Redist package</a>, but it
- lacks the documentation browser and the ildasm program (C#, VB, JScript and IL
- assembler are included).
-
- You can get it <a href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">here</a>
-
- If you are new to .NET, writing regression tests is a good way
- of starting to contribute: it will help you get used to C# as
- well as getting comfortable with the .NET APIs.
-
- This helps because at this point you might be the best
- qualified person to fix a problem found by the regression
- test, or you might have a new class to implement in the .NET
- world that only has a test suite.
-
- To get started writing tests see the <a href="testing.html">Test Suite</a>
- section. <a href="mono-contribution-howto.html">Here</a> there is a good All-In-One introduction to the art of writing tests.
-
-
-*** Contributing to the runtime engine
-
- This only requires Linux, currently some tasks are easier if you
- have access to Windows as well.
-
- Here are a few things you can do:
- <ul>
- * Port the runtime to other architectures.
- * Port the runtime to other operating systems.
- * Finish the IL code verifier in the runtime.
- * Hack the JIT, improve the code generator, add new
- pattern rules, improve the register allocator.
- * Implement the debugging interfaaces
- </ul>
-
-** Bug reporting
-
- If you find bugs in Mono, please make sure you enter a bug
- report so we can keep track of problems in Mono.
-
- To enter bug reports go to <a href="http://bugzilla.ximian.com">
- http://bugzilla.ximian.com</a> and enter bug reports against
- your favorite component (Mono, Runtime, C# compiler).
-
- You can review the list of current bugs by going <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FMCS&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=%27Importance%27&form_name=query">here</a>
-
- Check our <a href="bugs.html">Bugs</a> that contains links to
- easily add a bug report, or to query the existing bugs.
-
-<a name="goodbugreport"/>
-** How to make good bug reports
-
- A mail from Paolo to mono-devel-list contained this check list:
- <ol>
- * Submit a test case, the smaller it is, the better
-
- * Use <a href="http://bugzilla.ximian.com">
- http://bugzilla.ximian.com</a> to report the bug.
-
- <p>In <b>addition</b> to bugzilla, posting to the list is
- fine if the bug merits larger exposure or design
- discussions to solve; posting to the list twice or more
- is just a way to annoy people and make them waste time,
- specially when you start a new thread about it.
-
- * If the test involves libraries or assemblies that are
- not part of mono, add info about where to download all
- the dependencies, and how to compile/install them.
-
- * If compiling the test case requires more than:
- <pre> mcs test.cs </pre>
- provide the <b>full command line</b> you used to compile
- the test.
-
- * If running the test requires more than:
- <pre> mono test.exe </pre>
- provide the <b>full command line</b> needed to replicate
- the bug.
-
- * Provide info about the version of the software you're
- using (both mono and the operating system or relevant
- libraries).
-
- * Provide the output you expect the test case to produce.
-
- * Provide the actual output <b>you</b> get from the test case.
- </ol>
-
- A good bug report complies with at least 6 items from the list.
- If your bug report complies with 3 or less items, it is very
- poor and it means it will take much more time to fix (when it's
- not ignored).
-
-** Small tasks
-
- A few smaller tasks are here, dropped in no particular order:
- <ul>
- * <b>Mono/doc and web site:</b> They need to be
- packaged up in the official `distribution'
-
- * Adding serialization support to all the classes.
-
- We have many classes, but we have not implemented in
- many cases the serialization and re-incarnation support in
- them (this is pretty straight forward code, and simple,
- but there is a lot to be done here).
- </ul>
-
-* Emacs support
-
- Brad Merryl's C# mode for Emacs is available: <a
- href="http://www.cybercom.net/~zbrad/DotNet/Emacs/">http://www.cybercom.net/~zbrad/DotNet/Emacs/</a>
-
-* Books on C# and DotNet.
-
- <ul>
- * Dotnet Books (<a href="http://www.dotnetbooks.com">http://www.dotnetbooks.com</a>)
-
- * Dotnet Resources (<a href="http://www.dotnetexperts.com/resources/">
- http://www.dotnetexperts.com/resources</a>)
-
- * O'Reilly C# Essentials (<a href="http://www.oreilly.com/catalog/csharpess/">
- http://www.oreally.com/catalog/csharpess</a>)
-
- * O'Really .NET Essentials (<a href="http://www.oreilly.com/catalog/dotnetfrmess/">
- http://www.oreally.com/catalog/dotnetfrmess</a>)
- </ul>
-
-<a name="setup">
-* Common Setups
-
- People running both Linux and Windows while contributing to
- Mono use a number of tricks to increase their productivity.
-
- Scenarios:
-
- <ul>
- * <b>Linux host and Windows host</b>
-
- The Windows file system is shared (right click on
- your hard drive icon, and select sharing, allow this
- to be shared).
-
- The Windows machine has the required build tools
- (cygwin, and the .NET framework). On the Windows
- machine, you want to setup the ssh server (run the
- ssh-host-config program to configure your ssh) and
- run it (from a cygwin terminal, type: /usr/sbin/sshd).
-
- From the Linux side, you want to mount the Windows
- file system, using something like this:
-
-<tt><pre>
- mount -t smbfs -o uid=miguel,username="Miguel de Icaza" "//quack/c$" /mnt
-</pre></tt>
-
- In the above example, my Linux user name is
- `miguel', and this will allow this user to have
- read/write access to the share.
-
- The host name is `quack', and the name of the share
- is `c$' (that is the C: partition).
-
- The file system is accessible on /mnt.
-
- You can perform your cvs update and cvs commits from
- the /mnt directory, and run Emacs or your favorite
- Linux text editor on the Unix side in this way.
-
- Then from another terminal, you can ssh into your
- Windows box using ssh, like this: ssh "Miguel de Icaza@quack"
- </ul>
-
-* Special Note
-
- If you have looked at Microsoft's implementation of .NET or
- their shared source code, you may not be able to contribute
- to Mono. Details will follow when we know more about this.
-
- In general be careful when you are implementing free software
- and you have access to proprietary code. We need to make sure
- that we are not using someone else's copyrighted code
- accidentally.
-
- Please do not use the <b>ildasm</b> program to disassemble
- proprietary code when you are planning to reimplement a class
- for Mono. If you have done this, we might not be able to use
- your code.
-
- Please stick to published documentation for implementing any
- classes.
diff --git a/doc/crypto b/doc/crypto
deleted file mode 100644
index aca4750470d..00000000000
--- a/doc/crypto
+++ /dev/null
@@ -1,380 +0,0 @@
-* Cryptography
-
- In the .NET framework cryptography can be found under a number of
- namespaces in several assemblies.
-
-** Assembly: corlib
-
-*** Namespace: <b>System.Security.Cryptography</b>
-
- Thanks to the work of many people this namespace is almost complete.
-
-**** Status
- <ul>
- * All classes are present.
-
- * Most classes have their unit tests. Some tests like <code>
- SymmetricAlgorithmTest</code> are generated by external
- tools.
- </ul>
-
-**** TODO
- <ul>
- * Keypair persistance for RSA and DSA. This persistance must
- somehow be linked with X509 certificate stores (in planning).
-
- * <code>PasswordDeriveBytes.CryptDeriveKey</code> is included
- in MS BCL to provide compatibility with existing Windows
- applications. The main problem is that the key derivation
- algorithm can be different for every CSP (Crypto Service
- Provider). However for compatibility we should provide an
- implementation compatible with the MS CSP (most likely used).
- </ul>
-
-**** Notes
- <ul>
- * All cryptographic algorithms are entirely managed, including
- classes named <code>*CryptoServiceProvider</code>, with the
- exception of <code>RNGCryptoServiceProvider</code> for which
- parts of the implementation resides in the runtime.
-
- * There is a bug in the <code>PKCS1MaskGenerationMethod</code>
- class (in both framework 1.0 and 1.1). This means our
- implementation isn't compatible with MS (but is compatible with
- PKCS#1 v.2.1). However we get OAEP padding for every platform!
-
- * Look at assembly Mono.Security.Win32 if you require more
- compatiblity with the Microsoft implementation (like accessing
- a particuliar keypair container inside a specific CSP).
- </ul>
-
-
-*** Namespace: <b>System.Security.Cryptography.X509Certificates</b>
-
-**** Status
- <ul>
- * X.509 certificates are parsed using 100% managed code
- (using the Mono.Security.ASN1 class).
-
- * Software Publisher Certificates (SPC) used by Authenticode
- (tm) to sign assemblies are supported and <b>minimally</b>
- validated.
-
- * Unit tests are generated from a set of existing certificates
- (about a dozen) each having different properties. Another
- set of certificates (more than 700) are used for a more
- complete test (but isn't part of the standard test suite for
- size and time consideration, i.e. a 7.5Mb C# source file).
- </ul>
-
-**** Notes
- <ul>
- * Except for their structure <b>there are no validation of the
- certificates</b> done by this class (this is by design and
- isn't a restriction of Mono!). This means that certificate
- signatures and validity dates are <b>never</b> checked
- (except when used for Authenticode, i.e.
- <code>CreateFromSignedFile</code>).
-
- * The newer X509Certificate class included in Microsoft's Web
- Service Enhancement (WSE) is a little better (as it includes
- CryptoAPI's validation) when <code>IsCurrent</code> is called.
- See assembly <b>Microsoft.Web.Services</b> for more details.
-
- * The class Mono.Security.X509.X509Certificate (in Mono.Security
- assembly) is becoming a much better alternative - and will
- continue to evolve to support the security tools.
-
- * Microsoft implementation of <code>X509Certificate</code> is
- done by using CryptoAPI (unmanaged code). Based on the
- exceptions thrown, Authenticode(tm) support is done via COM.
- </ul>
-
-<hr>
-** Assembly: System.Security
-
-*** Namespace: <b>System.Security.Cryptography.Xml</b>
-
- This namespace implements the <a href="http://www.w3.org/TR/xmldsig-core/">
- XML Digital Signature</a> specification from
- <a href="http://www.w3.org/">W3C</a>.
-
-**** Status
- <ul>
- * All classes are present but some Transforms are only stubbed.
-
- * We now have a fully managed C14N implementation.
-
- * Most classes have their unit tests.
- </ul>
-
-**** TODO
- <ul>
- * Complete all Transform derived classes.
- </ul>
-
-<hr>
-** Assembly: Mono.Security
-
- <b>Rational: </b>
- This assembly provides the missing pieces to .NET security. On Windows
- CryptoAPI is often used to provide much needed functionalities (like
- some cryptographic algorithms, code signing, X.509 certificates). Mono,
- for platform independance, implements these functionalities in 100%
- managed code.
-
-*** Namespace: Mono.Security
- <ul>
- * Structures (ASN1, PKCS7) and primitives (PKCS1).
- </ul>
-*** Namespace: Mono.Security.Authenticode
- <ul>
- * Code signing and verification.
- * Support for SPC (Software Publisher Certificate) files and
- PVK (Private Key) files.
- </ul>
-*** Namespace: Mono.Security.Cryptography
- <ul>
- * Additional algorithms: MD2, MD4, ARCFOUR (required for SSL)
- * Convertion helpers
- </ul>
-*** Namespace: Mono.Security.Protocol.*
- <ul>
- * Tls: An 100% managed TLS implementation from Carlos Guzman
- Alvarez.
- * Ntlm: NTLM authentication (used for HTTP and SQL Server).
- </ul>
-*** Namespace: Mono.Security.X509
- <ul>
- * X.509 structures (certificate, CRL...) building and decoding.
- * PKCS#12 decoding.
- </ul>
-*** Namespace: Mono.Security.X509.Extensions
- <ul>
- * X.509 extensions (from public X.509 to private PKIX, Netsapce,
- Microsoft, Entrust...).
- </ul>
-
-**** Status
- <ul>
- * A big part of this assembly is also included inside Mono's
- corlib. The classes are duplicated in this assembly so the
- functionalities can be used without a dependency on Mono's
- corlib (which depends on Mono's runtime).
-
- * Unit test coverage isn't (yet) complete.
- </ul>
-
-<hr>
-** Assembly: Mono.Security.Win32
-
- <b>Rational: </b>
- This assembly goal is to provide maximum compatibility with CryptoAPI
- to application running with Mono's runtime on the Windows operating
- system.
-
- <b>This assembly should NEVER be used directly by any application</b>
- (e.g. referecing the assembly from a project).
- The classes should only be used by modifying the <code>machine.config
- </code> configuration file (and then only if this increased
- compatibility is required by an application).
-
- See the file <code><a href="http://cvs.hispalinux.es/cgi-bin/cvsweb/~checkout~/mcs/class/Mono.Security.Win32/README?rev=1.1&content-type=text/plain&cvsroot=mono">/mcs/class/Mono.Security.Win32/README</a></code>
- for complete instructions.
-
-*** Namespace: Mono.Security.Cryptography
-
-**** Status
- <ul>
- * A RNGCryptoServiceProvider built on top of CryptoAPI. This
- allows Windows users to get around the limitation of the
- runtime RNG (which requires <code>/dev/[u]random/</code>).
-
- * Wrapper classes for unmanaged versions of hash algorithms:
- MD2, MD4, MD5 and SHA1 are supported. <b>note</b>: some
- algorithms shouldn't be used in new design (MD4 is broken,
- MD2 and MD5 aren't considered safe for some usage). They are
- included to preserve interoperability with older applications
- (e.g. some old, but still valid, X.509 certificates use MD2,
- MD4 is required for NTLM authentication ...).
- </ul>
-
-**** TODO
- <ul>
- * Wrapper classes for unmanaged versions of symmetric
- encryption algorithms (like DES, TripleDES, RC2 and others
- present in default CSP).
-
- * Wrapper classes for unmanaged versions of asymmetric
- algorithms (like DSA and RSA) which persist their keypair
- into the specified CSP.
- </ul>
-
-**** Ideas
- <ul>
- * Similar assemblies (e.g. <code>Mono.Security.XXX</code>)
- could be created for <a href="http://www.openssl.org">OpenSSL</a>,
- <a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a>,
- <a href="http://www.eskimo.com/~weidai/cryptlib.html">crypto++</a>,
- <a href="http://www.cryptlib.orion.co.nz/">cryptlib</a> ... for
- improved performance and/or HSM (Hardware Security Module) support
- under Linux and/or Windows.
- </ul>
-<hr>
-** Assembly: Microsoft.Web.Services
-
- Microsoft Web Service Enhancement (WSE), known as Web Service
- Development Kit (WSDK) in it's beta days, is an add-on the .NET
- framework that implements WS-Security (and other WS-* specifications).
- It also includes improved support for XML Signature (replacing and/or
- extending <code>System.Security.Cryptography.Xml</code>) and X.509
- certificates classes.
-
- Note: WSE is distributed as an add-on because some specifications,
- like WS-Security, aren't yet completed by
- <a href="http://www.oasis-open.org/committees/wss/">OASIS</a> or
- other committees.
-
-*** Namespace: Microsoft.Web.Services.Security
-
-**** Status
- <ul>
- * Most WSE 1.0 classes are implemented.
- </ul>
-
-**** TODO
- <ul>
- * Some classes from System.Security assembly need to be
- duplicated (and somewhat fixed) in WSE for XMLDSIG.
-
- * There are still missing classes and <b>many</b> missing
- unit tests.
- </ul>
-
-
-*** Namespace: Microsoft.Web.Services.Timestamp
-
-**** Status
- <ul>
- * This seems complete for WSE 1.0 but some new classes were
- introduced in WSE 2.0.
- </ul>
-
-*** Namespace: Microsoft.Web.Services.Security.X509
-
-**** Status
- <ul>
- * X509Certificate support is complete for both WSE 1.0 and 2.0.
- </ul>
-
-**** TODO
- <ul>
- * We need to define certificate stores (for both users and
- machines). These sames stores must be linked with asymmetric
- keypairs. This could also be used to store the SPC roots.
- </ul>
-
-*** Notes
- <ul>
- * Microsoft has <a href="http://microsoft.com/downloads/details.aspx?FamilyId=21FB9B9A-C5F6-4C95-87B7-FC7AB49B3EDD&displaylang=en">released</a>
- a technical preview of WSE 2. <b>Note that WSDK (the technical
- preview of WSE) had A LOT of changes before it's initial
- release!</b>
- </ul>
-
-<hr>
-** Tools
-
- There are many tools in the .NET framework that indirectly interacts
- with some cryptographic classes. Mono will eventually need these tools.
- Unless noted the tools should work on any CLR (tested with both Mono
- and Microsoft).
-
-**** Status
-
- The following tools are complete (or mostly complete):
- <ul>
- * <code>secutil</code> is a tool to extract certificates and
- strongnames from assemblies in a format that can be easily
- re-used in source code (C# or VB.NET syntax).
-
- * <code>cert2spc</code> is a tool to transform multiple X.509
- certificates and CRLs into a Software Publisher Certificate
- (SPC) file - which is a long name for a simple PKCS#7 file.
-
- * <code>makecert</code> to create X.509 test certificates that
- can be used (once transformed in SPC) to sign assemblies. It's
- now possible to generate SSL certificates for web servers.
-
- * <code>sn</code> is a clone of the <code>sn</code> to manage
- strongnames. Current version can create, convert, sign and
- verify strongnames signatures. Some configuration options
- are still missing.
-
- * <code>signcode</code> and <code>chktrust</code> for signing
- and validating Authenticode(tm) signatures on assemblies (or
- any PE file) are now working (signature and timestamps) but
- some options aren't yet supported.
- </ul>
-
- Somewhat usable, somewhat incomplete:
- <ul>
- * <code>certview</code> is a certificate viewer for
- <code>System.Windows.Forms</code> (right now only working on
- Windows), while <code>gcertview</code> is the same viewer
- implemented for GTK# (working on both Windows and Linux).
-
- * <code>monosn</code> is a clone of the <code>sn</code> to manage
- strongnames. This tools is part of the runtime (not the class
- library) and as such is written in C and won't run without Mono.
- </ul>
-
-
-**** TODO
- The following tools are still missing or largely incomplete:
- <ul>
- * Other tools like a, GUI-based, certificate manager...
- </ul>
-
- Note that many of the tools requires the class library and/or the
- runtime to be ready for them. E.g. StrongName and Authenticode signatures
- tools are of limited use until supported by the runtime.
-
-<hr>
-** References
-
- <ul>
- * RSA Laboratories' <a href="http://www.rsasecurity.com/rsalabs/faq/index.html">
- Frequently Asked Questions</a> About Today's Cryptography, Version 4.1
-
- * Public-Key Cryptography Standards (<a href="http://www.rsasecurity.com/rsalabs/pkcs/index.html">
- PKCS</a>)
-
- * National Institute of Standards and Technology - Federal
- Information Processing Standards <a href="http://csrc.nist.gov/publications/fips/index.html">
- NIST FIPS</a>
- </ul>
-
-<hr>
-** How to Help
-
- <ul>
- * Complete any of the TODO (and feel good about it ;-).
-
- * Analyse the current coverage of the unit tests on the
- cryptographic classes and complete the unit tests. <b><code>
- monocov</code> does a great job at this! Now we just need to
- complete the missing unit tests.</b>
-
- * Optimization can also be done on most algorithms as crypto
- is never fast enough. Some have been done using the
- Community Edition of BoundChecker (a free VisualStudio
- addon) - recommanded! Just be sure to test every optimization
- (using the unit tests) carefully - it's so fast to break an
- algorithm ;-).
-
- * Write some documentation on the cryptographic classes for
- <b>monodoc</b>.
- </ul>
-<hr>
-Last reviewed: February 2, 2004 (mono 0.30)
diff --git a/doc/devel-faq b/doc/devel-faq
deleted file mode 100644
index 9ca89285219..00000000000
--- a/doc/devel-faq
+++ /dev/null
@@ -1,190 +0,0 @@
-* Developer FAQ
-
-** New classes
-
-Q: Should we write classes which are not part of the .NET or ECMA specs?
-
-A: Yes. The ECMA and .NET specifications are far from complete, and
- to produce a complete platform we will need a number of other
- classes and components.
-
- Any new classes that are not part of .NET or ECMA should be
- designed to be reusable on anyone's CLI implementation. So that
- Windows developers can also use any new classes that we come up
- with.
-
- We have a few existing <a href="ideas.html">Ideas on missing
- classes</a>
-
-** Language Compatibility
-
-Q: What is the magic that allow multiple languages to co-exist?
-
-A: From Fergus Henderson:
-
-<i><blockquote>
-There are different levels of interoperability.
-The ECMA spec defines different categories of
-CLS (Common Language Specification) conformance.
-There are also some useful categories that don't
-correspond to any of the levels defined in the ECMA spec.
-In increasing degree of difficulty, your language implementation
-can
-
- <ul>
- * (a) just generate IL
-
- * (b) be a CLS "consumer", which means that it can read in
- meta-data describing component interfaces,
- and that it provides a way to declare variables of
- CLS-complaint types and to call CLS-complaint methods.
-
- * (c) be a CLS "extender", which means that it can in addition
- derive from CLS-compliant classes
- and implement CLS-compliant interfaces
-
- * (d) be able to produce components with *any* CLS-compliant
- component interface.
- </ul>
-
-Supporting some of these may require extending your language. However,
-you can get quite a lot of interoperability by just putting appropriate
-functionality in your compiler, without extending your language.
-
-For some things, e.g. ASP.NET, your language implementation also needs to be
-able to
-
- <ul>
- * (e) consume CodeDom trees. CodeDom trees are an abstract
- representation of programs in a form similar to a C# parse
- tree, with embedded code snippets (unparsed strings).
- Given a CodeDom tree, with the snippets in your language,
- your language implementation needs to generate a (i) .NET
- assembly and possibly also (ii) a source file in your language.
-
- * (f) produce CodeDom trees. For some applications,
- your language implementation also needs to be able to
- round-trip from CodeDom -> your language -> CodeDom.
- </ul>
-
-and for some things it needs to
-
- <ul>
- * (g) generate *verifiable* IL
- </ul>
-
-So when you hear all the hype about how language XYZ is a
-".NET language", make sure you ask which of these different
-things are supported.
-
-[For the record, Mercury currently supports (a). We're working on
-(b) and (g), and on parts of (c) and (e). We're never going to do (f), I very
-strongly doubt we'll ever do (d), and for (c) we might only ever support
-implementing interfaces, not deriving from classes.]
-
-</blockquote></i>
-
-** PInvoke
-
-Q: What are the two major initiatives to implement PInvoke?
-
-A: Fergus Henderson answers:
-
-<i><blockquote>
-Many of the .NET APIs will need to be implemented using code that calls C/Unix
-APIs, such as stat(). The standard way of interfacing with native code from
-.NET code is to use "PInvoke". However, there is a difficulty: many of
-these APIs are defined in terms of types such as C's `long' or `size_t'
-or the Posix `struct stat' whose representation varies depending on the
-platform (architecture/OS/C compiler). There's no *portable* way of
-accessing those from .NET managed code.
-
-So, there are a couple of different approaches.
-One possibility is to access such routines by writing a wrapper, e.g. in C,
-that provides the same functionality without using types with a system-dependent
-representation. The wrapper can then be directly accessed from portable
-.NET code. The .NET code remains both source- and binary-portable;
-the wrapper code is source-portable, but needs to be compiled
-seperately for each target platform. The drawback of this approach is
-that you have to write a lot of cumbersome wrapper code.
-
-Another possibility is to extend the .NET VM with support for an
-additional custom attribute, e.g. "[PosixType]". The VM would then
-represent types tagged with this attribute in the same way that the
-underlying system represents those types. With this approach, no
-wrapper code would be needed. A drawback of this approach is that it
-pushes quite a bit of complexity into the VM; the VM would have to know
-the native representation of all types annotated with this attribute.
-Another drawback is that code using this extension might not work on
-different VMs.
-
-There have also been some other suggestions, but those are the two that
-I think are the best.
-</blockquote></i>
-
-Q: What is the problem implementing PInvoke?
-
-A: Again, from Fergus Henderson:
-
-<i><blockquote>
-There's no problem implementing PInvoke as specified in the ECMA
-specs and/or MS documentation. It's just that PInvoke by itself
-doesn't solve all of the problems; in particular it doesn't solve
-the problem of C types whose representation is different on different
-systems.
-</blockquote></i>
-
-** CVS use
-
-Q: Why do we keep ChangeLogs and make the CVS commit messages be the
- same? One could be generated from the other
-
-A: There are a number of reasons for keeping ChangeLog files as well as
- CVS commit files:
-
- <ul>
- * Offline programming: when people are traveling, CVS logs are
- not available.
-
- * Slow CVS access: Many people work over modem lines (very
- typical for contributors in Europe, Asia, Latin America)
- using CVS is slow and might not be available to you (cvs
- server down, no anoncvs server available).
-
- * ChangeLogs travel in a released tarball package, so it is
- possible to study the rationale of changes even after a
- project is long "released", or you only have the sources for
- the code.
-
- * ChangeLog are not metadata for each file, they are live
- files that you can browse in the package that is being
- distributed.
- </ul>
-
-Making the CVS commit message be the same as the ChangeLog has other
-benefits:
-
- <ul>
- * You can track down with `cvs log' what things were changed,
- and match those to meaningful reports on the intentions of
- the commit.
-
- * When reading the commits-list, you can get a glimpse of the
- changes without having to diff out or cvs update your tree.
-
- * You can read off-line the changes that are being made
- (asyncrouns operation).
- </ul>
-
-This mechanism works very well for GNOME and other projects.
-
-Q: Should I use any of the special RCS keywords like $Id: devel-faq,v 1.1 2001/07/31 21:13:05 miguel Exp $, $Author: miguel $,
- $Date: 2001/07/31 21:13:05 $, or $Revision: 1.1 $?
-
-A: Please avoid using those in the source code in the CVS. They
- are not really useful, and they cause a lot of conflicts when
- people have separate CVS trees.
-
- It was a nightmare with the Linux kernel when two people had their
- private CVS trees and were submitting patches to the core.
-
diff --git a/doc/documentation b/doc/documentation
deleted file mode 100644
index 10a838acbc3..00000000000
--- a/doc/documentation
+++ /dev/null
@@ -1,255 +0,0 @@
-* Documentation
-
- Although most of the concepts from Microsoft.NET can
- be applied to the completed Mono platform, we do need to
- have a complete set of free documentation written specifically
- for Mono.
-
- The documentation license we have chosen is the GNU Free
- Documentation License (FDL), the standard for most documents
- in the free software world.
-
- We need documentation on a number of topics:
-
- <ul>
-
- * The development tools (compilers, assembler tools,
- language reference, design time features): these
- live in the `monodoc' CVS module.
-
- * Frequently Asked Question compilations.
-
- * HOWTO documents.
-
- * The Class Libraries (Both the original .NET class
- libraries as well as the class libraries produced by
- the project).
-
- * Tutorials on Mono and the specifics of running it
- (The <a href="http://www.monohispano.org">Mono
- Hispano</a> team has produced lots of <a
- href="http://www.monohispano.org/tutoriales.php">tutorials
- in spanish</a>
-
- * A guide to Mono as compared to the Microsoft.NET
- Framework SDK
-
- </ul>
-
-* Class Library documentation
-
- We are moving to a new setup for documenting the class libraries,
- and you can read about it <a href="classlib-doc.html">here</a>.
-
- There are two classes of documentation: free documentation for
- existing .NET classes and documentation for the classes that
- we have developed on top of .NET.
-
- There is a large body of documentation that came from the ECMA
- standarization effort that has been checked into CVS. It does
- not contain everything Mono and .NET have, so they need to be
- updated and augmented.
-
-** Gtk# documentation
-
- We also have a large body of class libraries that are specific
- to Mono, for example the documentation for Gtk#.
-
- We have checked in stub documentation for Gtk# into the CVS
- repository (on gtk-sharp/doc) and we need volunteers to help
- populate the documentation for it. Since Gtk# is a wrapper
- for Gtk, plenty of documentation exists in the <a
- href="http://developer.gnome.org/doc/API">Gnome developer
- site</a>.
-
- To get started:
-
- You need to download Gtk# from the CVS repository. The module
- name is `gtk-sharp'. You can obtain a copy from both the CVS
- repository or the anonymous CVS repository.
-
- To pull your copy type:
-
-<pre>
- cvs co gtk-sharp
-</pre>
- Documentation lives in gtk-sharp/doc/en. The "en" indicates the
- English language, the first one we are targeting. We can later
- do translations, but for now we are focusing on a single
- language.
-
- In that directory you will find the documentation organized by
- namespaces. One directory per namespace. In the directories
- you will find one XML file per class that needs to be
- documented. The mission is to fill in the data with useful
- information. Feel free to grab liberally information from the
- Gtk documentation from:
-
- <a href="http://developer.gnome.org/doc/API/">http://developer.gnome.org/doc/API/</a>
-
- Of course, the API does not apply directly. It only applies at
- a foundational level, so you can not really just copy and
- paste. Summaries, and remarks sections can probably be lifted
- with little or no effort.
-
- Gtk# uses properties to represent get/set operations in the C
- API, so you can also use some bits from there.
-
- Most of the documentation contains already place holders for
- text, we use the internationally approved phrase for this
- purpose, `To be added'. So the quest is to remove all of the
- "To be added" strings with information with resembles as closely
- as possible the toolkit reality.
-
-*** The pieces to be filled.
-
- Summaries are one or two line descriptions of the element
- (class, struct, interface, method, field, event, delegate), and
- its used to render summary pages. So it has to be short.
-
- The "remarks" section is used to describe in detail the element.
-
-**** Tags.
-
- As you document Gtk# you will have a number of tags that you can
- use inside the summary and remarks sections, these are:
-
-<pre>
-&lt;para&gt; &lt;/para&gt;
-</pre>
- Used to separate paragraphs.
-
-<pre>
-&lt;paramref name="param_name"/&gt;
-</pre>
- Used to reference a formal parameter to a function.
-
-<pre>
-&lt;see cref="T:SomeTypeName"/&gt;
-</pre>
- Use this to reference a type, this will include an hyper
- link to the page for type SomeTypeName.
-
- For example, to reference "System.Enum", do:
-
-<pre>
- &lt;see cref="T:System.Enum"/&gt;
-</pre>
-
-<pre>
-&lt;see cref="P:SomeTypeName.Property"/&gt;
-</pre>
- Use this to reference a property, this will include an hyper
- link to the page for the property `Property' of type `SomeTypeName'.
-
- For example, to reference the BaseType property in System.Type, do:
-
-<pre>
- &lt;see cref="P:System.Type.BaseType"/&gt;
-</pre>
-
-<pre>
-&lt;see cref="M:SomeTypeName.Method(type,type)"/&gt;
-</pre>
- Use this to reference a method, this will include an hyper
- link to the page for the method `Method' of type `SomeTypeName'.
-
- For example, to reference the ToString method in System.Object, do:
-
-<pre>
- &lt;see cref="M:System.Object.ToString()"/&gt;
-</pre>
-
-<pre>
-&lt;see langword="keyword"/&gt;
-</pre>
- Use this to link to a keyword in the C# language, for
- example to link to `true', do:
-
-<pre>
- &lt;see langword="true"/&gt;
-</pre>
-
-<pre>
-&lt;example&gt; ... &lt;/example&gt;
-</pre>
- Use example to insert an example. The example can
- contain explanatory text and code.
-
-<pre>
-&lt;code lang="C#"&gt;.. &lt;/code&gt;
-</pre>
-
- Use this to provide a sample C# program, typically used
- within the &lt;example&gt; tags.
-
- When providing examples, try to provide a full example,
- we would like to be able to have a button to compile and
- run samples embedded into the documentation, or pop up
- an editor to let the user play with the sample.
-
- You can link to an example like this:
-
-<pre>
- &lt;code lang="C#" source="file.cs"&gt; &lt;/code&gt;
-</pre>
-
-<pre>
-&lt;item&gt;
-</pre>
-
-<pre>
-&lt;list type="bullet"&gt; &lt;/list&gt;
-</pre>
-
- Use this to create lists. Lists contains &lt;item&gt;
- elements which have to contain &lt;term&gt; containers.
-
-<pre>
-&lt;list type="table"&gt; &lt;/lits&gt;
- &lt;listheader&gt;
- &lt;term&gt;YOUR FIRST COLUMN&lt;/term&gt;
- &lt;description&gt;YOUR DESCRIPTION&lt;/description&gt;
- &lt;/listheader&gt;
-</pre>
- For two-column tables. Inside use:
-
-<pre>
-&lt;item&gt;
- &lt;term&gt;First&lt;/term&gt;
- &lt;description&gt;First descritpion&lt;/description&gt;
-&lt;/item&gt;
-&lt;item&gt;
- &lt;term&gt;Second&lt;/term&gt;
- &lt;description&gt;Second descirption&lt;/description&gt;
-&lt;/item&gt;
-</pre>
-
-** Words of warning.
-
- A few words of warning and advice for class documentors:
-
- A well-documented API can ease hours of frustration; as Mono
- matures, robust and complete class library documentation will
- become increasingly important. As you write API documentation,
- whether it is embedded in source files or in external Monodoc XML,
- please keep the following in mind:
-
- Plagarism, even if it's unintentional, is a Bad Thing(TM).
- Microsoft's .NET Framework Class Library documentation is an
- excellent resource for understanding the behavior and properties of
- a type, and a lot of hard work went in to creating this (copyrighted)
- resource. Please don't copy from Microsoft's reference when
- documenting a type.
-
- To avoid this, I (<a href="mailto:jbarn@httcb.net">jbarn@httcb.net</a>)
- suggest that you read the complete Microsoft documentation for a type,
- ponder it for a while, and write the Mono documentation in your own
- words. While it's certainly okay to refer to the Microsoft
- documentation to clarify your understanding of behavior or properties,
- please don't open the Microsoft docs and refer to them for each member
- you document.
-
- There's a lot of domain expertise among the class library contributors;
- let's put the same personal stamp on the class library documentation
- that we have on the class libraries themselves. \ No newline at end of file
diff --git a/doc/download b/doc/download
deleted file mode 100644
index e8d9ebef84f..00000000000
--- a/doc/download
+++ /dev/null
@@ -1,1331 +0,0 @@
-* Software Availability
-
- The Virtual Execution System is available in package `mono'.
- Currently this contains a metadata library and the
- disassembler. Please refer to our <a
- href="runtime.html">Runtime</a> description for more details
- on this part of the project.
-
- The software is also available on the `Mono' channel in <a href="http://www.ximian.com/products/redcarpet/">Red Carpet</a>.
-
- Some useful links: <a
- href="http://www.go-mono.org/mono-beginning.html">Resources/Beginning
- section</a>, the <a
- href="http://www.go-mono.org/faq.html">FAQ</a>.
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.30.1</b><br>
- <a href="archive/mono-0.30.1.html">Release notes</a><br>
- Feb 13th, 2004
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.30.1.tar.gz">Mono Class Libraries and C# Compiler 0.30.</a>
- <li><a href="archive/mono-0.30.1.tar.gz">Mono Runtime 0.30</a>
- <li><a href="archive/xsp-0.9.tar.gz">XSP web server 0.9</a>
- <li><a href="archive/mod_mono-0.7.tar.gz">Apache Mono module 0.7</a>
- <li><a href="archive/monodoc-0.10.tar.gz">MonoDoc 0.10</a>
- <li><a href="archive/libgdiplus-0.1.tar.gz">libgdiplus 0.1</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30.1/redhat-9-i386">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Fedora Core 1/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30.1/fedora-1-i386">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/suse-36.gif"><b>SUSE 9/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30.1/suse-90-i586/">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/debian-36.gif"><b>Debian Packages</b><br>
- </td>
- <td>
- <a href="http://pkg-mono.alioth.debian.org/">Packages (third party provider)</a>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows installer</b>
- </td>
- <td>
- No Windows Installer for 0.30.1 exist yet, you can download
- version 0.30.0 for now:
-
- <a href="archive/0.30/windows/mono-0.30-win32-2.exe">Mono Setup</a>
- <a href="archive/0.30/windows/mono-0.30-gtksharp-0.15-win32-1.exe">Gtk# Setup</a>
- </td>
- </tr>
- </table>
- </td>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.30</b><br>
- <a href="archive/mono-0.30.html">Release notes</a><br>
- Feb 2nd, 2004
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.30.tar.gz">Mono Class Libraries and C# Compiler 0.30.</a>
- <li><a href="archive/mono-0.30.tar.gz">Mono Runtime 0.30</a>
- <li><a href="archive/xsp-0.9.tar.gz">XSP web server 0.9</a>
- <li><a href="archive/mod_mono-0.7.tar.gz">Apache Mono module 0.7</a>
- <li><a href="archive/monodoc-0.10.tar.gz">MonoDoc 0.10</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30/redhat-9-i386">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Fedora Core 1/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30/fedora-1-i386">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/suse-36.gif"><b>SUSE 9/x86</b><br>
- </td>
- <td>
- <a href="archive/0.30/suse-90-i586/">Packages</a>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/debian-36.gif"><b>Debian Packages</b><br>
- </td>
- <td>
- <a href="http://pkg-mono.alioth.debian.org/">Packages (third party provider)</a>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows installer</b>
- </td>
- <td>
- <a href="archive/0.30/windows/mono-0.30-win32-2.exe">Mono Setup</a>
- <a href="archive/0.30/windows/mono-0.30-gtksharp-0.15-win32-1.exe">Gtk# Setup</a>
- </td>
- </tr>
- </table>
- </td>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.29</b><br>
- <a href="archive/mono-0.29.html">Release notes</a><br>
- Dec 2nd, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.29.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.29.tar.gz">Mono Runtime</a>
- <li><a href="archive/xsp-0.8.tar.gz">XSP web server (0.8)</a>
- <li><a href="archive/mod_mono-0.6.tar.gz">Apache Mono module 0.6 (mod_mono)</a>
- <li><a href="archive/monodoc-0.9.tar.gz">MonoDoc 0.9</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#bbbbbb">
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 8.0, Red Hat 9.0/x86</b><br>
- <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b><br>
- <img src="images/suse-36.gif"><b>SuSE 8.2</b><br>
- </td>
- <td>
- Packages are available on <a
- href="http://www.ximian.com/products/redcarpet/download.html">Red
- Carpet's</a> Mono channel.
-
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows installer</b>
- </td>
- <td>
- <a href="archive/mono-0.29-win32-1.exe">mono-0.29-win32-1.exe</a>
- </td>
- </tr>
- </table>
- </td>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.28</b><br>
- <a href="archive/mono-0.28.html">Release notes</a><br>
- Oct 1st, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.28.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.28.tar.gz">Mono Runtime</a>
- <li><a href="archive/xsp-0.6.tar.gz">XSP web server (0.6)</a>
- <li><a href="archive/mod_mono-0.5.tar.gz">Apache Mono module (mod_mono)</a>
- <li><a href="archive/monodoc-0.7.tar.gz">MonoDoc 0.7</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/redhat-90-i386/mono-0.28-1.ximian.6.1.src.rpm">mono-0.28-1.src.rpm (RH9)</a>
- <li><a href="archive/redhat-90-i386/mono-0.28-1.ximian.6.1.src.rpm">mono-0.28-1.src.rpm (RH8)</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b>
- <ul>
- <li><a href="archive/redhat-90-i386/mono-0.28-1.ximian.6.1.i386.rpm">mono-0.28-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-devel-0.28-1.ximian.6.1.i386.rpm">mono-devel-0.28-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-debuginfo-0.28-1.ximian.6.1.i386.rpm">mono-debuginfo-0.28-1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/mono-wine-20030318-1.ximian.6.4.i386.rpm">mono-wine-20030318-1.ximian.6.4.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-wine-debuginfo-20030318-1.ximian.6.4.i386.rpm">mono-wine-debuginfo-20030318-1.ximian.6.4.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/mono-0.28-1.ximian.5.1.i386.rpm">mono-0.28-1.ximian.5.1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.28-1.ximian.5.1.i386.rpm">mono-devel-0.28-1.ximian.5.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-80-i386/mono-wine-20030318-1.ximian.5.3.i386.rpm">mono-wine-20030318-1.ximian.5.3.i386.rpm</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b>
- <ul>
- <li><a href="archive/mandrake-91-i586/mono-0.28-1.ximian.6.1.i586.rpm">mono-0.28-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/mono-devel-0.28-1.ximian.6.1.i586.rpm">mono-devel-0.28-1.ximian.6.1.i586.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Linux s390</b>
- <ul>
- <li><a href="archive/s390/libgc-6.1-1.s390.rpm">libgc-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/libgc-devel-6.1-1.s390.rpm">libgc-devel-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/mono-0.28-1.s390.rpm">mono-0.28-1.s390.rpm</a>
- <li><a href="archive/s390/mono-devel-0.28-1.s390.rpm">mono-devel-0.28-1.s390.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/suse-36.gif"><b>SuSE 8.2</b>
- <ul>
- <li><a href="archive/suse-82-i586/mono-0.28-1.ximian.7.1.i586.rpm">mono-0.28-1.ximian.7.1.i586.rpm</a>
- <li><a href="archive/suse-82-i586/mono-devel-0.28-1.ximian.7.1.i586.rpm">mono-devel-0.28-1.ximian.7.1.i586.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows installer</b>
- <ul>
- <li><a href="archive/mono-0.28-win32-1.exe">mono-0.28-win32-1.exe</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.26</b><br>
- <a href="archive/mono-0.26.html">Release notes</a><br>
- Aug 14, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.26.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.26.tar.gz">Mono Runtime</a>
- <li><a href="archive/xsp-0.5.tar.gz">XSP web server (0.5)</a>
- <li><a href="archive/mod_mono-0.4.tar.gz">Apache Mono module (mod_mono)</a>
- <li><a href="archive/monodoc-0.6.tar.gz">MonoDoc 0.6</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.src.rpm">mono-0.26-1.src.rpm (RH9)</a>
- <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.src.rpm">mono-0.26-1.src.rpm (RH8)</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b>
- <ul>
- <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.i386.rpm">mono-0.26-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-devel-0.26-1.ximian.6.1.i386.rpm">mono-devel-0.26-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-debuginfo-0.26-1.ximian.6.1.i386.rpm">mono-debuginfo-0.26-1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/libpixregion-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libic-0.1.0-1.ximian.6.1.i386.rpm">libic-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xc-0.1.0-1.ximian.6.1.i386.rpm">xc-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xr-0.1.0-1.ximian.6.1.i386.rpm">xr-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/monodoc-0.6-1.ximian.6.1.i386.rpm">monodoc-0.6-1.ximian.6.1.i386.rpm</a> (To be used only with CVS gtk-sharp)
- <li><a href="archive/redhat-90-i386/monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm">monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-wine-20030318-1.ximian.6.3.i386.rpm">mono-wine-20030318-1.ximian.6.3.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-wine-debuginfo-20030318-1.ximian.6.3.i386.rpm">mono-wine-debuginfo-20030318-1.ximian.6.3.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/mono-0.26-2.ximian.5.1.i386.rpm">mono-0.26-2.ximian.5.1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.26-2.ximian.5.1.i386.rpm">mono-devel-0.26-2.ximian.5.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-80-i386/monodoc-0.5-1.ximian.5.1.i386.rpm">monodoc-0.5-1.ximian.5.1.i386.rpm</a> (To be used only with CVS gtk-sharp)
- <li><a href="archive/redhat-80-i386/mono-wine-20030318-1.ximian.5.3.i386.rpm">mono-wine-20030318-1.ximian.5.3.i386.rpm</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/debian-36.gif"><b>Debian</b>
- <ul>
- <li><a href="http://www.debianplanet.com/mono/">Debian Packages here.</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b>
- <ul>
- <li><a href="archive/mandrake-91-i586/mono-0.26-1.ximian.6.1.i586.rpm">mono-0.26-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/mono-devel-0.26-1.ximian.6.1.i586.rpm">mono-devel-0.26-1.ximian.6.1.i586.rpm</a>
-<!-- <li><a href="archive/mandrake-91-i586/monodoc-0.5-1.ximian.6.1.i586.rpm">monodoc-0.5-1.ximian.6.1.i586.rpm</a> -->
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <img src="images/suse-36.gif"><b>SuSE 8.2</b>
- <ul>
- <li><a href="archive/suse-82-i586/mono-0.26-2.ximian.7.1.i586.rpm">mono-0.26-2.ximian.7.1.i586.rpm</a>
- <li><a href="archive/suse-82-i586/mono-devel-0.26-2.ximian.7.1.i586.rpm">mono-devel-0.26-2.ximian.7.1.i586.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows installer</b>
- <ul>
- <li><a href="archive/mono-0.26-win32-2.exe">mono-0.26-win32-2.exe</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </table>
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.25</b><br>
- <a href="archive/mono-0.25.html">Release notes</a><br>
- Jun 26, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.25.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.25.tar.gz">Mono Runtime</a>
- <li><a href="archive/xsp-0.4.tar.gz">XSP web server (0.4)</a>
- <li><a href="archive/monodoc-0.5.tar.gz">MonoDoc 0.5</a>
- <li><a href="archive/gtk-sharp-0.11.tar.gz">Gtk# 0.11</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/redhat-80-i386/mono-0.25-1.ximian.5.1.src.rpm">mono-0.25-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b>
- <ul>
- <li><a href="archive/redhat-90-i386/mono-0.25-1.ximian.6.1.i386.rpm">mono-0.25-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-devel-0.25-1.ximian.6.1.i386.rpm">mono-devel-0.25-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-debuginfo-0.25-1.ximian.6.1.i386.rpm">mono-debuginfo-0.25-1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/libpixregion-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libic-0.1.0-1.ximian.6.1.i386.rpm">libic-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xc-0.1.0-1.ximian.6.1.i386.rpm">xc-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xr-0.1.0-1.ximian.6.1.i386.rpm">xr-0.1.0-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/gtk-sharp-0.10-1.ximian.6.1.i386.rpm">gtk-sharp-0.10-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/gtk-sharp-gapi-0.10-1.ximian.6.1.i386.rpm">gtk-sharp-gapi-0.10-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/gtk-sharp-debuginfo-0.10-1.ximian.6.1.i386.rpm">gtk-sharp-debuginfo-0.10-1.ximian.6.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/monodoc-0.5-1.ximian.6.1.i386.rpm">monodoc-0.5-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm">monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm</a>
- <li><a href="archive/mono-wine-20030318-1.ximian.6.2.i386.rpm">mono-wine-20030318-1.ximian.6.2.i386.rpm</a>
- <li><a href="archive/mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm">mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/mono-0.25-1.ximian.5.1.i386.rpm">mono-0.25-1.ximian.5.1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.25-1.ximian.5.1.i386.rpm">mono-devel-0.25-1.ximian.5.1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-80-i386/gtk-sharp-0.10-1.ximian.5.1.i386.rpm">gtk-sharp-0.10-1.ximian.5.1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/gtk-sharp-gapi-0.10-1.ximian.5.1.i386.rpm">gtk-sharp-gapi-0.10-1.ximian.5.1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/monodoc-0.5-1.ximian.5.1.i386.rpm">monodoc-0.5-1.ximian.5.1.i386.rpm</a>
- <li><a href="archive/mono-wine-20030318-1.ximian.5.2.i386.rpm">mono-wine-20030318-1.ximian.5.2.i386.rpm</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/debian-36.gif"><b>Debian</b>
- <ul>
- <li><a href="http://www.debianplanet.com/mono/">Debian Packages here.</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows Setup Wizard (XP, 2000, NT)</b>
- <ul>
- <li><a href="archive/mono-0.25-win32-1.exe">Setup program.</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 7.3/x86</b>
- <ul>
- <li><a href="archive/redhat-73-i386/mono-0.25-1.ximian.4.1.i386.rpm">mono-0.25-1.ximian.4.1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-devel-0.25-1.ximian.4.1.i386.rpm">mono-devel-0.25-1.ximian.4.1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b>
- <ul>
- <li><a href="archive/mandrake-91-i586/mono-0.25-1.ximian.6.1.i586.rpm">mono-0.25-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/mono-devel-0.25-1.ximian.6.1.i586.rpm">mono-devel-0.25-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/gtk-sharp-0.10-1.ximian.6.1.i586.rpm">gtk-sharp-0.10-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/gtk-sharp-gapi-0.10-1.ximian.6.1.i586.rpm">gtk-sharp-gapi-0.10-1.ximian.6.1.i586.rpm</a>
- <li><a href="archive/mandrake-91-i586/monodoc-0.5-1.ximian.6.1.i586.rpm">monodoc-0.5-1.ximian.6.1.i586.rpm</a>
- </ul>
- </td>
- </tr>
-
- <!--
- We don't have SuSE packages right now
- -->
-<!-- <tr> -->
-<!-- <td bgcolor="#999999"> -->
-<!-- <img src="images/suse-36.gif"><b>SuSE 8.2/x86</b> -->
-<!-- <ul> -->
-<!-- <li><a href="archive/suse-80-i386/mono-0.25-1.i386.rpm">mono-0.25-1.i386.rpm</a> -->
-<!-- <li><a href="archive/suse-80-i386/mono-devel-0.25-1.i386.rpm">mono-devel-0.25-1.i386.rpm</a> -->
-<!-- </ul> -->
-<!-- </td> -->
-<!-- </tr> -->
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
-
-* Older Releases:
-
- We provide binaries for older releases until we have packages for the new release.
-
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.24</b><br>
- <a href="archive/mono-0.24.html">Release notes</a><br>
- May 6, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.24.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.24.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.4.tar.gz">XSP web server (0.4)</a>
- <li><a href="archive/monodoc-0.4.tar.gz">MonoDoc 0.4</a>
- <li><a href="archive/gtk-sharp-0.9.tar.gz">Gtk# 0.9</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.24-1.src.rpm">mono-0.24-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b>
- <ul>
- <li><a href="archive/redhat-90-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-0.24-1.i386.rpm">mono-0.24-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-devel-0.24-1.i386.rpm">mono-devel-0.24-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/mono-debuginfo-0.24-1.i386.rpm">mono-debuginfo-0.24-1.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-90-i386/gtk-sharp-0.9-1.i386.rpm">gtk-sharp-0.9-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/gtk-sharp-debuginfo-0.9-1.i386.rpm">gtk-sharp-debuginfo-0.9-1.i386.rpm</a>
- <li><a href="archive/redhat-90-i386/monodoc-0.4-1.i386.rpm">monodoc-0.4-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-0.24-2.i386.rpm">mono-0.24-2.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.24-2.i386.rpm">mono-devel-0.24-2.i386.rpm</a>
- <br>
- <li><a href="archive/redhat-80-i386/gtk-sharp-0.9-1.i386.rpm">gtk-sharp-0.9-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/monodoc-0.4-1.i386.rpm">monodoc-0.4-1.i386.rpm</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/debian-36.gif"><b>Debian</b>
- <ul>
- <li><a href="http://www.debianplanet.com/mono/">Debian Packages here.</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/windows-36.gif"><b>Windows Setup Wizard (XP, 2000, NT)</b>
- <ul>
- <li><a href="archive/mono-0.24-win32-1.exe">Setup program.</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/redhat-36.gif"><b>Red Hat 7.3/x86</b>
- <ul>
- <li><a href="archive/redhat-73-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-0.24-1.i386.rpm">mono-0.24-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-devel-0.24-1.i386.rpm">mono-devel-0.24-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <img src="images/mandrake-36.gif"><b>Mandrake 8.2/x86</b>
- <ul>
- <li><a href="archive/mandrake-82-i386/libgc-6.1-1.i586.rpm">libgc-6.1-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/libgc-devel-6.1-1.i586.rpm">libgc-devel-6.1-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/mono-0.24-1.i586.rpm">mono-0.24-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/mono-devel-0.24-1.i586.rpm">mono-devel-0.24-1.i586.rpm</a>
- </ul>
- </td>
- </tr>
-
- <tr>
- <td bgcolor="#999999">
- <img src="images/suse-36.gif"><b>SuSE 8.0/x86</b>
- <ul>
- <li><a href="archive/suse-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/mono-0.24-1.i386.rpm">mono-0.24-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/mono-devel-0.24-1.i386.rpm">mono-devel-0.24-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Linux s/390</b>
- <ul>
- <li><a href="archive/s390/libgc-6.1-1.s390.rpm">libgc-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/libgc-devel-6.1-1.s390.rpm">libgc-devel-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/mono-0.24-1.s390.rpm">mono-0.24-1.s390.rpm</a>
- <li><a href="archive/s390/mono-devel-0.24-1.s390.rpm">mono-devel-0.24-1.s390.rpm</a>
- </ul>
- </td>
- </tr>
-
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.23</b><br>
- <a href="archive/mono-0.23">Release notes</a><br>
- March 5, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.23.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.23.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.3.tar.gz">XSP web server (0.3)</a>
- <li><a href="archive/mono-debugger-0.2.2.tar.gz">Mono Debugger 0.2.2</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.23-1.src.rpm">mono-0.23-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Red Hat 7.3/x86</b>
- <ul>
- <li><a href="archive/redhat-73-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-0.23-1.i386.rpm">mono-0.23-1.i386.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-devel-0.23-1.i386.rpm">mono-devel-0.23-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Red Hat 7.2/x86</b>
- <ul>
- <li><a href="archive/redhat-72-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-72-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-72-i386/mono-0.23-1.i386.rpm">mono-0.23-1.i386.rpm</a>
- <li><a href="archive/redhat-72-i386/mono-devel-0.23-1.i386.rpm">mono-devel-0.23-1.i386.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Red Hat 7.1/x86</b>
- <ul>
- <li><a href="archive/redhat-71-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-71-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-71-i386/mono-0.23-1.i386.rpm">mono-0.23-1.i386.rpm</a>
- <li><a href="archive/redhat-71-i386/mono-devel-0.23-1.i386.rpm">mono-devel-0.23-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Mandrake 8.2/x86</b>
- <ul>
- <li><a href="archive/mandrake-82-i386/libgc-6.1-1.i586.rpm">libgc-6.1-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/libgc-devel-6.1-1.i586.rpm">libgc-devel-6.1-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/mono-0.23-1.i586.rpm">mono-0.23-1.i586.rpm</a>
- <li><a href="archive/mandrake-82-i386/mono-devel-0.23-1.i586.rpm">mono-devel-0.23-1.i586.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>SuSE 8.0/x86</b>
- <ul>
- <li><a href="archive/suse-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/mono-0.23-1.i386.rpm">mono-0.23-1.i386.rpm</a>
- <li><a href="archive/suse-80-i386/mono-devel-0.23-1.i386.rpm">mono-devel-0.23-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-0.23-1.i386.rpm">mono-0.23-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.23-1.i386.rpm">mono-devel-0.23-1.i386.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Windows Setup Wizard (NT/2000/XP)</b>
- <ul>
- <li><a href="archive/mono-0.23-win32-2.exe">Mono-Setup</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Linux S/390</b>
- <ul>
- <li><a href="archive/s390/libgc-6.1-1.s390.rpm">libgc-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/libgc-devel-6.1-1.s390.rpm">libgc-devel-6.1-1.s390.rpm</a>
- <li><a href="archive/s390/mono-0.23-1.s390.rpm">mono-0.23-1.s390.rpm</a>
- <li><a href="archive/s390/mono-devel-0.23-1.s390.rpm">mono-devel-0.23-1.s390.rpm</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
-
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.22</b><br>
- <a href="archive/mono-0.22">Release notes</a><br>
- March 5, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.22.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.22.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.3.tar.gz">XSP web server (0.3)</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.22-1.src.rpm">mono-0.22-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Windows Setup Wizard (NT/2000/XP)</b>
- <ul>
- <li><a href="archive/mono-0.22-win32-1.exe">Mono-Setup</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.21</b><br>
- <a href="archive/mono-0.21">Release notes</a><br>
- Feb 27th, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.21.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.21.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.3.tar.gz">XSP web server (0.3)</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.21-1.src.rpm">mono-0.21-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Debian packages</b>
- <ul>
- <li><a href="http://www.atoker.com/mono/">Alp's web site</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.20</b><br>
- <a href="archive/mono-0.20">Release notes</a><br>
- Feb 20th, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.20.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.20.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.3.tar.gz">XSP web server (0.3)</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/redhat-73-i386/mono-0.20-1.src.rpm">mono-0.20-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Red Hat 8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-80-i386/libgc-6.1-1.i386.rpm">libgc-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/libgc-devel-6.1-1.i386.rpm">libgc-devel-6.1-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-0.20-1.i386.rpm">mono-0.20-1.i386.rpm</a>
- <li><a href="archive/redhat-80-i386/mono-devel-0.20-1.i386.rpm">mono-devel-0.20-1.i386.rpm</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Debian packages</b>
- <ul>
- <li><a href="http://www.atoker.com/mono/">Alp's web site</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Windows Setup Wizard (NT/2000/XP)</b>
- <ul>
- <li><a href="archive/mono-0.20-stable-win32-2.exe">Mono-Setup</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <tr bgcolor="#CCCCC">
- <td>
- <b>Regression Tests</b><br>
- </td>
- <td>
- You can get binaries for the Mono Regression Test
- Suite <a href="archive/mono-tests.tar.gz">here</a>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.19</b><br>
- <a href="archive/mono-0.19">Release notes</a><br>
- Jan 20th, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.19.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.19.tar.gz">Mono Runtime</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.19-1.src.rpm">mono-0.19-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.18</b><br>
- <a href="archive/mono-0.18">Release notes</a><br>
- Jan 12th, 2003
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.18.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.18.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- <li><a href="archive/xsp-0.2.tar.gz">XSP web server</a> <b><font color="#dd0000">New!</font></b>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.18-1.src.rpm">mono-0.18-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.17</b><br>
- <a href="archive/mono-0.17">Release notes</a><br>
- Dec 9th, 2002.
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.17.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.17.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b><br>
- (No RPMS for XSP).
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.17-2.src.rpm">mono-0.17-2.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Windows Setup Wizard (NT/2000/XP)</b>
- <ul>
- <li><a href="archive/mono-0.17-stable.exe">Mono-Setup</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Debian packages</b>
- <ul>
- <li><a href="http://www.atoker.com/mono/">Alp's web site</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.16</b><br>
- <a href="archive/mono-0.16">Release notes</a><br>
- Oct 1st, 2002.
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.16.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.16.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1.tar.gz">Boehm GC 6.1</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1-1.src.rpm">libgc-6.1-1.src.rpm</a>
- <li><a href="archive/mono-0.16-1.src.rpm">mono-0.16-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
- <tr>
- <td bgcolor="#999999">
- <b>Linux s390</b>
- <ul>
- <li><a href="archive/s390/glib2-2.0.6-13.s390.rpm">glib2-2.0.6-13.s390.rpm</a>
- <li><a href="archive/s390/glib2-devel-2.0.6-13.s390.rpm">glib2-devel-2.0.6-13.s390.rpm</a>
- <li><a href="archive/s390/libgc-6.1alpha5-1.s390.rpm">libgc-6.1alpha5-1.s390.rpm</a>
- <li><a href="archive/s390/libgc-devel-6.1alpha5-1.s390.rpm">libgc-devel-6.1alpha5-1.s390.rpm</a>
- <li><a href="archive/s390/mono-0.16-1.s390.rpm">mono-0.16-1.s390.rpm</a>
- <li><a href="archive/s390/mono-devel-0.16-1.s390.rpm">mono-devel-0.16-1.s390.rpm</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- </tr>
- </tr>
- </tbody>
- </table>
-
- <table>
- <tbody>
- <tr bgcolor="#DDDDDD">
- <td>
- <b>Release 0.15</b><br>
- <a href="archive/mono-0.15">Release notes</a><br>
- Aug 23rd, 2002.
- </td>
- <td>
- <table cellspacing="1" cellpadding="3">
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source Code</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/mcs-0.15.tar.gz">Mono Class Libraries and C# Compiler.</a>
- <li><a href="archive/mono-0.15.tar.gz">Mono Runtime</a>
- <li><a href="archive/gc6.1alpha5.tar.gz">Boehm GC 6.1alpha5</a>
- </ul>
- </td>
- </tr>
- <tr bgcolor="#BBBBBB">
- <td>
- <b>Source RPMs</b>
- </td>
- <td>
- <ul>
- <li><a href="archive/libgc-6.1alpha5-1.src.rpm">libgc-6.1alpha5-1.src.rpm</a>
- <li><a href="archive/mono-0.15-1.src.rpm">mono-0.15-1.src.rpm</a>
- </ul>
- </td>
- </tr>
- <tr>
- <td></td>
- </tr>
-
- <tr bgcolor="#999999">
- <td>
- <b>Windows (win95 friendly)</b>
- <ul>
- <li><a href="archive/mono-w32-Aug_28_2002.zip">Mono-w32</a>
- </ul>
- </td>
- <td bgcolor="#999999">
- <b>Red Hat null-8.0/x86</b>
- <ul>
- <li><a href="archive/redhat-null-i386/libgc-6.1alpha5-1.i386.rpm">libgc-6.1alpha5-1.i386.rpm</a>
- <li><a href="archive/redhat-null-i386/libgc-devel-6.1alpha5-1.i386.rpm">libgc-devel-6.1alpha5-1.i386.rpm</a>
- <li><a href="archive/redhat-null-i386/mono-0.15-1.i386.rpm">mono-0.15-1.i386.rpm</a>
- <li><a href="archive/redhat-null-i386/mono-devel-0.15-1.i386.rpm">mono-devel-0.15-1.i386.rpm</a>
- </ul>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
-
-* Binaries for other platforms.
-
- Already daily volunteer's made binaries:
-
- <ul>
- * <a href="http://pkg-mono.alioth.debian.org/">http://pkg-mono.alioth.debian.org/</a>
- </ul>
-
-* Snapshots
-
-<a name="snapshots">
-
- <a href="http://www.go-mono.com/snapshots">Nightly snapshots</a> of
- the CVS repository are made every day at 10pm EST (Boston
- Time). These are not guaranteed to build, they are just a
- snapshot of the tree.
-
- The <a href="anoncvs.html">anoncvs</a> mirrors provided by
- Hispalinux are updated every six hours.
-
-* Compilation
-
- For instructions on how to build Mono, please refer to the
- <a href="compiling.html">compiling</a> page. \ No newline at end of file
diff --git a/doc/drawing b/doc/drawing
deleted file mode 100644
index eb152415655..00000000000
--- a/doc/drawing
+++ /dev/null
@@ -1,51 +0,0 @@
-* Drawing
-
- Mono provides two mechanism to draw. The first exposes the
- Microsoft System.Drawing API and the second exposes the <a
- href="http://www.cairographics.org">Cairo</a> API.
-
-* System.Drawing
-
- The System.Drawing implementation in Mono is designed to be
- compatible with the Microsoft API. The imaging model is very
- similar to the PDF 1.4 composition-based imaging model.
-
- Our implementation is a C# wrapper around the GDI+ C API (also
- called the <a
- href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlusReference.asp">"GDI+
- Flat API"</a>).
-
- This means that the C# code is the same for Windows and Unix
- systems. The following graph explains the situation:
-
- <center>
- <img src="images/system-drawing.png">
- </center>
-
- In Windows Mono uses the GDI+ library that is included with
- the operating system (<tt>GDIPLUS.DLL</tt>, while in Unix we
- provide an implementation of this API in the
- <tt>libgdiplus.so</tt> shared library. Our
- <tt>libgdiplus.so</tt> has the same C Flat API as the
- <tt>GDIPLUS.DLL</tt>. Our implementation uses Cairo to do
- the heavy lifting.
-
- The implementation of GDI+ lives in mcs/class/System.Drawing
- in the gdiplus directory and requires <a
- href="http://www.cairographics.org">Cairo</a> to be installed
- to get the package built.
-
- The C# code that implement System.Drawing is the same for
- Windows and Unix builds.
-
- Since this is an implementation of an existing Microsoft API
- no architectural changes go here.
-
-* Mono.Cairo
-
- The Mono.Cairo.dll assembly exposes the Cairo API to managed
- applications. The mapping is a pretty straightforward one,
- and the programming model is very close to the C API.
-
- This API is still unstable due to the nature of the underlying
- API being used and will be revisited as Cairo evolves.
diff --git a/doc/embedded-api b/doc/embedded-api
deleted file mode 100755
index 3b405c98ddd..00000000000
--- a/doc/embedded-api
+++ /dev/null
@@ -1,305 +0,0 @@
-* Embedding the Mono runtime, preliminary version
-
- This document describes how to embed the Mono runtime in your
- application, and how to invoke CIL methods from C, and how to
- invoke C code from CIL
-
- Slides for Paolo's presentation at .NET ONE on the embedding
- API are available here: <a
- href="http://primates.ximian.com/~lupus/slides/embed">Hosting the Mono
- Runtime</a>. You can also get his <a
- href="http://primates.ximian.com/~lupus/slides/embed/Mono-0.01.tar.gz">sample
- Mono module for Perl</a>
-
- Authors: Paolo Molaro, Miguel de Icaza.
-
-* Embedding the runtime.
-
- Embedding the runtime consists of various steps:
-
- <ul>
- * Compiling and linking the Mono runtime
-
- * Initializing the Mono runtime
-
- * Optionally expose C code to the C#/CIL universe.
-
- </ul>
-
- These are discussed in detail next.
-
-** Compiling and Linking
-
- To embed the runtime, you have to link your code against the
- Mono runtime libraries. To do this, you want to pass the
- flags returned by pkg-config to your compiler:
-
- <pre>
- pkg-config --cflags --libs mono
- </pre>
-
- Like this:
-
- <pre>
- gcc sample.c `pkg-config --cflags --libs mono`
- </pre>
-
- You can separate the compilation flags from the linking flags, for
- instance, you can use the following macros in your makefile:
-
- <pre>
- CFLAGS=`pkg-config --cflags mono`
- LDFLAGS=`pkg-config --libs mono`
- </pre>
-
-** Initializing the Mono runtime
-
- To initialize the runtime, call mono_jit_init, like this:
-
- <pre>
- MonoDomain *domain;
-
- domain = mono_jit_init ("domain-name");
- </pre>
-
- That will return a MonoDomain where your code will be
- executed. You can create multiple domains. Each domain is
- isolated from the other domains and code in one domain will
- not interfere with code in other domains. This is useful if
- you want to host different applications in your program.
-
- Now, it is necessary to transfer control to Mono, and setup
- the threading infrastructure, you do this like this:
-
- <pre>
- void *user_data = NULL;
-
- mono_runtime_exec_managed_code (domain, main_thread_handler, user_data);
- </pre>
-
- Where your main_thread_handler can load your assembly and execute it:
-
- <pre>
- static void main_thread_handler (gpointer user_data)
- {
- MonoAssembly *assembly;
-
- assembly = mono_domain_assembly_open (domain, "file.dll");
- if (!assembly)
- error ();
- </pre>
-
- In the above example, the contents of `file.dll' will be
- loaded into the domain. This only loads the code, but it will
- not execute anything yet. You can replace `file.dll' with
- another transport file, like `file.exe'
-
- To start executing code, you must invoke a method in the
- assembly, or if you have provided a static Main method (an
- entry point), you can use the convenience function:
-
- <pre>
- retval = mono_jit_exec (domain, assembly, argc - 1, argv + 1);
- </pre>
-
- If you want to invoke a different method, look at the
- `Invoking Methods in the CIL universe' section later on.
-
-** Shutting down the runtime
-
- To shutdown the Mono runtime, you have to clean up all the
- domains that were created, use this function:
-
- <pre>
- mono_jit_cleanup (domain);
- </pre>
-
-** Applications that use threads.
-
- The Boehm GC system needs to catch your calls to the pthreads
- layer, so in each file where you use pthread.h you should
- include the &lt;gc/gc.h&gt; file.
-
- If you can not do this for any reasons, just remember that you
- can not store pointers to Mono Objects on the stack, you can
- store them safely in the heap, or in global variables though
-
-* Exposing C code to the CIL universe
-
- The Mono runtime provides two mechanisms to expose C code to
- the CIL universe: internal calls and native C code. Internal
- calls are tightly integrated with the runtime, and have the
- least overhead, as they use the same data types that the
- runtime uses.
-
- The other option is to use the Platform Invoke (P/Invoke) to
- call C code from the CIL universe, using the standard P/Invoke
- mechanisms.
-
- To register an internal call, use this call in the C code:
-
- <pre>
- mono_add_internal_call ("Hello::Sample", sample);
- </pre>
-
- Now, you need to declare this on the C# side:
-
- <pre>
- using System;
- using System.Runtime.CompilerServices;
- </pre>
-
-
- <pre>
- class Hello {
- [MethodImplAttribute(MethodImplOptions.InternalCall)]
- extern static string Sample ();
- }
- </pre>
-
- Since this routine returns a string, here is the C definition:
-
- <pre>
- static MonoString*
- Sample ()
- {
- return mono_string_new (mono_domain_get (), "Hello!");
- }
- </pre>
-
- Notice that we have to return a `MonoString', and we use the
- `mono_string_new' API call to obtain this from a string.
-
-* Invoking Methods in the CIL universe
-
- Calling a method in the CIL universe from C requires a number of steps:
-
- <ul>
- * Obtaining the MonoMethod handle to the method.
-
- * The method invocation.
- </ul>
-
-** Obtaining a MonoMethod
-
- To get a MonoMethod there are several ways.
-
- You can get a MonoClass (the structure representing a type)
- using:
-
- <pre>
- MonoClass *
- mono_class_from_name (MonoImage *image, const char* name_space, const char *name);
- </pre>
-
- and then loop in the returned class method array until you get
- the one you're looking for. There are examples of such
- searches as static functions in several C files in
- metadata/*.c: we need to expose one through the API and remove
- the duplicates.
-
- The other, simpler, way is to use the functions in
- debug-helpers.h: there are examples of their use in monograph,
- mint and the jit as well. You basically use a string
- description of the method, like:
-
- <pre>
- "System.Object:GetHashCode()"
- </pre>
-
- and create a MonoMethodDesc out of it with:
-
- <pre>
- MonoMethodDesc* mono_method_desc_new (const char *name, gboolean include_namespace);
- </pre>
-
- You can then use:
-
- <pre>
- MonoMethod* mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass);
- MonoMethod* mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image);
- </pre>
-
- to search for the method in a class or in an image. You would
- tipically do this just once at the start of the program and
- store the result for reuse somewhere.
-
-** Invoking a Method
-
- There are two functions to call a managed method:
-
- <pre>
- MonoObject*
- mono_runtime_invoke (MonoMethod *method, void *obj, void **params,
- MonoObject **exc);
- and
- MonoObject*
- mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
- MonoObject **exc);
- </pre>
-
- obj is the 'this' pointer, it should be NULL for static
- methods, a MonoObject* for object instances and a pointer to
- the value type for value types.
-
- The params array contains the arguments to the method with the
- same convention: MonoObject* pointers for object instances and
- pointers to the value type otherwise. The _invoke_array
- variant takes a C# object[] as the params argument (MonoArray
- *params): in this case the value types are boxed inside the
- respective reference representation.
-
- From unmanaged code you'll usually use the
- mono_runtime_invoke() variant.
-
- Note that this function doesn't handle virtual methods for
- you, it will exec the exact method you pass: we still need to
- expose a function to lookup the derived class implementation
- of a virtual method (there are examples of this in the code,
- though).
-
- You can pass NULL as the exc argument if you don't want to
- catch exceptions, otherwise, *exc will be set to the exception
- thrown, if any. if an exception is thrown, you can't use the
- MonoObject* result from the function.
-
- If the method returns a value type, it is boxed in an object
- reference.
-
- We have plans for providing an additional method that returns
- an unmanaged->managed thunk like this:
-
- <pre>
- void* mono_method_get_unmanaged_thunk (MonoMethod *method);
- </pre>
-
- You'll be able to store the returned pointer in a function
- pointer with the proper signature and call that directly from
- C:
-
- <pre>
- typedef gint32 (*GetHashCode) (MonoObject *obj);
-
- GetHashCode func = mono_method_get_unmanaged_thunk (System_Object_GetHashCode_method);
-
- gint32 hashvalue = func (myobject);
- </pre>
-
- It may not be possible to manage exceptions in that case,
- though. I need to think more about it.
-
-** Threading issues
-
- If your application creates threads on its own, and you want them to
- be able to call code into the CIL universe with Mono, you have to
- register the thread with Mono before issuing the call.
-
- To do so, call the mono_thread_attach() function before you execute
- any managed code from the thread
-
-* Samples
-
- See the sample programs in mono/sample/embed for examples of
- embedding the Mono runtime in your application.
-
-
diff --git a/doc/faq b/doc/faq
deleted file mode 100644
index 92f91929da2..00000000000
--- a/doc/faq
+++ /dev/null
@@ -1,1573 +0,0 @@
-<a href="#basics">Basics</a><br>
-<a href="#novell">The Novell Role in the Mono project</a><br>
-<a href="#gnome">Mono and GNOME</a><br>
-<a href="#gui">Building GUI applications with Mono</a><br>
-<a href="#msft">Mono and Microsoft</a><br>
-<a href="#platforms">Mono platforms</a><br>
-<a href="#compatibility">Compatibility</a></br>
-<a href="#pnpproject">Mono and the Portable.NET Project</a><br>
-<a href="#webservices">Web Services</a><br>
-<a href="#asp">Mono and ASP.NET</a><br>
-<a href="#ado">Mono and ADO.NET</a><br>
-<a href="#monodoc">MonoDoc</a><br>
-<a href="#devel">Development Tools and Issues</a><br>
-<a href="#java">Mono and Java</a><br>
-<a href="#extending">Extending Mono</a><br>
-<a href="#portability">Portability</a><br>
-<a href="#reuse">Reusing Existing Code</a><br>
-<a href="#gcc">Mono and GCC</a><br>
-<a href="#performance">Performance</a><br>
-<a href="#licensing">Licensing</a><br>
-<a href="#patents">Patents</a><br>
-<a href="#etc">Miscellaneous Questions</a><br>
-<a href="#obfuscation">Obfuscation</a></br>
-<a href="#problems">Mono Common Problems</a><br>
-
-A <a
-href="http://www.monohispano.org/tutoriales/mono-puf//">Spanish
-translation</a> is also available (it is outdated though)
-
-<a name="basics"></a>
-** Basics
-
-Q: What is Mono exactly?
-
-A: The Mono Project is an open development initiative sponsored by
- Ximian that is working to develop an open source, Unix
- version of the Microsoft .NET development platform. Its objective
- is to enable Unix developers to build and
- deploy cross-platform .NET Applications. The project will
- implement various technologies developed by Microsoft that have now
- been submitted to the ECMA for standardization.
-
- The Mono project has also sparked a lot of interest in developing
- C#-based components, libraries and frameworks. Today Mono is not
- limited to implement the .NET Framework, but also contains other
- components. Some of the components of the Mono platform were
- developed by the Mono team, and some others we have incorporated
- from other open source efforts, the most important ones:
-
- <ul>
- <li><a
- href="http://remoting-corba.sourceforge.net/">Remoting.CORBA</a>: A
- CORBA implementation for Mono.
-
- <li>Ginzu: An implementation on top of Remoting for the <a
- href="http://www.zeroc.com">ICE</a> stack
-
- <li><a href="http://gtk-sharp.sf.net">Gtk#</a>: Bindings for
- the popular Gtk+ GUI toolkit for Unix and Windows systems.
- Other bindings are available: Diacanvas-Sharp and MrProject.
-
- <li><a
- href="http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx">#ZipLib</a>:
- A library to manipulate various kinds of compressed files and
- archives (Zip and tar).
-
- <li>GlGen (available from the Mono CVS): Bindings for OpenGL.
-
- <li>Mono.LDAP: LDAP access for .NET apps.
-
- <li>Mono.Data: We ship support for Postgress, MySql, Sybase,
- DB2, SqlLite, Tds (SQL server protocol) and Oracle databases.
-
- <li>Mono.Cairo: Bindings for the <a
- href="http://www.cairographics.org">Cairo</a> rendering
- engine (Our System.Drawing is implemented on top of this).
-
- <li>Mono.Posix: Bindings for building POSIX applications using
- C#.
-
- <li>Mono.Http: Support for creating custom, embedded HTTP
- servers and common HTTP handlers for your applications.
- </ul>
-
-Q: What is the difference between Mono and the .NET Initiative?
-
-A: The ".NET Initiative" is a somewhat nebulous company-wide effort by
- Microsoft, one part of which is a cross-platform development
- framework. Mono is an implementation of the development framework,
- but not an implementation of anything else related to the .NET
- Initiative, such as Passport or software-as-a-service.
-
-Q: What technologies are included in Mono?
-
-A: Mono contains a number of components useful for building new
- software:
-
- <ul>
- * A Common Language Infrastructure (CLI) virtual
- machine that contains a class loader, Just-in-time
- compiler, and a garbage collecting runtime.
-
- * A class library that can work with any language
- which works on the CLR. Both .NET compatible class
- libraries as well as Mono-provided class libraries
- are included.
-
- * A compiler for the C# language. In the future we
- might work on other compilers that target the Common
- Language Runtime.
- </ul>
-
-
- Windows has compilers that target the virtual machine from <a
- href="http://msdn.microsoft.com/net/thirdparty/default.asp#lang">a
- number of languages:</a> Managed C++, Java Script, Eiffel,
- Component Pascal, APL, Cobol, Perl, Python, Scheme,
- Smalltalk, Standard ML, Haskell, Mercury and Oberon.
-
- The CLR and the Common Type System (CTS) enables applications and
- libraries to be written in a collection of different languages that
- target the byte code
-
- This means for example that if you define a class to do algebraic
- manipulation in C#, that class can be reused from any other
- language that supports the CLI. You could create a class in C#,
- subclass it in C++ and instantiate it in an Eiffel program.
-
- A single object system, threading system, class libraries, and
- garbage collection system can be shared across all these languages.
-
-Q: Where can I find the specification for these technologies?
-
-A: You can find the information here:
-
-
- C# <a href="http://www.ecma.ch/ecma1/STAND/ecma-334.htm">http://www.ecma.ch/ecma1/STAND/ecma-334.htm</a>
-
- CLI <a href="http://www.ecma.ch/ecma1/STAND/ecma-335.htm">http://www.ecma.ch/ecma1/STAND/ecma-335.htm</a>
-
-Q: Will you implement the .NET Framework SDK class libraries?
-
-A: Yes, we will be implementing the APIs of the .NET Framework SDK
- class libraries.
-
-Q: Will you offer an ECMA-compliant set of class libraries?
-
-A: Eventually we will. Our current focus is on inter-operating
- with the Microsoft SDK, but we will also offer an ECMA compliant
- subset of the libraries.
-
-Q: What does the name "Mono" mean?
-
-A: Mono is the word for `monkey' in Spanish. We like monkeys.
-
-Q: Does Mono work today?
-
-A: The execution engine works on various platforms, we support
- Just-in-Time and Ahead-of-Time compilations on Intel x86 machines
- (and soon PowerPC).
-
- The class libraries are mature enough to run various real
- applications: our C# compiler, ASP.NET, and Gtk#-based
- applications.
-
-Q: When will you ship Mono?
-
-A: Please see the <a href="mono-roadmap.html">Mono Roadmap</a> for
- more details on the release plans.
-
-Q: How can I contribute?
-
-A: Check the <a href="contributing.html">contributing</a> section.
-
-Q: Aren't you just copying someone else's work?
-
-A: We are interested in providing the best tools for programmers to
- develop applications for Free Operating Systems. We also want to help
- provide the interoperability that will allow those systems to fit in
- with other standards.
-
- For more background, read the <a href="http://www.go-mono.com/rationale.html">Mono
- Project white paper</a>.
- the project.
-
-Q: Miguel said once that Mono was being implemented in COBOL. Is that true?.
-
-A: No. It was a joke.
-
-
-<a name="novell"></a>
-
-** The Novell Role in the Mono Project
-
-Q: Why is Novell working on .NET?
-
-A: Novell is interested in providing the best tools for programmers to
- develop applications for Free Operating Systems.
-
- For more information, read the project <a
- href="rationale.html">rationale</a> page.
-
-Q: Will Novell be able to take on a project of this size?
-
-A: Of course not. Novell is a supporter of the Mono project, but the only way
- to implement something of this size is for the entire free software
- community to get involved. Visit the <a href="contributing.html">contributing</a>
- page if you'd like to help out.
-
-Q: What pieces Novell be working on?
-
-A: We will devote most of our resources to work on the pieces which are
- on the critical path to release a development and execution
- environment. Once the project is at a stage where it is useful in
- the real world, it will achieve a critical mass of developers to
- improve it further.
-
-Q: Will Novell offer Mono commercially?
-
-A: When Mono is ready to be shipped Ximian will offer a commercial
- support and services for Mono. Mono components are also
- available to be licensed commercially. For licensing details,
- contact <a
- href="mailto:mono-licensing@ximian.com">mono-licensing@ximian.com</a>
-
-Q: Does Novell provide consulting services around Mono?
-
-A: Yes, Novell does provide consulting services around Mono to
- make it suitable to your needs. Porting the runtime engine,
- customizing it, working on specific classes or tuning the code
- for your particular needs.
-
- Please contact <a
- href="mailto:mono-licensing@ximian.com">mono-licensing@ximian.com</a>
- for consulting services information.
-
-Q: Will you wait until Mono is finished?
-
-A: Mono will ship on various stages as they mature. Some people
- require only a subset of the technologies, those will ship first,
- see the <a href="mono-roadmap.html">Mono Roadmap</a> for details
-
-<a name="gnome"></a>
-** Mono and GNOME
-
-Q: How is Mono related to GNOME?
-
-A: In a number of ways. This project was born out of the need of
- providing improved tools for the GNOME community, and will use
- existing components that have been developed for GNOME when they
- are available. For example, we plan to use Gtk+ and Libart to
- implement Winforms and the Drawing2D API and are considering
- GObject support.
-
- Mono team members work actively on the <a
- href="http://gtk-sharp.sf.net">Gtk#</a> project: a binding of the
- GNOME class libraries for .NET and Mono.
-
-Q: Has the GNOME Foundation or the GNOME team adopted Mono?
-
-A: Mono is too new to be adopted by those groups. We hope that the
- tools that we will provide will be adopted by free software
- programmers including the GNOME Foundation members and the GNOME
- project generally.
-
-Q: Should GNOME programmers switch over to Mono now?
-
-A: It is still far to early for discussions of "switching over." No
- pieces of Mono will be ready within the next six months, and a
- complete implementation is roughly one year away.
-
- We encourage GNOME developers to continue using the existing tools,
- libraries and components. Improvements made to GNOME will have an
- impact on Mono, as they would be the "back-end" for various classes.
-
-Q: Will Mono include compatibility with Bonobo components? What is the
- relationship between Mono and Bonobo?
-
-A: Yes, we will provide a set of classes for implementing and using
- Bonobo components from within Mono. Mono should allow you to write
- Bonobo components more easily, just like .NET on Windows allows you
- to export .NET components to COM.
-
-Q: Does Mono depend on GNOME?
-
-A: No, Mono does not depend on GNOME. We use a few packages produced by
- the GNOME team like the `glib' library, we also use other
- third-party open source libraries like Cairo and ICU.
-
-Q: But will I be able to build GNOME applications?
-
-A: Yes, we will enable people to write GNOME applications using Mono.
-
-Q: Do you have C# bindings for GNOME?.
-
-A: Yes, the <a href="http://gtk-sharp.sf.net">Gtk# project</a>
- provides bindings for Gtk+, Gdk, Atk, libgnome, libgnomecanvas, and
- libgnomeui. Other libraries under the GNOME framework will be
- added on an as-needed (and as-requested) basis.
-
-<a name="gui"></a>
-** GUI applications
-
-Q: Will Mono enable GUI applications to be authored?
-
-A: Yes, you will be able to build GUI applications. Indeed, that is
- our main focus. Today you can use Gtk# or #WT to develop GUI
- applications, and support for Windows.Forms is underway.
-
-Q: What is the difference between Gtk# and System.Windows.Forms?
-
-A: Gtk# is a set of bindings for the Gtk+ toolkit for C# (and other
- CIL-enabled languages), it integrates natively with the Gnome
- desktop. System.Windows.Forms is an API defined by Microsoft to
- build GUI applications.
-
- Windows.Forms is currently being implemented on top of a modified
- version of Wine that can be used as a library: WineLib.
-
-Q: Why not implement System.Windows.Forms on top of Gtk# or Qt#?
-
-A: Compatibility.
-
- Although it is possible to run simple Windows.Forms applications
- with the Gtk#-based backend of Windows.Forms, it is very unlikely
- that the implementation will ever implement everything needed for
- full compatibility with Windows.Forms.
-
- The reason is that Windows.Forms is not a complete toolkit, and to
- work around this problem some of the underlying Win32 foundation is
- exposed to the programmer in the form of exposing the Windows
- message handler (WndProc). Any control can override this method.
- Also developers often P/Invoke into Win32 to get to functionality
- that was not wrapped.
-
- To achieve full compatibility, we would have to emulate this, and
- it would take too long.
-
- For more details see the <a href="winforms.html">winforms page</a>
-
-Q: Wine applications do not look like native applications, what are
- you going to do about this?
-
-A: We have already a few patches into our version of Windows.Forms
- that makes Wine use the colors and font settings from your desktop,
- improving the integration a lot. In the future, we will continue
- to improve this interoperability scenario.
-
-Q: Will I be able to run my smart clients on systems powered by Mono?
-
-A: As long as your applications are 100% .NET and do not make use
- of P/Invoke to call Win32 functions, your smart client applications
- will run on Mono platforms.
-
-Q: Where can I learn more about Gtk#?
-
-A: The following <a href="http://gtk-sharp.sourceforge.net">link</a> sends you to the page of the project.
-
-Q: What can I do with Gtk#?.
-
-A: Gtk# is becoming very usable and you can create applications and
- applets like those you see in a GNOME desktop environment. It's
- easy to install so it's worth a try.
-
-Q: How can I compile my HelloWorld.cs which uses Gtk#?.
-
-A: Try: mcs -r:gtk-sharp HelloWorld.cs
-
-Q: Is there any way how to connect DataAdapter to some GTK# controls?
-
-A: There is a sample file called `DbClient' in gtk-sharp/samples that you
- might to look at. It is a sample program in Gtk# that adds/updates/deletes
- information on a Postgress database. When we have the new table/tree widgets,
- I am sure someone would write an adapter for System.Data (in Gtk2 the
- tree/list widgets are written using a view/model, so you only need to write
- a model that maps to the database). You can have a look at
- gtk-sharp/sample/DbClient, where there is a GTK# application that uses
- System.Data. It does not use DataAdapter, but DataReader though.
-
-Q: Do you have an estimate for when Windows.Forms will be released?
-
-A: The plan currently is aimed at Q3/2004.
-
-
-Q: Do you have a comparission chart about the various toolkit
- offerings?
-
-A: A document explaining this is available at: <a
- href="http://primates.ximian.com/~miguel/toolkits.html">http://primates.ximian.com/~miguel/toolkits.html</a>.
-
-<a name="msft"></a>
-** Mono and Microsoft
-
-Q: Is Microsoft helping Ximian with this project?
-
-A: There is no high level communication between Ximian and Microsoft
- at this point, but engineers who work on .NET or the ECMA groups
- have been very friendly, and very nice to answer our questions, or
- clarify part of the specification for us.
-
- Microsoft is interested in other implementations of .NET and are
- willing to help make the ECMA spec more accurate for this purpose.
-
- Ximian was also invited to participate in the ECMA committee
- meetings for C# and the CLI.
-
-Q: Are Microsoft or Corel paying Ximian to do this?
-
-A: No.
-
-Q: Do you fear that Microsoft will change the spec and render Mono
- useless?
-
-A: No. Microsoft proved with the CLI and the C# language that it was
- possible to create a powerful foundation for many languages to
- inter-operate. We will always have that.
-
- Even if changes happened in the platform which were undocumented,
- the existing platform would a value on its own.
-
-Q: Are you writing Mono from the ECMA specs?
-
-A: Yes, we are writing them from the ECMA specs and the published
- materials in print about .NET.
-
-Q: If my applications use Mono, will I have to pay a service fee?
-
-A: No. Mono is not related to Microsoft's initiative of
- software-as-a-service.
-
-Q: Is the Mono Project is related to the Microsoft Hailstorm effort? Is
- Ximian endorsing Hailstorm?
-
-A: No. The Mono Project is focused on providing a compatible set of
- tools for the Microsoft .NET development platform. It does not
- address, require, or otherwise endorse the MS Passport-based
- Hailstorm single sign-on system that is part of Windows XP and
- other services.
-
-Q: Will Mono or .NET applications depend on Microsoft Passport?
-
-A: No. MS Passport is unrelated to running .NET compatible applications
- produced with the Mono tools. The only thing you will need is a
- just-in-time compiler (JIT).
-
-Q: If Microsoft will release a port of their .NET platform under the
- `Shared Source' license, why should I bother with anything else?
-
-A: The Shared Source implementation will be expensive and its uses
- will be tightly restricted, especially for commercial use. We are
- working towards an implementation that will grant a number of
- important rights to recipients: use for any purpose,
- redistribution, modification, and redistribution of modifications.
-
- This is what we call <a
- href="http://www.gnu.org/philosophy/free-sw.html">Free Software</a>
-
-Q: Is Mono a free implementation of Passport?
-
-A: No. Mono is just a runtime, a compiler and a set of class
- libraries.
-
-Q: Will the System.Web.Security.PassportIdentity class mean
- that my software will depend on Passport?
-
-A: No. Applications may use that API to contact a Passport site, but
- are not required to do so.
-
- As long as your application does not use Passport, you will not
- need Passport.
-
-Q: Will Mono running on Linux make Passport available for Linux?
-
-A: No. However, the Passport toolkit for Linux-based web servers is
- available from Microsoft.
-
-Q: Will Mono allow me to run Microsoft Office on Linux?
-
-A: No, it will not. Microsoft Office is a Windows application. To
- learn more about running Windows applications on Intel Unix systems
- refer to <a href="http://www.winehq.com">the Wine Project</a>.
-
-Q: Can mono run the WebMatrix?
-
-A: No. That requires System.Windows.Forms support which is not
- currently implemented.
-
-Q: Does mono have something like Passport?
- Will mono have a server side Passport/Similar framework for XSP as well as client classes?
-
-A: Not yet, but the client side API for authentication is not the problem.
- We will likely have a lot of other authentication APIs, like the Liberty
- Alliance APIs. The problem is people on the web provider end that might use
- this for authentication.
-
-<a name="platforms"></a>
-** Mono Platforms
-
-Q: What operating systems does Mono run on?
-
-A: Mono is known to run on Linux, Unix and Windows systems.
-
-Q: Can I run Mono applications without using `mono program.exe'?
-
-A: Yes, this is possible on Linux systems, to do this, use something like:
-
-<pre>
-if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then
- /sbin/modprobe binfmt_misc
- mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
-fi
-
-if [ -e /proc/sys/fs/binfmt_misc/register ]; then
- echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
-else
- echo "No binfmt_misc support"
- exit 1
-fi
-</pre>
-
-Q: What architectures does Mono support?
-
-A: Mono today ships with a Just-in-Time compiler for x86-based
- systems. It is tested regularly on Linux, FreeBSD and Windows
- (with the XP/NT core).
-
- There is also an interpreter, which is slower that runs on the
- s390, SPARC and PowerPC architectures.
-
-Q: Can Mono run on Windows 9x, or ME editions?
-
-A: Mono requires Unicode versions of Win32 APIs to run,
- and only a handful of *W functions is supported under Win9x.
-
- There is Microsoft Layer for Unicode that provides implementation
- of these APIs on 9x systems.
-
- Unfortunately it uses linker trick for delayed load that is not
- supported by ld, so some sort of adapter is necessary.
-
- You will need MSLU and one of the following libs to link Mono to
- unicows.dll <a
- href="http://mono.eurosoft.od.ua/files/unimono.zip">http://mono.eurosoft.od.ua/files/unimono.zip</a>
- or alternatively search the net for "libunicows".
-
- No changes to Mono source code required, the only thing is to make
- sure that linker will resolve imports to adapter library instead of
- Win32 libs. This is achieved by inserting -lunimono before
- -lkerner32/user32 in the linker's specs file.
-
-Q: Why support Windows, when you can run the real thing?
-
-A: There are various reasons:
-
- <ul>
- <li> About half the contributors to Mono are Windows developers.
- They have many different for contributing to the effort, and
- we find it very important to let those developers run the runtime on Windows without forcing
- them to use a new operating system.
-
- <li> Supporting Windows helps us identify the portable portions
- of Mono from the non-portable versions of it, helping Mono
- become more portable in the future.
-
- <li> Mono does not heavily modify the windows registry, update system DLLs,
- install DLLs to the Windows/System32 path. Another words, I knew Mono would
- not cause any legacy enterprise applications to stop working - and it
- hasn't. However, our CIO er is againt it because of the changes that would
- be made to Windows 2000, such as, affecting security.
- </ul>
-
-<a name="compatibility"></a>
-** Compatibility
-
-Q: Can Mono run applications developed with the Microsoft.NET framework?
-
-A: Yes, Mono can run applications developed with the Microsoft .NET Framework
- on Unix. There are a few caveats to keep in mind: Mono has not
- been completed yet, so a few API calls might be missing; And in
- some cases the Mono behavior *might* be incorrect.
-
-Q: Will missing API entry points be implemented?
-
-A: Yes, the goal of Mono is to implement precisely the .NET Framework
- API (as well as compile-time selectable subsets, for those
- interested in a lighter version of Mono).
-
-Q: If the behavior of an API call is different, will you fix it?
-
-A: Yes, we will. But we will need your assistance for this. If you find a bug
- in the Mono implementation, please fill a bug report in <a
- href="http://bugzilla.ximian.com">http://bugzilla.ximian.com</a>.
- Do not assume we know about the problem, we might not, and using the bug tracking
- system helps us organize the development process.
-
-Q: Can I develop my applications on Windows, and deploy on a supported
- Mono platform (like Linux)?
-
-A: Yes, you can.
-
- As of today, Mono is not 100% finished, so it is sometimes useful
- to compile the code with Mono, to find out if your application
- depends on unimplemented functionality.
-
-Q: Will applications run out the box with Mono?
-
-A: Sometimes they will. But sometimes a .NET application might invoke
- Win32 API calls, or assume certain patterns that are not correct
- for cross-platform applications.
-
-Q: What is a 100% .NET application?
-
-A: A `100% .NET application' is one that only uses the APIs defined
- under the System namespace and does not use P/Invoke. These
- applications would in theory run unmodified on Windows, Linux,
- HP-UX, Solaris, MacOS X and others.
-
- Note that this requirement also holds for all assemblies used by the
- application. If one of them is Windows-specific, then the entire program
- is not a 100% .NET application.
-
- Furthermore, a 100% .NET application must not contain non-standard data
- streams in the assembly. For example, Visual Studio .NET will insert a
- <tt>#-</tt> stream into assemblies built under the "Debug" target.
- This stream contains debugging information for use by Visual Studio .NET;
- however, this stream can not be interpreted by Mono (unless you're willing
- to donate support).
-
- Thus, it is recommended that all Visual Studio .NET-compiled code be
- compiled under the Release target before it is executed under Mono.
-
-Q: Can I execute my Visual Studio .NET program (Visual Basic .NET, Visual C#,
- Managed Extensions for C++, etc.) under Mono?
-
-A: Yes, with some reservations.
-
- The .NET program must either be a 100% .NET application, or (somehow) have
- all dependent assemblies available on all desired platforms. (How to do so
- is outside the bounds of this FAQ.)
-
- Mono must also have an implementation for the .NET assemblies used. For
- example the System.EnterpriseServices namespace is part of .NET, but it
- has not been implemented in Mono. Thus, any applications using this
- namespace will not run under Mono.
-
- With regards to languages, C# applications tend to be most portable.
-
- Visual Basic .NET applications are portable, but Mono's
- Microsoft.VisualBasic.dll implementation is incomplete. It is recommended
- to either avoid using this assembly in your own code, only use the
- portions that Mono has implemented, or to help implement the missing
- features. Additionally, you can set 'Option Strict On', which
- eliminates the implicit calls to the unimplemented
- Microsoft.VisualBasic.CompilerServices.ObjectType class.
- (Thanks to JĂśrg Rosenkranz.)
-
- Managed Extensions for C++ is least likely to operate under Mono. Mono
- does not support mixed mode assemblies (that is, assemblies containing both
- managed and unmanaged code, which Managed C++ can produce). You need a
- fully-managed assembly to run under Mono, and getting the Visual C++ .NET
- compiler to generate such an executable can be difficult. You need to use
- only the .NET-framework assemblies, not the C libraries (you can't use
- <b>printf</b>(3) for example.), and you need to use
- the linker options <tt>/nodefaultlib /entry:main mscoree.lib</tt> in
- addition to the <tt>/clr</tt> compiler flag. You can still use certain
- compiler intrinsic functions (such as <b>memcpy</b>(3)) and the STL.
- You should also see <a
- href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmex/html/vcgrfconvertingmanagedextensionsforcprojectsfrommixed-modetopureil.asp"
- >Converting Managed Extensions for C++ Projects from Mixed Mode to Pure
- Intermediate Language</a> at MSDN.
- Finally, you can use PEVERIFY.EXE from the .NET SDK to determine if the
- assembly is fully managed.
-
- Thanks to Serge Chaban for the linker flags to use.
-
-<a name="pnpproject"></a>
-** Mono and Portable.NET
-
-Q: What are the differences between Mono and Portable.NET?
-
-A: Most of Mono is being written using C#, with only
- a few parts written in C (The JIT engine, the runtime, the
- interfaces to the garbage collection system).
-
- It is easier to describe what is unique about Mono:
- <ul>
- <li> An advanced native-code compilation engine: Both
- just-in-time compilation (JIT) and pre-compilation of CIL
- bytecodes into native code are supported.
-
- <li> A foundation for code optimization: The new code generator in
- Mono builds on the experience of our first JIT engine, and enables
- us to implement various advanced compiler optimization
- tricks. With an SSA-framework, plenty of new optimizations are possible.
-
- The current list of optimizations are: Peephole postpass,
- Branch optimizations, Inline method calls, Constant folding, Constant
- propagation, Copy propagation, Dead code elimination, Linear scan
- global reg allocation, Conditional moves, Emit per-domain code,
- Instruction scheduling, Intrinsic method implementations, Tail
- recursion and tail calls, Loop related optimizations, Fast x86 FP
- compares, Leaf procedures optimizations
-
- <li> A self-hosting C# compiler written in C#, which is clean, easy
- to maintain.
-
- <li> Focus on the .NET Framework: we are tracking down the .NET
- Framework API definition, as we believe it is the API people
- will be most familiar with.
-
- <li> A multi-platform runtime engine: both a JIT engine and an
- interpreter exist. The JIT engine runs currently on x86
- systems, while the interpreter works on SPARC, StrongARM,
- s390 and PowerPC systems.
-
- Our new compilation engine is being ported to the PowerPC.
-
- <li> Supports Linux, BSD, Windows and Solaris at this point.
-
- <li> The JIT engine is written using a portable instruction
- selector which not only generates good code but
- is also the foundation to re-target the JIT engine to other
- systems.
-
- <li> Full support for remoting in the runtime.
-
- <li> The C# compiler, the JIT engine and the class libraries are
- mature enough that the whole system has been self-hosting
- since April 2002. This means that we develop Mono
- completely with itself at this point.
-
- By forcing ourselves to use our own code to develop our
- tools, we bug fix problems rapidly, and the system is
- overall more robust and tested than if we did not.
-
- <li> We have a great community of developers, without which Mono
- would not be possible.
- </ul>
-
- In general, Mono is more mature and complete since it has been used
- to develop itself, which is a big motivator for stability and
- correctness, while Portable.NET remains pretty much an untested
- platform.
-
-Q: I hear Mono keeps changing the P/Invoke API, why?
-
-A: We are just fixing our implementation to be compatible with the
- Microsoft implementation. In other words, the Mono P/Invoke API is
- more complete when compared to the Portable.NET version, hence
- various pieces of software that depend on this extended
- functionality fail to work properly with Portable.NET.
-
-<a name="webservices"></a>
-** Web Services
-
-Q: How is Mono related to Web Services?
-
-A: Mono is only related to Web Services in that it will implement the
- same set of classes that have been authored in the .NET Framework
- to simplify and streamline the process of building Web Services.
-
- But most importantly, Mono is an Open Source implementation of the
- .NET Framework.
-
-Q: Can I author Web Services with Mono?
-
-A: You will be able to write Web Services on .NET that run on Mono and
- vice-versa.
-
-Q: If Mono implements the SDK classes, will I be able to write and
- execute .NET Web Services with it?
-
-A: Yes. When the project is finished, you will be able to use the
- same technologies that are available through the .NET Framework SDK
- on Windows to write Web Services.
-
-Q: What about Soup? Can I use Soup without Mono?
-
-A: Soup is a library for GNOME applications to create SOAP servers and
- SOAP clients, and can be used without Mono. You can browse the
- source code for soup using <a
- href="http://cvs.gnome.org/bonsai/">GNOME's Bonsai</a>.
-
-Q: Can I use CORBA?
-
-A: Yes. The CLI contains enough information about a class that
- exposing it to other RPC systems (like CORBA) is really simple, and
- does not even require support from an object.
-
- <a href="http://remoting-corba.sourceforge.net/">Remoting.CORBA</a> is
- a CORBA implementation that is gaining momentum.
-
- Building an implementation of the Bonobo interfaces once this is ready
- should be relatively simple.
-
-Q: Can I serialize my objects to other things other than XML?
-
-A: Yes, although the serializing tools have not yet been planned, and
- you would probably have to implement them yourself.
-
-Q: Will Mono use ORBit?
-
-A: There are a few advantages in using ORBit, like reusing existing code
- and leveraging all the work done on it. Michael Meeks has posted
- a few <a href="http://lists.ximian.com/archives/public/mono-list/2002-September/008592.html">reasons</a>,
- as well as some <a href="http://lists.ximian.com/archives/public/mono-list/2002-September/008657.html">ideas</a>
- that could be used to reuse ORBit.
-
- Most users are likely to choose a native .NET solution, like <a href="http://cvs.gnome.org/bonsai">Remoting.CORBA</a>
-
-
-<a name="monodoc"></a>
-** MonoDoc
-
-Q: What is MonoDoc?
-
-A: MonoDoc is a graphical documentation browser for the Mono class
- libraries. Currently, monodoc consists of a Gtk# application and is
- in heavy development.
-
-<a name="devel"></a>
-** Development Tools and Issues
-
-Q: I am having trouble compiling a new version of Mono from CVS, it
- complains about my runtime being out of sync.
-
-A: To upgrade your class libraries and compiler, see the
- INSTALL.txt in the MCS directory.
-
- The single biggest source of confusion seems to be the "Your
- runtime is out of sync" messages. Realize that this is *normal*
- while BUILDING. Think about it: you're building a new class
- library with the old runtime. If the new class library references
- a function that the old runtime knows nothing about, the runtime
- system issues this warning.
-
- Basically what needs to happen is for a new mono runtime to be
- compiled, then the corlib class library be compiled, and once this
- is done, install the new runtime, followed by corlib.
-
- Once this is done, you can continue building your entire
- environment.
-
- For instance you just need to:
- 1.- Upgrade your Mono runtime (you might better do it with the
- mono-build.sh script available in the <a
- href="http://www.go-mono.com">download</a> page.
- 2.- Get the latest mono-lite tarball from the daily snapshots
- <a href="http://www.go-mono.com/daily/">page</a>, unzip and
- untar and copy all the dll files to your install path lib
- directory (typically pointed by the $MONO_PATH variable).
- Copy all the exe files to the install path bin directory.
- 3.- Then checkout or update your mcs CVS copy. Then follow
- the steps described in mcs/INSTALL.txt.
-
-Q: Will it be possible to use the CLI features without using byte codes
- or the JIT?
-
-A: Yes. The CLI engine will be made available as a shared library.
- The garbage collection engine, the threading abstraction, the
- object system, the dynamic type code system and the JIT will be
- available for C developers to integrate with their applications if
- they wish to do so.
-
-Q: Will you have new development tools?
-
-A: With any luck, Free Software enthusiasts will contribute tools to
- improve the developer environment. These tools could be developed
- initially using the Microsoft implementation of the CLI and then
- executed later with Mono.
-
- We are recommending people to use and contribute to existing
- projects like SharpDevelop, Anjuta and Eclipse.
-
-Q: What kind of rules make the Common Intermediate Language useful for
- JITers?
-
-A: The main rule is that the stack in the CLI is not a general purpose
- stack. You are not allowed to use it for other purposes than
- computing values and passing arguments to functions or return
- values.
-
- At any given call or return instruction, the types on the stack
- have to be the same independently of the flow of execution of your
- code.
-
-Q: Is it true that the CIL is ideal for JITing and not efficient for
- interpreters?
-
-A: The CIL is better suited to be JITed than JVM byte codes, but you
- can interpret them as trivially as you can interpret JVM byte
- codes.
-
-Q: Isn't it a little bit confusing to have the name of "XSP" (the same
- as in the Apache Project) for the ASP.NET support in Mono?.
-
-A: In Mono, xsp is just the name of the C# code generator for ASP.NET
- pages. In the Apache Project, it is a term for the "eXtensible Server
- Pages" technology so as they are very different things, they don't
- conflict.
-
-Q: Is there any plan to develop an aspx server for Mono?.
-
-A: The XSP reference server is available and you can also use mod_mono
- with Apache.
-
-Q: Is there any way I can develop the class libraries using Linux yet?
-
-A: Yes. Mono has been self hosting since May 2002.
-
-Q: Is there any way I can install a known working copy of mono in /usr,
- and an experimental copy somewhere else, and have both copies use
- their own libraries? (I'm still not very good at library paths in
- Linux)
-
-A: Yes. Just use two installation prefixes.
-
-Q: How should I write tests or a tests suite?
-
-A: If you do a test suite for C#, you might want to keep it
- independent of the Mono C# compiler, so that other compiler
- implementations can later use it.
-
-Q: Would it be too terrible to have another corlib signed as mscorlib?
-
-A: We rename corlib to mscorlib also when saving the PE files, in fact,
- the runtime can execute program created by mono just fine.
-
-Q: Is it possible to build a C# file to some sort of intermediate format which
- can linked into a final module, like the traditional .c -> .o -> .so path?
-
-A: You can use:
-
- mcs /target:library file1.cs, mcs /target:library file2.cs,
- mcs /target:exe file1.dll file2.dll /out:mybin.exe
-
-Q: Is there any plans for implementing remoting in the near future?
-
-A: The remoting infrastructure is in place. We have implementations
- of the TcpChannel, HttpChannel and the Soap and Binary Formatters.
- They are compatible with .NET.
-
- However, some classes from the library may have a different binary
- representation, because they may have a different internal data
- structure, so for example you won't be able to exchange a Hastable
- object between Mono and MS.NET. It should not be a problem if you
- are using primitive types, arrays or your own classes. In any case,
- could you post a test case?
-
-
-Q: My C code uses the __stdcall which is not availble on Linux, how can I
- make the code portable Windows/Unix across platforms?
-
-A: Replace the __stdcall attribute with the STDCALL macro, and include this
- in your C code for newer gcc versions:
-
- #ifndef STDCALL
- #define STDCALL __attribute__((stdcall))
- #endif
-
-Q: I want to be able to execute Mono binaries, without having to use the "mono"
- command. How can I do this?
-
-A: From Carlos PerellĂł:
-
- <i>I think that the best solution is the binfmt feature with the
- wrapper that exists with Debian packages at:
-
- <a href="http://www.debianplanet.org/mono/dists/unstable/main/source/admin/">http://www.debianplanet.org/mono/dists/unstable/main/source/admin/</a>
-
- If you want use it with Big endian machines, you should apply a patch
- (<a href="http://carlos.pemas.net/debian/mono/binfmt-detector-cli.c.diff">http://carlos.pemas.net/debian/mono/binfmt-detector-cli.c.diff</a>)
-
- It works really good and lets you use wine also, it reads the .exe file
- headers and check if it's a .net executable.
-
- This way you just execute: ./my-cool-mono-application.exe and it works
- without the need of any wrapper.</i>
-
-Q: I see funny characters when I run programs, what is the problem?
-
-A: (From Peter Williams and Gonzalo Paniagua):
-
- This is Red Hat 9 (probably) using UTF8 on its console; the bytes are
- the UTF8 endianness markers. You can do:
-
- LC_ALL=C mono myexe.exe
-
- And they wont show up.
-
- Alternatively, you can do:
-
- $ echo -e "\033%G"
-
- to enable UTF-8 on the console.
-
-<a name="asp">
-** Mono and ASP.NET
-
-Q: Does Mono support ASP.NET?
-
-A: Yes.
-
- Mono supports ASP.NET, we have shown an unmodified IBuySpy
- installation running on Mono as well as various other programs. You can
- try it yourself downloading the XSP server.
-
-Q: Do I need install cygwin to work on ASP.NET in mono or Linux is enough since
- it is self host right now.
-
-A: Linux is enough.
-
-Q: How can I run ASP.NET-based applications with Mono?
-
-A: You need the Mono runtime and a hosting web server. Currently we distribute a
- small web server called `xsp' which is used to debug applications, or you can choose
- to use Daniel's Apache 2 module.
-
-Q: Any plan to make ASP.NET in mono works with Apache in Linux?.
-
-A: Daniel has authored an Apache2 Module for Mono that hosts the ASP.NET runtime
- and is available here: <a
- href="http://apacheworld.org/modmono/">http://apacheworld.org/modmono/</a>
-
-Q: Will you support Apache 1?
-
-A: Modules developed for Apache 2 are not compatible with Apache 1.3
- Daniel plans to support Apache 1.3 in the future but the current focus is on
- Apache 2, because of the better support for threading and Windows.
-
-Q: Can I run Apache 1 and Apache 2 on the same machine?
-
- You can always keep a copy of Apache 2 running in parallel with your Apache
- 1.3 (either different port or using a reverse proxy).
-
- You can also bind the two servers to different IP addresses on the
- same physical machine.
-
-<a name="ado">
-** Mono and ADO.NET
-
-Q: What is the status of ADO.NET support?. Could I start migrating
- applications from MS.NET to Mono?.
-
-A: You could start right now using the ADO.NET support in mono, of course,
- if you want to help filling the missing gaps while you develop your app
- :-) Well, what I mean is that we're not that far to having full ADO.NET
- support in Mono, and we've got a lot of working things, so if we could
- get more help, we'd finish it really soon :-)
-
-Q: In developing the data architecture for the application are there and
- objects I should stay away from in order to insure the smoothest possible
- transition (minimum code rewrite) to Mono's ADO.NET implementation? (For
- example, strongly typed datasets versus untyped datasets, etc...)
-
-A: We are implementing all the classes in Microsoft .NET's System.Data, so
- you can be sure that things will work the same in Mono as with the Microsoft
- implementation.
-
-Q: Does Mono can to connect to Sybase by using Mono.Data.*?
-
-A: Yes. use Mono.Data.SybaseClient. First of all you have to create a
- SybaseConnection, and then, from it, use it as any other
- IDbConnection-based class.
-
-<a name="java">
-** Mono and Java
-
-Q: Why don't you use Java? After all, there are many languages that
- target the Java VM.
-
-A: You can get very good tools for doing Java development on free
- systems right now. <a href="http://www.redhat.com">Red Hat</a> has
- contributed a <a href="http://gcc.gnu.org">GCC</a> <a
- href="http://gcc.gnu.org/java/">front-end for Java</a> that can take
- Java sources or Java byte codes and generate native executables; <a
- href="http://www.google.com/search?q=transvirtual">Transvirtual</a>
- implemented
- <a href="http://www.kaffe.org">Kaffe</a> a JIT engine for Java;
- Intel also has a Java VM called <a
- href="http://www.intel.com/research/mrl/orp/">ORP</a>.
-
- The JVM is not designed to be a general purpose virtual machine.
- The Common Intermediate Language (CIL), on the other hand, is
- designed to be a target for a
- wide variety of programming languages, and has a set of rules
- designed to be optimal for JITers.
-
-Q: Could Java target the CLI?
-
-A: Yes, Java could target the CLI, Microsoft's J# compiler does that.
-
- The <a href="http://weblog.ikvm.net/">IKVM</a> project builds a
- Java runtime that works on top of .NET and on top of Mono. IKVM is
- essentially a JIT compiler that translates from JVM bytecodes into
- CIL instructions, and then lets the native JIT engine take over.
-
-Q: Is it possible to write a JVM byte code to CIL converter?
-
-A: Yes, this is what <a href="http://weblog.ikvm.net">IKVM</a> does.
-
-Q: Could mono become a hybrid CIL/java platform?
-
-A: This can be obtained easily with IKVM.
-
-Q: Do you plan to implement a Javascript compiler?
-
-A: Yes. The beginnings of the JScript compiler can be found on CVS.
- Cesar coordinates this effort.
-
-Q: Can Mono or .NET share system classes (loaded from mscore.dll and other
- libs) or will it behave like Sun's Java VM?
-
-A: What you can do with mono is to load different applications in their own
- application domain: this is a feature of the CLR that allows sandboxing
- applications inside a single process space. This is usualy exploited to
- compartmentalize different parts of the same app, but it can also be
- effectively used to reduce the startup and memory overhead.
- Using different appdomains the runtime representation of types and
- methods is shared across applications.
-
-<a name="extending"></a>
-** Extending Mono
-
-Q: Would you allow other classes other than those in the
- specification?
-
-A: Yes. The Microsoft class collection is very big, but it is by no
- means complete. It would be nice to have a port of `Camel' (the
- Mail API used by Evolution inspired by Java Mail) for Mono
- applications.
-
- You might also want to look into implementing CORBA for Mono. Not
- only because it would be useful, but because it sounds like a fun
- thing to do, given the fact that the CLI is such a type rich
- system.
-
- For more information on extending Mono, see our <a
- href="ideas.html">ideas</a> page.
-
-Q: Do you plan to Embrace and Extend .NET?
-
-A: Embracing a good technology is good. Extending technologies in
- incompatible ways is bad for the users, so we do not plan on
- making incompatible changes to the technologies.
-
- If you have innovative ideas, and want to create new classes, we
- encourage you to make those classes operate correctly well in both
- Mono and .NET.
-
- Today Mono ships with a number of extra libraries that were
- developed either by members of the Mono community, or other
- groups.
-
- In some cases, we have found the bits from Microsoft to be
- incomplete, but we avoid breaking the API, instead we expose the
- missing functionality in new assemblies (See Mono.Security and
- System.Security).
-
-Q: Is there any way I can develop the class libraries using Linux yet?
-
-A: Yes. Mono has been selfhosting since March 2002.
-
-Q: Is there any way I can install a known working copy of mono in /usr,
- and an experimental copy somewhere else, and have both copies use
- their own libraries? (I'm still not very good at library paths in
- Linux)
-
-A: Yes. Just use two installation prefixes.
-
-
-<a name="portability"></a>
-** Portability
-
-Q: Will Mono only work on Linux?
-
-A: Currently, we are doing our work on Linux-based systems and
- Windows. We do not expect many Linux-isms in the code, so it
- should be easy to port Mono to other UNIX variants.
-
-Q: What about Mono on non Linux-based systems?
-
-A: Our main intention at Ximian is to be able to develop GNOME
- applications with Mono, but if you are interested in providing a
- port of the Winforms classes to other platforms (frame buffer or
- MacOS X for example), we would gladly integrate them, as long
- they are under an open source license.
-
-Q: What operating systems/CPUs do you support
-
-A: Mono currently runs on Linux, Windows, Solaris, FreeBSD, HP-UX and
- MacOS X.
-
- There is a JIT engine available for x86 processors that can
- generate code and optimizations tailored for a particular CPU.
-
- Interpreters exist for the SPARC v8, SPARC v9, Itanium, HP-PA,
- PowerPC and StrongARM CPUs.
-
-Q: Does Mono run on Windows?
-
-A: Yes. You can get pre-compiled
- binaries from <a href="http://www.go-mono.com/download.html">http://www.go-mono.com/download.html</a>
-
-Q: Does Mono run on Linux?
-
-A: Yes. You can get pre-compiled
- binaries from <a href="http://www.go-mono.com/download.html">http://www.go-mono.com/download.html</a>
-
-Q: Will I require Cygwin to run mono?
-
-A: No. Cygwin is only required to build Mono.
-
-Q: Will Mono depend on GNOME?
-
-A: It will depend only if you are using a particular assembly (for
- example, for doing GUI applications). If you are just interested
- in Mono for implementing a `Hello World Enterprise P2P Web
- Service', you will not need any GNOME components.
-
-Q: Do you plan to port Rhino to C#?.
-
-A: Eto Demerzal has started a Rhino port to C#.
-
-Q: Has anyone succeeded in building a Mac version of the C# environment.
- If so can you explain how?
-
-A: You could try to check with the Darwin people, or the Fink people.
- Mono/C# is self hosting on Linux/PPC which is the hard part, so it
- should be relatively simple to get it to work on MacOS
-
-<a name="reuse"></a>
-** Reusing Existing Code
-
-Q: What projects will you reuse or build upon?
-
-A: We want to get Mono in the hands of programmers soon. We are
- interested in reusing existing open source software.
-
-Q: Will I be able to use Microsoft SQL Server 2000 or will I need to switch
- to a specific Open Source Database. Will I need to recode?
-
-A: There is no need to rewrite your code as long as you keep using
- Microsoft SQL Server. If you want to use an open source database,
- you might need to make changes to your code.
-
-Q: What do I need to watch out for when programming in VB.NET so that I'm
- sure to be able to run those apps on Linux?
-
-A: Not making any P/Invoke or DLL calls should and not using anything in
- the Microsoft.* namespaces should suffice. Also do not use any
- Methods/Classes marked as "This type/method supports the .NET Framework
- infrastructure and is not intended to be used directly from your code."
- even if you know what these classes/methods do.
-
-Q: Will built-in reporting be supported for crystal reports? This is a
- heavily used part of our system.
-
-A: . Crystal Reports are propriety. Someone may try to emulate
- the behavior, but no-one has yet volunteered.
-
-Q: Who about writing to the registry? As I understand it, Linux does not have
- a counterpart to the registry. Should I avoid relying on that feature?
-
-A: Try to avoid it. Although there would be a emulation for registry in
- Mono too. GNOME does have a registry like mechanism for configuration. But
- Even if gnome has a configuration system similar to the registry, the keys
- will not be equal, so you will probably end up having to do some runtime
- detection, and depending on this load an assembly that has your
- platform-specific hacks.
-
-Q: System.Data.SqlClient with FreeTDS, will you port parts of these to C# and
- use them?
-
-A: This has been done.
-
-<a name="gcc"></a>
-** Mono and GCC
-
-Q: Are you working on a GCC front-end to C#? A GCC back-end that will
- generate CIL images?
-
-A: We would love to see a GCC modification that would generate CIL
- images, but there is nothing at this point.
-
-Q: What about making a front-end to GCC that takes CIL images and
- generates native code?
-
-A: There is no active work on this area, but Mono already provides
- pre-compilation services (Ahead-of-Time compilation).
-
-Q: But would this work around the GPL in the GCC compiler and allow
- people to work on non-free front-ends?
-
-A: People can already do this by targeting the JVM byte codes (there
- are about 130 compilers for various languages that target the JVM).
-
-<a name="performance"></a>
-** Performance
-
-Q: How fast will Mono be?
-
-A: We can not predict the future, but a conservative estimate is that
- it would be at least `as fast as other JIT engines'.
-
- Mono's JIT engine has been recently re-architected, and it provides
- many new features, and layers suitable for optimization. It is
- relatively easy to add new optimizations to Mono.
-
- The CIL has some advantages over the Java byte code: it is really
- an intermediate representation and there are a number of
- restrictions on how you can emit CIL code that simplify creating
- better JIT engines.
-
- For example, on the CIL, the stack is not really an abstraction
- available for the code generator to use at will. Rather, it is a
- way of creating a postfix representation of the parsed tree. At
- any given call point or return point, the contents of the stack are
- expected to contain the same object types independently of how the
- instruction was reached.
-
-<a name="licensing"></a>
-** Licensing
-
-Q: Will I be able to write proprietary applications that run with
- Mono?
-
-A: Yes. The licensing scheme is planned to allow proprietary
- developers to write applications with Mono.
-
-Q: What license or licenses are you using for the Mono Project?
-
-A: The C# Compiler is released under the terms of the <a
- href="http://www.opensource.org/licenses/gpl-license.html">GNU GPL</a>. The runtime
- libraries are under the <a
- href="http://www.opensource.org/licenses/lgpl-license.html">GNU
- Library GPL</a>. And the class libraries are released
- under the terms of the <a
- href="http://www.opensource.org/licenses/mit-license.html">MIT X11</a>
- license.
-
- The Mono runtime and the Mono C# Compiler are also available under
- a proprietary license for those who can not use the LGPL and the
- GPL in their code.
-
- For licensing details, contact <a
- href="mailto:mono-licensing@ximian.com">mono-licensing@ximian.com</a>
-
-
-Q: I would like to contribute code to Mono under a particular
- license. What licenses will you accept?
-
-A: We will have to evaluate the licenses for compatibility first,
- but as a general rule, we will accept the code under the same
- terms of the "container" module.
-
-<a name="patents"></a>
-** Patents
-
-Q: Could patents be used to completely disable Mono (either submarine
- patents filed now, or changes made by Microsoft specifically to
- create patent problems)?
-
-A: First some background information.
-
- The .NET Framework is divided in two parts: the ECMA/ISO covered
- technologies and the other technologies developed on top of it like
- ADO.NET, ASP.NET and Windows.Forms.
-
- Mono implements the ECMA/ISO covered parts, as well as being a
- project that aims to implement the higher level blocks like
- ASP.NET, ADO.NET and Windows.Forms.
-
- The Mono project has gone beyond both of those components and has
- developed and integrated third party class libraries, the most
- important being: Debugging APIs, integration with the Gnome
- platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI),
- Mozilla, OpenGL, extensive database support (Microsoft only
- supports a couple of providers out of the box, while Mono has
- support for 11 different providers), our POSIX integration
- libraries and finally the embedded API (used to add scripting to
- applications and host the CLI, or for example as an embedded
- runtime in Apache).
-
- The core of the .NET Framework, and what has been patented by
- Microsoft falls under the ECMA/ISO submission. Jim Miller at
- Microsoft has made a statement on the patents covering ISO/ECMA,
- (he is one of the inventors listed in the patent): <a
- href="https://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00218.html">here</a>.
-
- Basically a grant is given to anyone who want to implement those
- components for free and for any purpose.
-
- The controversial elements are the ASP.NET, ADO.NET and
- Windows.Forms subsets. Those are convenient for people who need
- full compatibility with the Windows platform, but are not required
- for the open source Mono platform, nor integration with today's
- Mono's rich support of Linux.
-
- The Mono strategy for dealing with these technologies is as
- follows: (1) work around the patent by using a different
- implementation technique that retains the API, but changes the
- mechanism; if that is not possible, we would (2) remove the pieces
- of code that were covered by those patents, and also (3) find prior
- art that would render the patent useless.
-
- Not providing a patented capability would weaken the
- interoperability, but it would still provide the free software /
- open source software community with good development tools, which
- is the primary reason for developing Mono.
-
- The patents do not apply in countries where software patents are
- not allowed.
-
- For Linux server and desktop development, we only need the ECMA
- components, and things that we have developed (like Gtk#) or Apache
- integration.
-
-Q: Is Mono only an implementation of the .NET Framework?
-
-A: Mono implements both the .NET Framework, as well as plenty of class
- libraries that are either Unix specific, <a
- href="http://www.gnome.org">Gnome</a> specific, or that are not
- part of the .NET Framework but people find useful.
-
- The following map shows the relationship between the components:
-
- <img src="http://primates.ximian.com/~miguel/tmp/map.png">
-
-<a name="obfuscation"></a>
-** Obfuscation
-
-Q: Are there any obfuscation programs for Mono/Linux?
-
-A: We are not aware of these, but some from Windows might work.
-
-Q: What could I do to avoid people decompiling my program?
-
-A: You can use the bundle functionality in Mono.
-
- This would bundle your binary inside a Mono runtime instance, so
- you distribute a single executable that contains the code inside.
- Notice that for this to work and be practical, you need to get a
- commercial license to the Mono runtime.
-
- The reason is that the bundle functionality is covered by the LGPL:
- so you would have to distribute your assemblies separatedly to allow
- developers to relink mono which would defeat the purpose of bundling
- for obscuring your code.
-
- It is not impossible to break, just like any other obfuscators.
-
- That being said, value these days does not lie in particular
- tiny routines, but lies in the large body of work, and if someone
- steals your code, you are likely going to find out anyways.
-
-Q: Any other option?
-
-A: You could precompile with --aot your code, then disassemble the
- original .exe, and remove all the code, then re-assemble and ship
- both the vessel .exe and the precompiled code.
-
- This is not a supported configuration of Mono, and you would be
- on your own in terms of dealing with bugs and problems here.
-
- Get the companies that build the obfuscation packages to read
- the ECMA spec and fix the bugs in their products that generate
- non-standard binaries (or, if they expose a bug in mono, please
- file a report in our bugzilla).
-
- Pay Ximian/Novell to spend the development time needed to get mono
- to support the broken binaries that some of the obfuscation
- packages generate (or contribute that support).
-
-<a name="etc"></a>
-** Miscellaneous Questions
-
-Q: You say that the CLI allows multiple languages to execute on the
- same environment. Isn't this the purpose of CORBA?
-
-A: The key difference between CORBA (and COM) and the CLI is that the
- CLI allows "data-level interoperability" because every
- language/component uses the same data layout and memory management.
-
- This means you can operate directly upon the data types that someone
- else provides, without having to go via their interfaces. It also
- means you don't have to "marshal" (convert) parameters (data
- layouts are the same, so you can just pass components directly) and
- you don't have to worry about memory management, because all
- languages/components share the same garbage collector and address
- space. This means much less copying and no need for reference
- counting.
-
-Q: Will you support COM?
-
-A: The runtime will support XPCOM on Unix systems and COM on Windows.
- Most of the code for dynamic trampolines exists already.
-
-Q: Will Ximian offer certifications on Mono or related technologies?.
-
-A: It's possible. But there is no plan about this. So the short answer is no.
-
-Q: How can I report a bug?
-
-A: The best thing is to track down the bug and provide a simple test
- to reproduce the bug. You can then add the bug to our bug tracking
- system. You can use our <a href="bugs.html">Bug Form</a> to enter
- bugs for the appropriate component.
-
- Please provide information about what version of mono you're using
- and any relevant details to be able to reproduce the bug. Note that
- bugs reported on the mailing-list may be easily forgotten, so it's
- better to file them in the <a href="http://bugzilla.ximian.com/enter_bug.cgi">bug tracking system</a>.
-
-Q: Does mcs support the same command line options as the MS C#
- compiler?
-
-A: The Mono C# compiler now supports the same command line
- arguments as the Microsoft C# compiler does.
-
-Q: How about getting searchable archives on lists.ximian.com?
-
-A: You can perform a search on the mono-related mailing lists
- <a href="http://www.go-mono.com/mailing-lists.html">here</a>.
-
-Q: When using mono from cvs or from a snapshot, I get an error messaage
- saying that Mono and the runtime are out of sync. How do I fix that?
-
-A: If you use mono from cvs, you need to be prepared for changes in the
- runtime internals. This means that you should keep a working setup
- before blindling updating (a working setup may just be the last released
- tarball or a recent binary snapshot).
- Usually, compiling corlib with mcs before recompiling the C runtime does
- the right thing (but occasionally you may need to do it the other
- way around).
-
-Q: Why are you going for a GtkHtml implementation?
-
-A: GtkHTML is just a lightweight HTML rendering engine that does not
- support CSS, so we need it to look decent for those of us that will
- be using the documentation in our day-to-day work on Linux. The
- Web-based interfaces lack the agility that you get from a native GUI
- tool to browse your documentation. Probably later on, we will write
- scripts and generate a full documentation set that is web-browsable,
- but we need a command-line and GUI tools that we can use natively on
- Linux when disconnected from the Web (and that has better
- interactions than a web page).
-
-Q: Is there a command-line tool that allows me to access .NET interactively?
-
-A: There are several but one that is free software and uses MCS is the one
- Dennis Lu from Rice University is working on; a REPL C# interpreter.
-
-Q: Is it possible to use Visual C++ with Mono?.
-
-A: It's possible to run VC++ generated apps under Mono, but we do not
- provide a Manager C++ compiler ourselves.
-
-Q: Does Mono support generics?.
-
-A: Mono doesn't support generics currently but a lot of work is being
- done towards it.
-
-<a name="problems"></a>
-** Mono Common Problems
-
- If you are having problems compiling or running Mono software
- or if you think that you found a bug, etc. Please visit the
- <a href="http://monoevo.sf.net/mono-common-problems.html">Mono Common Problems</a> document and try there.
-
-** Credits
-
- The FAQ contains material contributed by Miguel de Icaza, Jaime Anguiano, Lluis Sánchez.
diff --git a/doc/firebird b/doc/firebird
deleted file mode 100755
index fd193c4fdc0..00000000000
--- a/doc/firebird
+++ /dev/null
@@ -1,138 +0,0 @@
-* Firebird and Interbase Data Provider
-
-<ul>
- <li>ADO.NET Data Provider for Firebird and Interbase databases</li>
-
- <li>Does not exist in Mono, but is a separate project</li>
-
- <li>The <a href="http://firebird.sourceforge.net/index.php">Firebird Relational Database</a> is
- is an independent project which uses source code based on the Interbase source code released
- by Borland under the Interbase Public License</li>
-
- <li>Both the Firebird Relational Database and the Firebird .NET Data Provider can be
- downloaded from <a href="http://sourceforge.net/projects/firebird/">here</a></li>
-
- <li>The Firebird .NET Data provider has been made
- available by Carlos Guzmán Álvarez (aka "Carlos G.A."), who has also made a
- number of contributions to the OdbcJdbc code</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>Current stable version: 1.5</li>
-
- <li>Current developement version: 1.6</li>
-
- <li>The new data provider/driver is written in C# and provides a high-performance native
- implementation of the GDS32/API functions. This means that .Net developers
- will be able to access Firebird databases without the need of Firebird
- client install</li>
-
- <li>In support of the new module, a new mailing list
- <a href="http://lists.sourceforge.net/lists/listinfo/firebird-net-provider">firebird-net-provider</a> has
- been created. Please use this list for any
- questions that you may have about the provider</li>
-</ul>
-
-** New features & enhancements in 1.6 version
-
-<ul>
- <li>Firebird Embedded Server support.</li>
- <li>New FbScript class implementation.</li>
-</ul>
-
-** Testing
-
-<ul>
-
- <li>Need a working mono and mcs</li>
-
- <li>Need access to a Firebird Relational Database or you can download
- it from <a href="http://firebird.sourceforge.net">here</a></li>
-
- <li>Get the Firebird .NET data provider from here as
- <a href="http://lists.sourceforge.net/lists/listinfo/firebird-net-provider">firebird-net-provider</a>. Make
- sure the Firebird .NET data provider binary assembly FirebirdSql.Data.Firebird.dll is
- installed in the same place as the mono class libraries.</li>
-
- <li>Has a ConnectionString format:
-<pre>
- "Database=databasefile.gdb;User=user;Password=pass;Dialect=3;Server=hostname"
-</pre>
-
- </li>
-
- <li>C# Example:
-
-<pre>
- using System;
- using System.Data;
- using FirebirdSql.Data.Firebird;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Database=C:\\PROGRAM FILES\\FIREBIRD\\EXAMPLES\\EMPLOYEE.GDB;" +
- "User=SYSDBA;" +
- "Password=masterkey;" +
- "Dialect=3;" +
- "Server=localhost";
-
- IDbConnection dbcon = new FbConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- string sql = "SELECT * FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- object dataValue = reader.GetValue(0);
- string sValue = dataValue.ToString();
- Console.WriteLine("Value: " + sValue);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r FirebirdSql.Data.Firebird.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r FirebirdSql.Data.Firebird.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
-</li>
-
-</ul>
-
diff --git a/doc/forge b/doc/forge
deleted file mode 100644
index 3f85b3dc897..00000000000
--- a/doc/forge
+++ /dev/null
@@ -1,72 +0,0 @@
-* Novell Forge
-
- Novell Forge (<a
- href="http://forge.novell.com/">http://forge.novell.com/</a>)
- is a website managed by Novell to promote the development of
- open source applications and solutions. Novell Forge features
- communities, akin to foundries on SourceForge.net, which exist
- for the purpose of facilitating collaboration and information
- exchange about certain technologies or solutions. At Miguel's
- request, we have created a Mono community on Novell Forge that
- is administered by Miguel. This community, located at
- http://forge.novell.com/modules/xfmod/community/?monocomm,
- provides a resource for interaction and collaboration on Mono
- and associated solutions. Each community has the ability to
- provide forums, mailing lists, FAQs, news, documentation,
- surveys, sample code, and links to related applications. The
- Mono community has been created for anyone interested in Mono
- to use, and the exact set of features offered at the community
- is determined by Miguel.
-
- Any individual or group that wishes to provide Mono-based solutions in
- an open source fashion is encouraged to host their solution on the
- Novell Forge website, free of charge. Once the project is hosted on
- Novell Forge, you can send Miguel an e-mail requesting that your project
- be associated with the Mono project. This promotes a symbiotic
- relationship where the growth of Mono applications helps to improve
- Mono, and the growth of Mono likewise helps to increase the visibility
- and usefulness of your applications.
-
-* Creating an Account
-
- A Novell Forge account is required in order to create a project on
- Novell Forge as well as for certain levels of participation within a
- community like the Mono community. In order to create an account, do
- the following:
-
- <ul>
-
- <li>Go to http://forge.novell.com/ and click on the "Register" link.
-
- <li>You will be redirected to the Novell Login page. This one resource
- is used by all of Novell's websites that require authentication, so if
- you already have a Novell login you may use that login here. Otherwise,
- simply create a login account.
-
- <li>You will be redirected back to the Novell Forge page. Click on the
- "create my Novell Forge account" link, near the top left of the page.
-
- <li>A form should be filled in with the correct information for you.
- If you like, choose an avatar and then submit the form.
-
- <li>Confirm the creation of your account.
- </ul>
-
-
- You should be good to go at this point. Now, to create a project,
- simply choose the "Start New Project" link from the left menu and follow
- the steps.
-
- Novell Forge offers a limited set of context-sensitive help links and a
- full help section. If you have trouble, go to the help section at
- http://forge.novell.com/modules/xfmod/help/about.php.
-
-
-* Important Links:
-
- Novell Forge - <a href="http://forge.novell.com/">http://forge.novell.com/</a>
-
- Mono Community - <a href="http://forge.novell.com/modules/xfmod/community/?monocomm">http://forge.novell.com/modules/xfmod/community/?monocomm</a>
-
- Novell Forge Help - <a href="http://forge.novell.com/modules/xfmod/help/about.php">http://forge.novell.com/modules/xfmod/help/about.php</a>
-
diff --git a/doc/gcc-frontend b/doc/gcc-frontend
deleted file mode 100644
index c892749c036..00000000000
--- a/doc/gcc-frontend
+++ /dev/null
@@ -1,7 +0,0 @@
-* The GCC front-end
-
- Jeremy Singer has developed a .NET backend for GCC, his
- research work is available <a
- href="http://www.cl.cam.ac.uk/~jds31/research/gccnet/">here</a>.
-
-
diff --git a/doc/gtk-sharp b/doc/gtk-sharp
deleted file mode 100644
index 1630277d618..00000000000
--- a/doc/gtk-sharp
+++ /dev/null
@@ -1,157 +0,0 @@
-* Gtk#
-
- <a href="http://gtk-sharp.sourceforge.net">Gtk#</a> (Gtk
- sharp) is a set of C# language bindings for the
- <a href="http://www.gtk.org">Gtk+</a> toolkit and other
- libraries that are part of the
- <a href="http://www.gnome.org">GNOME</a> platform .
-
-* Wiki
-
- There is a <a
- href="http://www.nullenvoid.com/gtksharp/wiki/index.php/">Gtk#
- Wiki</a>. You are encouraged to contribute to it.
-
-** API of Gtk#
-
- The Gtk# API is documented using the ECMA XML document format, you can read
- more about it <a href="documentation.html">here</a>. You can
- also use the MonoDoc tool that ships with Gtk# documentation.
-
-** Where to learn more.
-
- Visit the official site for the <a href="http://gtk-sharp.sourceforge.net">Gtk# Project</a>.
- The <a href="http://www.go-mono.org/faq.html">Mono FAQ</a> has some useful
- information too.
-
-** GTK# On Linux
-
-<p>Where to get distributions of GTK# for Linux:
- <ul>
- <li><a href="http://gtk-sharp.sourceforge.net">RPMs</a></li>
- <li><a href="http://www.debianplanet.org/mono/">Debs</a></li>
- </ul>
-
-<p>Buidling on Linux:
-
-<ul>
- <li>Get GTK# source from <a href="http://gtk-sharp.sourceforge.net">Gtk# Project</a>.</li>
- <li>run ./autogen.sh --prefix=my_mono_installation_prefix</li>
- <li>make</li>
- <li>make install</li>
-</ul>
-
-** GTK# On Windows
-
-<p>Look at our Wiki for installation instructions <a href="http://www.nullenvoid.com/gtksharp/wiki/index.php/InstallingBeginnersGuide">here</a>
-
-
-<p>If you want to build GTK# yourself on Windows:
-
-<p>To build gtk# under windows, you will need the following:
-
-<ul>
- <li>cygwin from <a href="http://www.cygwin.com/">here</a> When installing Cygwin via setup.exe,
- by default binutils and other tools do not get installed; you have to make
- sure to select these items. Just make
- sure Base and Development are set to Install.</li>
- <li>Mono 0.17 or later from <a href="http://www.go-mono.com/download.html">here</a>
- You can use Windows Setup Wizard (NT/2000/XP).</li>
- <li>GTK+ 2.0 (and dependencies). You can obtain gtk+ 2.0 by either of the
-following:
- <ul>
- <li>You can get a Windows Installer at:
- <a href="http://www.dropline.net/jade/download.html">here</a> </li>
- <li>or get the separate binary and dev/lib packages at
- at <a href="http://www.gimp.org/~tml/gimp/win32/downloads.html">here</a> </li>
- <li>or binary package from Dev-C++ site <a href="http://www.bloodshed.net/dev/packages/gtk.html">here</a> </li>
- <li>or get Gtk4Win <a href="http://wingtk.sourceforge.net/index.html">here</a> </li>
- <li>or the source at <a href="http://www.gtk.org/">here</a> </li>
- </ul>
- </li>
- <li>binary distriubtion of a current web browser
- like Internet Explorer 4.0, Mozilla 1.0, or Netscape 7.0 which
- includes things like msvcrt.dll.</li>
- <li>Microsoft .NET Framework at
- <a href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">here</a> </li>
-
-
-<p>Environment Variables to set:
-<ul>
-<li>PATH - set to your mono installation bin and lib path.
- For example, my mono installation prefix is:
-<pre>
-F:/cygwin/home/DanielMorgan/mono/install
-</pre>
- <p>So, I would set my PATH in the Windows Control Panel as:
-<pre>
-F:/cygwin/home/DanielMorgan/mono/install/bin;F:/cygwin/home/DanielMorgan/mono/install/lib</li>
-</pre>
-</li>
-<li>LD_LIBRARY_PATH - set to your mono installation lib path</li>
-<li>PKG_CONFIG_PATH - set to your mono installation lib/pkgconfig path, such
- as,
-<pre>
- F:/cygwin/home/DanielMorgan/mono/install/lib/pkgconfig</li>
-</pre>
-
- <p>If you got the gtk-sharp source, cd to the gtk-sharp directory, type:
-<pre>
- ./autogen.sh --prefix=~/mono/install
-</pre>
-
- <p>Set your --prefix= to whatever your mono installation prefix is located.
- This will take awhile to go through the ./autogen.sh and ./configure...
-
- <p>After that it finishes succesfully, you run make with the makefile.win32
- like:
-<pre>
- make -f makefile.win32
-</pre>
-
- <p>After that finishes succesfully, you can copy to your mono installation lib
- path like:
-<pre>
- cp */*.dll ~/mono/install/lib
-</pre>
-</ul>
-
-<p>The pkg-config files for
-gtk+ 2.0 and dependencies will need to be set correctly if they haven't
-already been.
-
-<p>Look in your mono installation/lib/pkgconfig, such as,
-<pre>
-F:/cygwin/home/DanielMorgan/mono/install/lib/pkgconfig
-</pre>
-
-<p>You will find files like: gtk+-2.0.pc
-
-<p>Edit the line that says
-
-<pre>
- prefix=something
-</pre>
-
-<p>And set it to your mono installation prefix, such as,
-
-<pre>
- prefix=F:/cygwin/home/DanielMorgan/mono/install
-</pre>
-
-<p>Do this for all the .pc files in that directory. If there are not any, then
-you will need to create them. Or get them from somewhere like the dev
-packages at
-<a href="http://www.gimp.org/~tml/gimp/win32/downloads.html">here</a>
-
-** GTK# On FreeBSD
-
- TODO. Any volunteers?
-
-** GTK# On Solaris
-
- TODO. Any volunteers?
-
-** GTK# On AIX
-
- TODO. Any volunteers?
diff --git a/doc/hackers b/doc/hackers
deleted file mode 100644
index 610c6a11fde..00000000000
--- a/doc/hackers
+++ /dev/null
@@ -1,39 +0,0 @@
-* Mono Hackers Hall Of Fame
-
-Without the help, the skills and the time of many passionate developers outside of
-the Ximian Mono team, Mono would not be where it is today.
-
-Many of them do it for fun, some do it because they really want a nice CLR they
-can hack on, some do it because they need a working solution to some development
-issues and mono is the ideal tool for the job.
-
-Some of them may start contributing because they want a mention in the
-<b>Mono Hackers Hall Of Fame</b>! Whatever the cause, join us in a big<br>
-<h1 align="center">Thank you!</h1>
-
-* Mono Hackers
-
-** Zoltan Varga
-
-Zoltan has contributed significantly to Mono, with bug reports and bug
-fixes as well as pushing the envelope of the things that can be done in
-and with the mono runtime: the gcc-based ngen compiler, code coverage
-and more recently his work with Reflection.Emit that got mono to the
-point of running the IKVM Java virtual machine.
-
-** Sergey Chaban
-
-Sergey has been a long time contributor to the project, from the early
-work on the class libraries that were critical to Mono's origin: every
-time you use a Hashtable in Mono, it runs Sergey's code, to the
-low-level optimizations on the JIT engine and to his work on ILASM and
-the PEToolkit. And countless other things.
-
-** Nick Drochak
-
-The first, deserved, entry in the <b>Mono Hackers Hall Of Fame</b> is for
-Nick Drochak, who joined us in the first days of Mono and built the testing
-infrastructure for the C# assemblies, fixed tons of bugs and even adventured
-himself in the lands of the C runtime. His work is invaluable for keeping
-Mono on the right track through the daily changes in the codebase.
-
diff --git a/doc/ibmdb2 b/doc/ibmdb2
deleted file mode 100755
index 0e395fffd38..00000000000
--- a/doc/ibmdb2
+++ /dev/null
@@ -1,157 +0,0 @@
-* IBM DB2 Data Provider
-<ul>
- <li>ADO.NET Data Provider for <a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a></li>
-
- <li>Exists in namespace DB2ClientCS and assembly Mono.Data.DB2Client</li>
-
- <li>The source code exists at mcs/class/Mono.Data.DB2Client</li>
-
- <li>Requires the Call Level Interface to IBM DB2 shared library. This
- is db2cli.dll on Windows. The IBM DB2 CLI API is very similar to the ODBC API. If
- you take a look at Mono's <a href="http://www.go-mono.com/odbc.html">System.Data.Odbc</a> ODBC provider, you will see the
- DllImport's have similiar function names.</li>
-
- <li>IBM DB2 Provider created by Christopher Bockner.</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>Compiles on Windows and Linux. Works on Windows. Still needs to be tested on Linux.</li>
-
- <li>Able to connect to IBM DB2</li>
-
- <li>Able to execute DML, such as, CREATE TABLE via ExecuteNonQuery()</li>
-
- <li>Christopher says it can retrieve data via the DB2ClientDataReader</li>
-
-</ul>
-
-** Action Plan
-
-<ul>
- <li>Still needs work to get it to retrieve data via ExecuteReader() and
- use the data reader to read data.</li>
-
-</ul>
-
-** Testing
-
-In order to test.
-<ul>
- <li>Have working mono and mcs setup</li>
-
- <li>Have access to an IBM DB2 database. If you do not have access, download the
- <a href="http://www-306.ibm.com/software/data/db2/">IBM DB2</a> software. There
- are versions for Windows, Linux, AIX, and Sun Solaris.</li>
-
- <li>Make sure the assembly Mono.Data.DB2Client.dll was built and installed
- where the other class libraries are installed.</li>
-
- <li>If you do not have the source to mcs, get the source from
- <a href="http://www.go-mono.com/download.html">here</a></li>
-
- <li>Has a ConnectionString format like ODBC</li>
-
- <li>Here is a ConnectionString format if you have a DSN setup:
-<pre>
- "DSN=dataSetName;UID=myuserid;PWD=mypassword"
-</pre>
- </li>
-
- <li>Here is a ConnectionString format if you do not have a DSN (have not
- gotten this to work though, so, I am open to suggestions):
-<pre>
- "DRIVER={DB2 Driver};SERVER=localhost;DATABASE=test;UID=myuserid;PASSWORD=mypassword"
-</pre>
- </li>
-
- <li>In mcs/class/Mono.Data.DB2Client/Test/DBConnTest, you will find
- a DBConnTest.cs.</li>
-
- <li>To build DBConnTest:
- <ul>
- <li>On Unix:</li>
-<pre>
-mcs DBConnTest.cs -r System.Data.dll -r Mono.Data.DB2Client.dll
-</pre>
- </li>
- <li>On Windows via Cygwin:
-<pre>
-mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe DBConnTest.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Mono.Data.DB2Client.dll
-</pre>
- </li>
- <li>To run it on mono:
-<pre>
-mono DBConnTest.exe database userid password
-</pre>
- </li>
- </ul>
- </li>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.DB2Client;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "DSN=sample;UID=db2admin;PWD=mypass";
- IDbConnection dbcon = new DB2ClientConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- string sql =
- "CREATE TABLE mono_db2_test1 ( " +
- " testid varchar(2), " +
- " testdesc varchar(16) " +
- ")";
- dbcmd.CommandText = sql;
- dbcmd.ExecuteNonQuery();
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Mono.Data.DB2Client.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Mono.Data.DB2Client.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
diff --git a/doc/ideas b/doc/ideas
deleted file mode 100644
index 83e4eb3a1c5..00000000000
--- a/doc/ideas
+++ /dev/null
@@ -1,71 +0,0 @@
-* Ideas
-
- There are many pending classes that need to be implemented. Those have
- the highest impact in the Mono project: the sooner they are done,
- the sooner we can start using this platform to create new and
- exciting applications.
-
- That being said, if you are not very excited about working on class
- libraries, here is a list of other related projects or tools that might
- be useful to the Mono project.
-
- Here are a few ideas of tools, classes and projects that you
- could start. More are forthcoming.
-
-<a name="runtime">
-** Runtime
-
-<a name="classes">
-** Classes
-
- <ul>
- * Implement a JXTA protocol implementation:
- <a href="http://www.jxta.org">http://www.jxta.org</a>
-
- * Implement a Mail API, similar to Camel or JavaMail (Camel has
- significant architecture features that are required on a real
- mailer).
-
- You can check the current C
- <a href="http://cvs.gnome.org/bonsai/rview.cgi?dir=evolution%2Fcamel">
- Camel implementation</a>.
-
- Such an implementation could be used both with
- Microsoft .NET and Mono.
-
- * Interfacing to Multimedia systems. You might want
- to look into the Quicktime API. I know <a
- href="mailto:vladimir@ximian.com">Vladimir</a> has
- researched the problem before
-
- </ul>
-
-<a name="projects">
-** Projects
-
- This list of projects ideas is outdated
-
- * Once <a href="http://remoting-corba.sourceforge.net/">CORBA</a> is done, implement the Bonobo interfaces
- to allow people to use Bonobo components in Mono and
- Mono components with Bonobo. The best of both worlds!
-
- * A naming space for Mono. An object naming space is
- a very powerful tool. Bonobo implements a moniker
- system that is more powerful than the original
- moniker concept that was pioneered by COM/OLE in the
- Microsoft world.
-
- Our implementation builds on a concept, and we have
- made it simpler, more powerful, more extensible and
- a much better mechanism than the equivalent monikers
- on Windows.
-
- Implementing Mono monikers would benefit both
- Windows users using .NET and Mono users on Unix and
- Windows.
-
- Here is <a
- href="http://primates.ximian.com/~miguel/monikers.html">an
- overview of the moniker system</a> in Bonobo.
-
- </ul>
diff --git a/doc/index b/doc/index
deleted file mode 100644
index 7749b93fb15..00000000000
--- a/doc/index
+++ /dev/null
@@ -1,195 +0,0 @@
-<link rel="alternate" type="application/rss+xml" title="RSS" href="index.rss"/>
-
-
- <table align="right" border=1 padding=0 width=25%>
- <tr>
- <td colspan="2" bgcolor=lightgrey>
- <b><center>Mono Status</center></b>
- </td>
- </tr>
- <tr>
- <td>
- <b><a href="c-sharp.html">C# Compiler:</a></b>
- </td>
- <td>
- Self hosting on Linux and .NET
- </td>
- </tr>
- <tr>
- <td>
- <b>JIT:</b>
- </td>
- <td>
- Works for Linux/x86
- </td>
- </tr>
- <tr>
- <td>
- <b>Interpreter:</b>
- </td>
- <td>
- Works for
- Linux/x86, Linux/PPC, S390, StrongARM, SPARC, HPPA, SPARC v9
- </td>
- </tr>
- <tr>
- <td><b><a href="asp-net.html">ASP.NET</a></b></td>
- <td>Webforms and WebServices working<br></td>
- </tr>
- <tr>
- <td>
- <b><a href="class-status.html">Classes</a></b>
- </td>
- <td>
- All assemblies compile.
- </td>
- </tr>
- <tr>
- <td>
- RSS feed:
- </td>
- <td>
- <a href="index.rss"><img src="images/xml.gif"></a>
- </td>
- </tr>
- <tr>
- <td colspan="2" bgcolor=lightgrey>
- <b><center>In the news</center></b>
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/2003osdirwinnerbadge.gif">
- </td>
- <td>
- <a href="http://osdir.com/Article198.phtml">Dec 19th, 2003</a>: Editor's Choice Award.
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/netmagazine.png">
- </td>
- <td>
-
- <a href="http://www.ftponline.com/wss/2003_TE/magazine/columns/trends">May 31st, 2003</a>: CLI integration.
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/infoworld.png">
- </td>
- <td>
- <a href="http://www.infoworld.com/article/03/05/22/HNmono_1.html">May 22nd, 2003</a>: Mono 1.0 plans.
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/infoworld.png">
- </td>
- <td>
- <a href="http://www.infoworld.com/article/03/03/14/11stratdev_1.html">Mar 14th, 2003</a>: Whither Mono?
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/b2.png">
- </td>
- <td>
- <a href="http://www.infoworld.com/article/03/05/22/HNmono_1.html">Dec, 2002</a>: The Penguin takes flight.
- </td>
- </tr>
- </table>
-
-
-<p>
- The Mono project is an open source effort sponsored by <a
- href="http://novell.com">Novell</a> to create a free
- implementation of the .NET Development Framework.
-</p>
-
-<p>
- Mono includes <a href="c-sharp.html">a compiler</a> for the
- C# language, a <a href="runtime.html">Common Language
- Runtime</a> (CLR) for the Common Language Infrastructure (CLI) and a
- set of <a href="class-library.html">class libraries</a>. The
- runtime can be <a href="embedded-api.html">embedded</a> into your
- application. It implements both <a href="ado-net.html">ADO.NET</a>
- and <a href="asp-net.html">ASP.NET</a>.
-</p>
-<p>
- If you have questions about the project, read <a
- href="rationale.html">the project launch statement</a>
- or visit our list of <a href="faq.html">Frequently Asked
- Questions</a>.
-</p>
-
-<p>
- For details on the project's future direction, read the
- <a href="mono-roadmap.html">roadmap</a>, and <a
- href="download.html">download</a> the latest software version.
- You can also get a <a href="snapshots">snapshot</a> of our
- current work, or <a
- href="http://cvs.hispalinux.es/cgi-bin/cvsweb/?hidenonreadable=1&f=u&logsort=date&sortby=file&hideattic=1&cvsroot=mono">browse
- the source tree.</a>
-</p>
-<p>
- To participate in discussion and development, <a
- href="mailing-lists.html">subscribe to our mailing lists</a>.
- You can also visit the <a
- href="http://www.gotmono.com/cgi-bin/yabb/YaBB.pl">forum</a> at <a
- href="http://www.gotmono.com">GotMono</a> or the <a
- href="http://www.nullenvoid.com/gtksharp/wiki">Gtk#</a> and
- <a href="http://www.nullenvoid.com/mono/wiki">Mono
- </a> Wikis.
-</p>
-<br>
-<br>
-
-@item Feb 13, 2004: Mono 0.30.1 released
-
- We have released a small bug-fix release of Mono, the release
- notes are available <a
- href="archive/mono-0.30.1.html">here</a> and you can download
- it from our <a href="download.html">download</a> page.
-
-@item Feb 13, 2004: Mono Performance Optimization
-
- We have a new document that describes some <a
- href="performance.html">common tricks to improve the
- performance</a> of your Mono or .NET application. These are a
- summary of techniques that we employed to tune our own C#
- compiler.
-
-@item Feb 2nd, 2004: Mono 0.30 has been released
-
- Check out the <a
- href="http://www.go-mono.com/archive/mono-0.30.html">Release
- notes</a> for details on Mono 0.30. Or go directly to our <a
- href="download.html">download</a> section
-
-@item Jan 18th, 2004: LDAP class libraries in Mono tutorial.
-
- Sunil Kumar has written an <a
- href="http://www.novell.com/coolsolutions/cooldev/features/a_net_cplus_ldap_library_cdev.html">introduction
- to Novell.LDAP</a> class libraries, which are part of Mono.
-
-@item Jan 13th, 2004: MonoDoc 0.9 released.
-
- A new edition of MonoDoc, the Mono Documentation Browser, has been released, available in source form from:
- <a href="archive/monodoc-0.9.tar.gz">archive/monodoc-0.9.tar.gz</a>
-
-@item Jan 11th, 2004: Call for Stories
-
- If you have a success story about using Mono or one of the Mono
- components in any way, we want to hear about you. Please mail
- your details to miguel@ximian.com
-
-@item Jan 4th, 2004: Windows Installer for Mono 0.29
-
- There is a <a href="archive/mono-0.29-win32-1.exe">Windows
- Installer for Mono 0.29</a> available now.
-
-<h2>Older News</h2>
-
- Click <a href="oldnews.html">here</a> to see older news.
-
diff --git a/doc/java b/doc/java
deleted file mode 100755
index adcd888f1be..00000000000
--- a/doc/java
+++ /dev/null
@@ -1,66 +0,0 @@
-* Java
-
- <b>This is an outline on how to support Java, actual
- implementations of ideas like this can be found <a href="http://radio.weblogs.com/0109845/">here</a></b>
-
-
- It would be interesting to support the Java language as part
- of the Mono project.
-
- You have to think of Java as various pieces: Java the
- language and Java the virtual machine.
-
- It is possible to compile Java to .NET, as shown by the
- Microsoft J# compiler. We could then allow the migration of
- Java applications to the Mono runtime.
-
-** Native compiler
-
- Although a native compiler can be built, and probably should be
- built using an existing compiler, a short term solution is to
- build a translator from Java class files to the ECMA CIL images.
-
- This has the advantage that we can use an existing and tested
- Java compiler to generate the code, and then we can use an automated
- code compiler that compiles Java VM bytecodes to CIL bytecodes.
-
-** The translator.
-
- It would be interesting to write a semantic translator that
- converts java byte codes into CIL opcodes. This is possible
- because the Java byte codes are a subset of the CIL ones.
-
- A semantic tree needs to be constructed (very much in the
- spirit of what is done in mono_analize_stack in
- <tt>mono/mono/jit/jit.c</tt>. Once such a semantic tree is
- constructed, we could generate the equivalent Java code.
-
- This has a number of interesting side effects: people can
- continue to use their existing Java compilers to compile their
- code, and a simple tool that converts their .class files into
- a .NET assembly can be used.
-
-** Libraries
-
- We could translate the GNU Classpath libraries with the above
- tools to provide the Java runtime required to host into the
- Mono runtime. Some special treatment would be required for
- core data types like integers, arrays and strings, and of
- course reuse where possible existing classes from .NET to make
- them compatible.
-
-** JILC - Java to IL Compiler
-
- This is an attempt to make the java bytecode available for the
- .NET environment.
-
- The project attempts to generate the IL code / bytecode from the
- compiled java class files. It has reached the stage of code-generation.
- The issues that needs to be addressed is the mapping of java objects
- to the IL objects, eg: java.lang.String to System.String.
-
- Gaurav Vaish and Abhaya Agarwal are currently leading this project.
- The project is currently hosted at <a href="http://sourceforge.net/projects/jilc">SourceForge.Net</a>.
- The official home page of the project is
- <a href="http://jilc.sourceforge.net">http://jilc.sourceforge.net</a>.
-
diff --git a/doc/jit-debug b/doc/jit-debug
deleted file mode 100644
index 57ec9065263..00000000000
--- a/doc/jit-debug
+++ /dev/null
@@ -1,78 +0,0 @@
-* Debugging information
-
- Compile your programs using the `-g' flag in MCS, that will all a special
- resource containing debugging information to your executable.
-
- To get stack traces with line number information, you need to run your
- program like this:
-
- <b>
- mono --debug program.exe
- </b>
-
- Notice that the program will need to be compiled with the -g
- flag and that running with --debug will slow down the execution.
-
-* Debugging with GDB
-
- If you use GDB to debug your mono process, you can use the function
- print_method_from_ip(void *address) to obtain the name of a method
- given an address.
-
- For example:
-
- <pre>
-(gdb) where
-#0 ves_icall_System_String_GetHashCode (me=0x80795d0) at string-icalls.c:861
-#1 0x0817f490 in ?? ()
-#2 0x0817f42a in ?? ()
-#3 0x0817f266 in ?? ()
-#4 0x0817f1a5 in ?? ()
-</pre>
-
- You can now use:
-
-<pre>
-(gdb) p print_method_from_ip (0x0817f490)
-IP 0x817f490 at offset 0x28 of method (wrapper managed-to-native) System.String:GetHashCode () (0x817f468 0x817f4a4)
-$1 = void
-(gdb) p print_method_from_ip (0x0817f42a)
-IP 0x817f42a at offset 0x52 of method System.Collections.Hashtable:GetHash (object) (0x817f3d8 0x817f43b)
-$2 = void
-</pre>
-
- Mono support libraries use a couple of signals internally that
- confuse gdb, you might want to add this to your .gdbinit file:
-
-<pre>
- handle SIGPWR nostop noprint
- handle SIGXCPU nostop noprint
-</pre>
-
-* Mono Debugger
-
- The Mono debugger is written in C# and can debug both managed
- and unmanaged applications, support for multiple-threaded
- applications and should be relatively easy to port to new
- platforms.
-
- Details of the release are available in <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-January/011415.html">post</a>.
-
- The debugger contains both Gtk# and command line interfaces.
- The debugging file format used in Dwarf (it's already supported
- by our class libraries and the Mono C# compiler; To debug C
- applications, you need a recent GCC, or to pass the -gdwarf-2
- flag to gcc).
-
- You can download the releases from <a
- href="http://primates.ximian.com/~martin/debugger/">Martin Baulig's
- home page.</a>
-
-
-
-
-
-
-
-
diff --git a/doc/languages b/doc/languages
deleted file mode 100755
index 046945817a2..00000000000
--- a/doc/languages
+++ /dev/null
@@ -1,162 +0,0 @@
-* Compilers for other languages
-
- Here are some other free compilers for other languages that
- target .NET and should work with Mono with no problem:
-
- <ul>
- * <a href="#ComponentPascal">Component Pascal</a>
- * <a href="#MonoLogo">MonoLogo</a>
- * <a href="#Oberon">Oberon</a>
- * <a href="#Forth">Forth</a>
- * <a href="#mbas">Mono Basic</a> (Mono's VB.NET compiler)
- * <a href="#dotlist">dotLisp</a>
- </ul>
-
- Languages which are known to run, but we have not done a
- complete ran of all their regression tests to validate it:
-
- <ul>
- * Kylix.NET.
- </ul>
-
- Languages we would like to have supported, with links to resources:
-
- <ul>
- * <a href="#JavaScript">Java Script</a>
- * <a href="#java.html">Java</a>
- * <a href="#c">C</a>
- </ul>
-
- Some experimental languages:
-
- <ul>
- * <a href="#Tachy">Tachy</a> (scheme-like)
- * <a href="#python">Python</a>
- </ul>
-
-<a name="Java"></a>
-** Java
-
- There is a very interesting project to make a JavaVM for .NET
- <a href="http://radio.weblogs.com/0109845/">here</a>.
-
- Zoltan has got IKVM to work with Mono.
-
-<a name="PHP">
-** PHP
-
- Sterling has code to allow PHP developers to use Mono code, in
- his <a href="http://www.php.net/~sterling/mono/">site</a>
-
-<a name="MonoLogo">
-** MonoLogo
-
- An implementation of Logo for Mono (and .NET)
-
- The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
- hosted in the <a href="ccvs.html">Mono CVS</a> repository
- and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
-
-<a name="mbas">
-** Mono Basic (Mono's VB.NET compiler)
-
- Work has resumed on the Mono Visual Basic compiler (currently
- called mbas). It is part of the standard Mono distribution,
- but its still an early compiler.
-
-<a name="Oberon">
-** Oberon
-
- This Oberon compiler is written in Oberon.NET (another self
- hosting compiler).
-
- The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
-
- Download:
- <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
-
- Examples:
- <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
-
-<a name="ComponentPascal">
-** Component Pascal
-
- The Component Pascal compiler: <a
- href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpnet.html">Home
- Page</a>, you can <a
- href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpdownload.html">
- download it</a>
-
-<a name="Forth">
-** Delta Forth
-
- The Delta Forth.NET project: <a href="http://www.dataman.ro/dforth">Home
- Page</a> and <a href="http://www.dataman.ro/dforth">more
- details here</a>.
-
-
-<a name="Tachy">
-** Tachy
-
- A subset of Scheme language called <a
- href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
-
-<a name="Python"></a>
-** Python
-
- <a href="mailto:brian@No.Spam.zope.com">Brian Lloyd</a> is
- working on linking the Python runtime with the .NET runtime.
- More information on the PS.NET project can be found <a
- href="http://www.zope.org/Members/Brian/PythonNet">here</a>.
-
-<a name="dotlisp"></a>
-** dotLisp
-
- DotLisp is available from: <a
- href="http://sourceforge.net/projects/dotlisp/">http://sourceforge.net/projects/dotlisp/</a>
-
-<a name="JavaScript">
-* Java Script
-
- Cesar is working on Mono's implementation of JScript, the code
- is available on CVS on module `mcs'.
-
-* Missing languages
-
- Here is a list of a few languages that we would like to see
- supported. We will try to maintain a set of links here with
- technical information for those interested in porting,
- implementing or adapting a compiler for any of these
- languages:
-
-<a name="c">
-* C
-
- Ideally GCC could be modified to generate CIL, but it is a
- big task. That would give us various compilers in one pass.
-
- <a href="http://www.cs.princeton.edu/software/lcc">LCC</a> 4.2
- has been recently released. This release adds support for compiling
- ANSI C programs to CIL. Note that the CIL support only works on Win32
- right now, but should be easy to convert to Mono/other architectures.
-
- LCC is not an open source compiler, but it is free as long as you
- do not profit from selling it.
-
-<a name="ada"></a>
-* ADA
-
- A# is an ADA compiler for the CIL platform, it can be downloaded from:
- <a
- href="http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html">http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html</a>
-
-<a name="Java">
-* Java
-
- Java bytecode can run directly on Mono using the <a
- href="http://www.ikvm.net">IKVM</a> java virtual machine for
- .NET.
-
- We have a <a href="java.html">separate page</a> for Java.
-
-
diff --git a/doc/mailing-lists b/doc/mailing-lists
deleted file mode 100644
index ad2aa170ae4..00000000000
--- a/doc/mailing-lists
+++ /dev/null
@@ -1,271 +0,0 @@
-* Mailing Lists
-
- Most of the mailing lists are in english, but there is also
- Mono Hispano that has lists in Spanish. <a
- href="http://www.monohispano.org/mailman/listinfo/mono-hispano">Mono Hispano list</a>
-
- There are a number of mailing lists for Mono in English:
-
- <table border=1>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-announce-list">mono-announce-list</a></b>
- </td>
- <td>
- Announcements of Mono developments.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-list">mono-list</a></b>
- </td>
- <td>
- The general Mono discussion list.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">mono-devel-list</a></b>
- </td>
- <td>
- A mailing list specifically dedicated to discussions
- about developing Mono and programming *with* Mono.
- Programmers that work on Mono are _strongly_ encouraged
- to join this list. Third-party programmers interested
- in running or compiling their managed applications with
- Mono or that are interested in using mono-specific
- technologies should join the list as well.
- <p>
- Examples of on-topic arguments are:
- <ul>
- <li>proposals and patches for new features for the mono runtime and programs
- <li>discussions about bugs in the mono runtime and programs
- <li>discussions about future directions
- <li>embedding API, scripting language bridges
- <li>mono/mcs build issues
- <li>programming with mono-specific assemblies
- <li>discussions about third-party compilers that target and/or use directly the CLR
- <li>discussions about getting a managed application run with mono
- </ul>
-
- <p>Topics that are better discussed on other mailing lists:
- <ul>
- <li> general C# questions (use the specific lists at develop.com)
- <li> issues that are already covered by a more specific mono
- mailing list (like System.Windows.Forms or Gtk#)
- <li> success reports about new apps running on mono, including
- runtime/buildtime support for new programming languages (use
- mono-list to reach a wider audience)
- </ul>
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">mono-gc-list</a></b>
- </td>
- <td>
- Discussion on the GC system of Mono.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-patches">mono-patches</a></b>
- </td>
- <td>
- Track the CVS activity of Mono on this mailing list (patches are sent to recipients). <p>
- You can get <a href="http://www.go-mono.com/snapshots">daily snapshots</a> as well.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-cvs-list">mono-cvs-list</a></b>
- </td>
- <td>
- Track the CVS activity of Mono on this mailing list.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-docs-list">mono-docs-list</a></b>
- </td>
- <td>
- Discussion on the documentation of Mono.
- </td>
- </tr>
- <tr>
- <td>
- <b><a href="http://lists.ximian.com/mailman/listinfo/mono-bugs">mono-bugs</a></b>
- </td>
- <td>
- This mailing list is used to keep track of the bugs in Mono as reported
- in <a href="http://bugzilla.ximian.com">Bugzilla.ximian.com</a>
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-winforms-list">mono-winforms-list</a></b>
- </td>
- <td>
- Used to discuss the Windows.Forms implementatation for Mono using Wine.
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/gtk-sharp-list">gtk-sharp-list</a></b>
- </td>
- <td>
- Used to discuss the Gtk bindings for Mono (<a href="http://gtk-sharp.sf.net">Gtk#</a>).
- </td>
- </tr>
- <tr>
- <td>
- <b><a
- href="http://lists.ximian.com/mailman/listinfo/mono-vb">mono-vb</a></b>
- </td>
- <td>
- Mono's implementation of Visual Basic.NET.
- </td>
- </tr>
- </table>
-
- Other mailing lists of interest:
-
- <ul>
- * <b><a
- href="http://discuss.develop.com/dotnet.html">Dotnet mailing
- list at Develop.com:</a></b> The guys at Develop Mentor run
- this general purpose mailing list.
- </ul>
- </ul>
-
-* Alternative archive site
-
- An alternate site that archives Mono List is available <a
- href="http://archive.neotonic.com/archive/mono-list">http://archive.neotonic.com/archive/mono-list</a>
-
-* Google search of the archives
-
-<!-- Google Search with mods -->
-<center>
-
-<table>
-<tr>
-<td><a href="http://www.google.com/search"><img src="images/Logo_40wht.gif" border="0" alt="Google" align="middle"></a></td>
-
-<td>
-<table>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face="arial,sans-serif" size="-1"><input type="hidden" name="domains" value="www.go-mono.com;lists.ximian.com"><br><input type="radio" name="sitesearch" value="www.go-mono.com"> Search www.go-mono.com <input type="radio" name="sitesearch" value="lists.ximian.com"> Search lists.ximian.com </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-list">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>list</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-announce-list">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>announce-list</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-bugs">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>bugs</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-gc-list">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>gc-list</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-cvs-list">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>cvs-list</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-<tr><td>
-<FORM method=GET action=http://www.google.com/custom>
-<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
-<tr valign=top>
-<td>
-<INPUT TYPE=text name=q size=31 maxlength=255 value="">
-<INPUT TYPE=hidden name=q size=31 maxlength=255 value="mono-patches">
-<INPUT type=submit name=sa VALUE="Search">
-<input type="hidden" name="cof" value="GIMP:#00ff00;T:#ffffff;LW:401;BIMG:http://www.go-mono.com/images/bgsquares.gif;ALC:#ffffff;L:http://www.go-mono.com/images/mono.gif;GFNT:#cc7700;LC:#ee9900;LH:80;BGC:#444444;AH:center;VLC:#cccccc;S:http://www.go-mono.com;GALT:#eeee00;AWFID:45753ce73241ef7a;">
-<font face=arial,sans-serif size=-1><input type=hidden name=domains value="lists.ximian.com"><br> <input type=hidden name=sitesearch value="lists.ximian.com"> Search mono-<b>patches</b> </font><br>
-</td></tr></TABLE>
-</FORM>
-</tr></td>
-
-
-</table>
-</tr>
-</table>
-
-</center>
-<!-- /Google Search with mods -->
diff --git a/doc/mbas b/doc/mbas
deleted file mode 100644
index 49247b5c527..00000000000
--- a/doc/mbas
+++ /dev/null
@@ -1,54 +0,0 @@
-* mbas: Mono's Basic.NET Compiler.
-
- MBAS is a CIL compiler for the Visual Basic language, an extended
- version of VisualBasic.NET. It's based on the MCS compiler
- and still in heavy development, though many language features are
- already supported.
-
-** What works
-
- <ul>
-
- * Classes, Fields and Methods. Properties are still
- being worked on.
-
- * Module definition and Sub functionality (TODO: Function's)
-
- * Namespace Import, so can you reference, instantiate
- and call external assemblies
-
- * Parameter passing between Sub's. ByVal and ByRef
- parameters are being worked on.
-
- * Delegates
-
- * Object creation
-
- * Events - to a limited extent. You can declare a
- Class-Field as 'WithEvents' and dynamic events (i.e
- AddHandler MyButton.Click, Button1_OnClick). Please
- beware: just after committing the code, I discovered
- that the handler field in the AddHandler call is
- case-sensitive, a remnant of mBas' mcs heritage)
-
- * Statements supported are 'If..Then..Else' ,
- 'While..End While' and assignment statements. Simple
- operators (+, -, *, /, >, <, =) should also
- work. Other statements (For..Next, etc.) should be
- quite trivial to implement.
- </ul>
-
- A lot of this stuff is implemented rebuilding proper expressions and
- statements on top of the classes provided by mcs (look at the grammar -
- mb-parser.jay - and compare it with cs-parser.jay, if interested).
-
-** TODO-list
-
- At this stage almost every element of the language must be still checked for
- conformance to MS'implementation. Help is particularly needed for those areas
- I know little of (mcs internals are still quite obscure to me). I'd like to
- implement class properties, the missing statements, exception handling,
- structures and actual event support (not necessarily in this order). Once we
- have all this stuff set up and reasonably bug-free, more work could be done
- on helper functions and Object-vars handling.
-
diff --git a/doc/mono-1.0.html b/doc/mono-1.0.html
deleted file mode 100644
index 6398d89d0df..00000000000
--- a/doc/mono-1.0.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html>
-<head>
-<title>Mono 1.0 assemblies</title>
-</head>
-
-<body>
-<h1>Assemblies</h1>
-<pre>
-Stable:
- Commons.RelaxNG
- Cscompmgd
- Mono.Data
- Mono.Data.Tds
- Mono.Posix
- Mono.Security
- Mono.Security.Win32
- System.Web
- System.Configuration.Install
- System.Data
- System.Data.OracleClient
- System.DirectoryServices
- System
- System.Drawing
- System.Runtime.Remoting
- System.Security
- System.Web.Services
- System.XML
-
-Unstable:
- Accessibility
- Mono.Cairo
- Mono.CSharp.Debugger
- Mono.Data.DB2Client
- Mono.Data.SqlLite
- Mono.Data.SybaseClient
- Mono.GetOptions
- System.Web.Mobile
- System.Design
- System.Drawing.Design
- System.Windows.Forms
- Formatters.Soap
- Mono.Data.TdsClient (older Sybase and MS SQL)
-
-Missing:
- System.EnterpriseServices
- System.Management
- System.Messaging
- System.ServiceProcess
- System.Web.RegularExpressions
-
-Third party assemblies.
- ByteFX.Data
- Npgsql
- PEAPI
- SharpZipLib.
-
- Java integration with IKVM.NET
-
-</pre>
-
-<h1>Languages</h1>
-
-<pre>
-Stable:
- C#
-
-Unstable:
- VB.NET
-
-Not ready:
- JScript
-</pre>
-
-<h1>Virtual Machine</h1>
-
-<pre>
-JIT, 32 bits:
- PPC
- x86
-
-Interpreter, 32 bits:
- s390
- HPPA
- StrongARM
- SPARC v8
-
-Interpreter, 64 bits:
- ia64
- SPARC v9
-</body>
-</html> \ No newline at end of file
diff --git a/doc/mono-beginning b/doc/mono-beginning
deleted file mode 100644
index 970eed63f6e..00000000000
--- a/doc/mono-beginning
+++ /dev/null
@@ -1,34 +0,0 @@
-* Mono for beginners
-
- Hinne Hettema and Jaime Anguiano Olarra are providing us with
- nice and complete set of documents (HOWTOs) about how to install,
- configure, run and test the software developed by the Mono Project.
-
- You can read them online, get PDF versions or get the XML sources.
-
-
- HTML Format (read it online)
-
- For <a href="mono-beginning/t1.html">RPM Linux based systems</a>
-
- For <a href="http://monoevo.sourceforge.net/mono-windows/mono-beginning-windows/t1.html">Microsoft Windows</a>
-
-
- PDF Format
-
- For <a href="mono-beginning.pdf">RPM Linux based systems</a>
-
-
- XML Source
-
- For <a href="mono-beginning.xml">RPM Linux based systems</a>
-
- For <a href="http://monoevo.sourceforge.net/mono-windows/mono-beginning-windows.xml">Microsoft Windows</a>
-
-
- Currently Hinne is working on a Mono Tools HOWTO. Which will be
- very useful for the hackers that would like to get in touch with
- Mono and Jaime is working out a Mono Beginning HOWTO for Debian
- users.
-
-
diff --git a/doc/mono-beginning-windows.xml b/doc/mono-beginning-windows.xml
deleted file mode 100644
index a6f34da77f0..00000000000
--- a/doc/mono-beginning-windows.xml
+++ /dev/null
@@ -1,1065 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" []>
-<article>
-
- <articleinfo>
-
- <!-- Use "HOWTO", "mini HOWTO", "FAQ" in title, if appropriate -->
- <title>Mono Beginners HOWTO for Windows users</title>
-
- <author>
- <firstname>Jaime</firstname>
- <surname>Anguiano Olarra</surname>
- <affiliation>
- <address><email>jaime@geneura.ugr.es</email></address>
- </affiliation>
- </author>
-
- <author>
- <firstname>Hinne</firstname>
- <surname>Hettema</surname>
- <affiliation>
- <address><email>h.hettema@auckland.ac.nz</email></address>
- </affiliation>
- </author>
-
- <pubdate>2002-08</pubdate>
-
- <!-- Most recent revision goes at the top; list in descending order -->
- <!-- All dates specified in ISO "YYYY-MM-DD" format -->
- <revhistory>
- <revision>
- <revnumber>0.1</revnumber>
- <date>2002-08-05</date>
- <authorinitials>JA</authorinitials>
- <revremark>First release</revremark>
- </revision>
- </revhistory>
-
- <!-- Provide a good abstract; a couple of sentences is sufficient -->
- <abstract>
- <para>
- The goal of this document is to guide people through the setup of a Mono
- framework in a Windows box. Because some people might want to just test
- Mono a bit and use the compiler, etc, I have made two distinctions, one
- for the Mono user that only wants to get precompiled binaries and another
- for the one how wants to build Mono from the CVS and probably contribute
- to the project actively. Each kind of user has to read the corresponding
- part of this document. I hope a lot of Windows users will get a nice
- approach to the free software world by starting using Mono.
- </para>
- </abstract>
-
- </articleinfo>
-
-<sect1 id="intro">
-<title>Introduction</title>
-
-<para>
-Mono is an open source implementation of the Common Language Infrastructure
-(CLI) specified in ECMA standard 335. It comes with a C# compiler and
-provides an extensible platform to develop and run applications that
-are interoperable with Microsoft .NET.
-</para>
-
-<para>
-Mono is not finished--it is a project still under development. As a
-result, installation and configuration may not be as smooth as you
-will be used to from other Linux or Windows applications. Nevertheless,
-mono is in a state that will allow you to get it up and running and gain
-experience with it--which is, I would suggest, a very smart thing to do.
-</para>
-
-<para>
-This document is aimed at the mono beginner, and aims to present a complete
-view of a minimal installation, which will allow you to experiment with
-mono to some degree. It also describes some of those experiments. We
-expect that after reading this document you'll go on to do either of
-two things:
-</para>
-<orderedlist>
-<listitem>
-<para>
-Continue to contribute to the mono project in some shape or form. The
-website has some ideas and suggestions under the heading 'Contributing'.
-</para>
-</listitem>
-<listitem>
-<para>
-Continue to write applications that run in mono.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
-We hope this document will be useful to you in your first steps with mono.
-Happy hacking!
-</para>
-
-<sect2 id="disclaimer"> <title>Disclaimer</title>
-
-<para>
-No liability for the contents of this document can be accepted.
-Use the concepts, examples and information at your own risk. There may
-be errors and inaccuracies, that could be damaging to your system.
-Proceed with caution, and although this is highly unlikely, the author(s)
-do not take any responsibility.
-</para>
-
-<para>
-All copyrights are held by their by their respective owners,
-unless specifically noted otherwise. Use of a term in this document
-should not be regarded as affecting the validity of any trademark or
-service mark. Naming of particular products or brands should not be
-seen as endorsements.
-</para>
-</sect2>
-
-<!-- Give credit where credit is due...very important -->
-<sect2 id="credits"> <title>Credits / Contributors</title>
-
-<para> Credits are due to </para>
-<itemizedlist>
-<listitem>
-<para>Hinne Hettema <email>h.hettema@auckland.ac.nz</email>
-for creating the xml template I used for this document, for
-reviewing and make an excellent job with the other HOWTO and
-for his feedback. As you can see a lot of his work has been
-included in this document too.
-</para>
-</listitem>
-<listitem>
-<para>
-The Mono Hackers.
-</para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- Feedback -->
-<sect2 id="feedback"> <title>Feedback</title>
-
-<para>
-Feedback is most certainly welcome for this document. Send your
-additions, comments and criticisms to the following email address:
-<email>mono-docs-list@ximian.com</email>. I am lurking on this list
-and will maintain this document as required.
-</para>
-</sect2>
-</sect1>
-
-<!-- This is the preamble stuff over with the rest of document follows... -->
-<sect1 id="installation">
-<title> Installing Mono</title>
-
-<sect2 id="obtaining">
-<title>Obtaining Mono</title>
-<para>
-In order to obtain the required software you just need to visit the
-Mono download page at http://www.go-mono.org/download or any of the
-related sites.
-</para>
-
-<para>
-You'll be able to complete everything in this document if you just install
-the runtime, but taking a look at the compiler package is well worth the
-effort. The compiler is written in C# and is 'self hosting' which means it
-is able to compile itself.
-</para>
-
-<para>
-This page also lists the current versions of the software
-mono depends on. Make sure that your system has all the
-required versions, otherwise mono won't compile.
-</para>
-
-</sect2>
-
-<sect2 id="easyinstall">
-<title>Installing Mono on Windows, the easy way</title>
-<para>
- Oh. This is a very easy task now. If you just want to take a look at
- the possibilities of Mono get the Mono installer from the site of
- Johannes Roith &lt;johannes\@jroith.de&gt;:
-</para>
-
-<para>
- http://www.superin.informativ.net/mono/mono.htm. You can get a link in
-</para>
-<para>
- the download section of the Mono site too: http://www.go-mono.org/download
-</para>
-<para>
- Then you just need a Windows machine. Better use
- Windows 2000 Professional. </para>
-<para>
- Once you've got it, run the installer.
-</para>
-<para>
- Remember, building your own Mono runtime and compiler from the sources
- is strongly recommended. You won't discover the power of Mono until
- you get it made this way. If you feel hungry about real programming with
- Mono, proceed like in the next section.
-</para>
-</sect2>
-
-<sect2 id="hardinstall">
-<title>Building Mono under Windows</title>
-<itemizedlist>
- <listitem>
- <para>
- 1.- Get Windows 2000 Professional or any Windows System supporting .NET SDK.
- Avoid using XP and the redistributable version of the SDK (necessary for
- WinME, etc).
- </para>
- </listitem>
-
- <listitem>
- <para>
- 2.- Get the latest Cygwin distribution, be sure you install the GNU Build Tools
- packages. Take the openssh package if you plan to contribute to the project.
- If you feel insecure about the packages you need to install, install all of
- them, of course, Text, Admin, Games and Web are not necessary at all and you
- can pass of those. The fitness of your choice will depend of your knowledge
- on Linux and/or Cygwin. If in doubt install all.
- </para>
- </listitem>
-
- <listitem>
- <para>
- 3.- Install the .NET SDK.
- </para>
- </listitem>
- <listitem>
- <para>
- 4.- Install Cygwin.
- </para>
- </listitem>
- <listitem>
- <para>
- 5.- Get http://www.go-mono.org/mono-build-w32.sh and put it into your home
- directory in the cygwin setup.
- </para>
- </listitem>
-
- <listitem>
- <para>
- 6.- Enter your cygwin environment. If you have an account in the mono cvs, then
- export the variables as shown in http://www.go-mono.org/ccvs.html
- </para>
-
- <programlisting>
- This means. Enter: export CVSROOT=user@mono-cvs.ximian.com:/cvs/public
-
- and export CVS_RSH=ssh
- </programlisting>
- <para>
- If you have no account DO NOTHING.
- </para>
- </listitem>
- <listitem>
- <para>
- 7.- Enter:
- <programlisting>
- export ACLOCAL_FLAGS="-I /usr/local/share/aclocal"
- and this: export PKG_CONFIG_PATH="/usr/local/bin"
- </programlisting>
- </para>
- </listitem>
- <listitem>
- <para>
- 8.- Run the script (mono-build-w32.sh)
- </para>
- </listitem>
- <listitem>
- <para>
- 9.- All should work fine know and you should see it download what necessary and
- build mono.
- </para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="errors">
-<title>Troubleshooting</title>
-<para>
- If you have noticed problems during step 8 and the execution stops because of
- errors as I cannot find that or such library or alike, try to:
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- 1.- Create a directory mono-temp for example.
- </para>
- </listitem>
-
- <listitem>
- <para>
- 2.- Move and unzip all the zips the mono-build script downloads to /usr/local
- to that new directory. Do it one by one, copying the content of the created
- subdirectories (include, bin, etc) to their respectives in /usr/local. Take
- care, some libraries like libglib... must go into /usr/local/bin and not
- into /usr/local/lib.
- </para>
- </listitem>
-
- <listitem>
- <para>
- 3.- Jump into the /usr/local/mono directory and run ./autogen.sh
- </para>
- </listitem>
-
- <listitem>
- <para>
- 4.- Then run ./configure and after it: make and finally: make install.
- </para>
- </listitem>
-</itemizedlist>
-</sect2>
-</sect1>
-
-<sect1 id="running">
-<title>Running mono</title>
-<sect2 id="basic">
-<title>Basic steps</title>
-<para>
-To work with mono, you first have to create a C# program. Open up
-your favourite editor, and type in the following code:
-</para>
-<programlisting>
-using System;
-
-class Hello
-{
-public static void Main(String[] args)
- {
- Console.WriteLine("mono:: is alive and well...");
-
- for (int i = 0; i < args.Length; i++)
- Console.WriteLine("Argument {0} = {1}", i, args[i]);
- }
-}
-</programlisting>
-
-<para>
-Save the file as hello.cs. To compile this into a working program,
-type mcs hello.cs. If you get the following:
-</para>
-<programlisting>
- mcs hello.cs
-RESULT: 0
-</programlisting>
-<para>
-you know the compile worked fine. If you see some strange error
-messages including the word 'parser' somewhere, you made a mistake in
-your program. Fix this up first.
-</para>
-
-<para>
-You are now ready to execute your first mono program. To execute
-the code, type
-</para>
-
-<programlisting>
- mono hello.exe arg1 arg2 arg 3
-</programlisting>
-<para>
-(where we have given some arguments just for fun) and you'll
-see the following:
-</para>
-
-<programlisting>
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg2
-Argument 2 = arg
-Argument 3 = 3
-RESULT: 0
-</programlisting>
-<para>
-As you can see, mono printed the line "mono:: is alive and well"
-and printed the list of arguments. This completes the creation
-and execution of your first mono program.
-</para>
-</sect2>
-
-<sect2 id="interpreter">
-<title>Interpreter</title>
-<para>
-But mono will allow you to do more. First of all, mono is the
-compiled mono execution environment which uses the Just in
-Time (JIT) compiler. Mono also comes with an interpreted
-environment, which can be accessed using the command 'mint'
-as follows
-</para>
-<programlisting>
- mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-</programlisting>
-<para>
-As you can see, it makes no difference to mono output which
-environment you use, but what happens under the hood is very
-different. If you use 'mono' as the command line tool, you
-call the 'production' execution environment which will read
-your portable executable (PE) file, and call the just in
-time (JIT) compiler to compile the PE code down to machine
-level code (in my case, an x86 architecture) after which
-it is executed.
-</para>
-<para>
-If you use mint, the JIT is not used, and the PE code is
-interpreted into x86 instructions for execution. In fact,
-for our simple 'hello' mint is slightly faster. The point
-is that the JIT compiler will take some time to compile the
-code of our program and store it in some location in memory,
-but the subsequent execution of the code is faster with mono.
-</para>
-
-<para>
-After this simple run of mono, it is time to play with some options.
-I won't cover these in detail since there are quite a few, and also because
-I assume you downloaded mono to hack it around in the first place. So
-I'll leave some pointers.
-</para>
-
-
-<sect3 id="debugging">
-<title>Debugging</title>
-<para>
-Mono supports a debugging option when you specify the "-d" flag while running
-the runtime. Utilising this flag will get you a significant amount of output,
-and it may be an idea to specify an output file as well. The interesting aspect
-of this file is that it allows you to see to some extent (quite precisely,
-actually) what the JIT compiler is up to.
-</para>
-</sect3>
-
-<sect3 id="statistics">
-<title>Statistics</title>
-<para>
-It is also possible to collect some runtime statistics on your program. These
-will give you some idea of the resource utilisation of your program.
-</para>
-<programlisting>
- mono --stats hello.exe
-mono:: is alive and well...
-RESULT: 0
-Mono Jit statistics
-Compiled methods: 58
-Methods cache lookup: 15
-Method trampolines: 698
-Basic blocks: 188
-Max basic blocks: 15
-Allocated vars: 238
-Analyze stack repeat: 61
-Compiled CIL code size: 2450
-Native code size: 10167
-Max code size ratio: 7.13 (FileStream::FlushBuffer)
-Biggest method: 1016 (StreamWriter::Write)
-Code reallocs: 27
-Allocated code size: 22073
-Inlineable methods: 17
-Inlined methods: 22
-
-Created object count: 18
-Initialized classes: 127
-Used classes: 37
-Static data size: 288
-VTable data size: 8292
-</programlisting>
-</sect3>
-
-</sect2>
-
-<sect2 id="ILAsm_code" >
-<title>Inspecting IL Assembly code</title>
-<para>
-Mono also provides a small tool that will let you disassemble
-the executable (.exe) file so you can have a peek
-under the hood. This tool is monodis, and is run as
-follows:
-
-</para>
-<programlisting>
- monodis hello.exe
-.assembly extern mscorlib
-{
- .ver 0:0:0:0
-}
-.assembly 'hello'
-{
- .hash algorithm 0x00008004
- .ver 0:0:0:0
-}
- .class private auto ansi beforefieldinit Hello
- extends [mscorlib]System.Object
- {
-
- // method line 1
- .method public hidebysig specialname rtspecialname
- instance default void .ctor() cil managed
- {
- // Method begins at RVA 0x20ec
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void System.Object::.ctor()
- IL_0006: ret
- } // end of method instance default void .ctor()
-
- // method line 2
- .method public static
- default void Main(string[] args) cil managed
- {
- // Method begins at RVA 0x20f4
- .entrypoint
- // Code size 56 (0x38)
- .maxstack 5
- .locals init (
- int32 V_0,
- int32 V_1)
- IL_0000: ldstr "mono:: is alive and well..."
- IL_0005: call void System.Console::WriteLine(string)
- IL_000a: ldc.i4.0
- IL_000b: stloc.0
- IL_000c: ldloc.0
- IL_000d: ldarg.s 0
- IL_000f: ldlen
- IL_0010: clt
- IL_0012: brfalse IL_0037
-
- IL_0017: ldstr "Argument {0} = {1}"
- IL_001c: ldloc.0
- IL_001d: box [mscorlib]System.Int32
- IL_0022: ldarg.s 0
- IL_0024: ldloc.0
- IL_0025: ldelem.ref
- IL_0026: call void System.Console::WriteLine(string, object, object)
- IL_002b: nop
- IL_002c: ldloc.0
- IL_002d: ldc.i4.1
- IL_002e: add
- IL_002f: stloc.1
- IL_0030: ldloc.1
- IL_0031: stloc.0
- IL_0032: br IL_000c
-
- IL_0037: ret
- } // end of method default void Main(string[] args)
-
- } // end of type Hello
-
-
-</programlisting>
-<para>
-This is the listing of the code of your program in a language
-called IL assembly, or Common Intermediate Language (CIL). The
-CIL provides the portability of the mono platform, and ensures
-that code compiled with Microsoft's .NET framework will work
-on mono and vice versa.
-</para>
-</sect2>
-
-<sect2 id="man_pages">
-<title>Man pages</title>
-
-<para>
-Mono has man pages already installed, and generally, typing <command>
-man</command> before the command you wish to execute should help in
-getting a list of the options. In many cases, it's still up to you
-to figure out what they do.
-</para>
-
-</sect2>
-
-
-</sect1>
-
-
-<sect1 id="problems">
-<title>Problems</title>
-<para>
-With mono being as new as it is, it is likely that you will have some
-problems with installation. The following are some ideas to help you
-out in a bind:
-</para>
-
-<orderedlist>
-<listitem>
-<para>
-See the Ximian Bugzilla page to find out if there is a bug
-report about your specific issue.
-</para>
-</listitem>
-
-<listitem>
-<para>Read this document. If it does not solve your problem, we want to
-know about it. Please send a message to the email address listed for
-feedback at the beginning of the document.</para>
-</listitem>
-
-<listitem>
-
-<para>
-Visit the mono mailing lists' archives and do a little
-research in there for threads talking about the problem you have.
-</para>
-</listitem>
-
-<listitem>
-<para>
-If you still cannot correct the problem, send a message to the
-mono list. When you do this, please be as precise as possible--i.e.
-mention the system you are running, the version of mono that you have the
-problem with, and give any error codes and other output that might appear.
-</para>
-</listitem>
-</orderedlist>
-
-</sect1>
-
-
-<!-- Legal Sections --> <sect1 id="copyright">
- <title>Copyright and License</title>
-
- <!-- The LDP recommends, but doesn't require, the GFDL --> <para>
- This document, <emphasis>Running mono</emphasis>, is copyrighted
- (c) 2002 by <emphasis>Hinne Hettema</emphasis> and
- <emphasis>Jaime Anguiano Olarra</emphasis>. Permission is
- granted to copy, distribute and/or modify this document under the
- terms of the GNU Free Documentation License, Version 1.1 or any later
- version published by the Free Software Foundation; with no Invariant
- Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU Free
- Documentation License".
- </para>
-
-<sect2 id="gfdl"> <title>GNU Free Documentation License</title>
-<!-- GNU Project - Free Software Foundation (FSF) -->
-
-<para>Version 1.1, March 2000</para>
-
-<blockquote> <para>Copyright (C) 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is
-permitted to copy and distribute verbatim copies of this license document,
-but changing it is not allowed.</para> </blockquote>
-
-<sect3 id="gfdl-0"> <title>PREAMBLE</title>
-
-<para>The purpose of this License is to make a manual, textbook,
- or other written document "free" in the sense of freedom: to assure
- everyone the effective freedom to copy and redistribute it, with
- or without modifying it, either commercially or noncommercially.
- Secondarily, this License preserves for the author and publisher
- a way to get credit for their work, while not being considered
- responsible for modifications made by others.</para>
-
-<para>This License is a kind of "copyleft", which means that
- derivative works of the document must themselves be free in the
- same sense. It complements the GNU General Public License, which
- is a copyleft license designed for free software.</para>
-
-<para>We have designed this License in order to use it for manuals
- for free software, because free software needs free documentation:
- a free program should come with manuals providing the same freedoms
- that the software does. But this License is not limited to software
- manuals; it can be used for any textual work, regardless of subject
- matter or whether it is published as a printed book. We recommend
- this License principally for works whose purpose is instruction
- or reference.</para>
-</sect3>
-
-<sect3 id="gfdl-1"> <title>APPLICABILITY AND DEFINITIONS</title>
-
-<para>This License applies to any manual or other work that
- contains a notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The "Document", below,
- refers to any such manual or work. Any member of the public is a
- licensee, and is addressed as "you".</para>
-
-<para>A "Modified Version" of the Document means any work
- containing the Document or a portion of it, either copied verbatim,
- or with modifications and/or translated into another language.</para>
-
-<para>A "Secondary Section" is a named appendix or a front-matter
- section of the Document that deals exclusively with the relationship
- of the publishers or authors of the Document to the Document's overall
- subject (or to related matters) and contains nothing that could fall
- directly within that overall subject. (For example, if the Document
- is in part a textbook of mathematics, a Secondary Section may not
- explain any mathematics.) The relationship could be a matter of
- historical connection with the subject or with related matters, or
- of legal, commercial, philosophical, ethical or political position
- regarding them.</para>
-
-<para>The "Invariant Sections" are certain Secondary Sections
- whose titles are designated, as being those of Invariant Sections,
- in the notice that says that the Document is released under this
- License.</para>
-
-<para>The "Cover Texts" are certain short passages of text that
- are listed, as Front-Cover Texts or Back-Cover Texts, in the notice
- that says that the Document is released under this License.</para>
-
-<para>A "Transparent" copy of the Document means a
- machine-readable copy, represented in a format whose specification
- is available to the general public, whose contents can be viewed and
- edited directly and straightforwardly with generic text editors
- or (for images composed of pixels) generic paint programs or
- (for drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic translation
- to a variety of formats suitable for input to text formatters.
- A copy made in an otherwise Transparent file format whose markup
- has been designed to thwart or discourage subsequent modification
- by readers is not Transparent. A copy that is not "Transparent"
- is called "Opaque".</para>
-
-<para>Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and standard-conforming
- simple HTML designed for human modification. Opaque formats include
- PostScript, PDF, proprietary formats that can be read and edited
- only by proprietary word processors, SGML or XML for which the
- DTD and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for output
- purposes only.</para>
-
-<para>The "Title Page" means, for a printed book, the title page
- itself, plus such following pages as are needed to hold, legibly,
- the material this License requires to appear in the title page.
- For works in formats which do not have any title page as such,
- "Title Page" means the text near the most prominent appearance of the
- work's title, preceding the beginning of the body of the text.</para>
-</sect3>
-
-<sect3 id="gfdl-2"> <title>VERBATIM COPYING</title>
-
-<para>You may copy and distribute the Document in any medium,
- either commercially or noncommercially, provided that this License,
- the copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this License.
- You may not use technical measures to obstruct or control the
- reading or further copying of the copies you make or distribute.
- However, you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow the
- conditions in section 3.</para>
-
-<para>You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.</para>
-</sect3>
-
-<sect3 id="gfdl-3"> <title>COPYING IN QUANTITY</title>
-
-<para>If you publish printed copies of the Document numbering more
- than 100, and the Document's license notice requires Cover Texts, you
- must enclose the copies in covers that carry, clearly and legibly,
- all these Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also clearly
- and legibly identify you as the publisher of these copies. The front
- cover must present the full title with all words of the title equally
- prominent and visible. You may add other material on the covers
- in addition. Copying with changes limited to the covers, as long as
- they preserve the title of the Document and satisfy these conditions,
- can be treated as verbatim copying in other respects.</para>
-
-<para>If the required texts for either cover are too voluminous to
- fit legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto adjacent
- pages.</para>
-
-<para>If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a machine-readable
- Transparent copy along with each Opaque copy, or state in or with each
- Opaque copy a publicly-accessible computer-network location containing
- a complete Transparent copy of the Document, free of added material,
- which the general network-using public has access to download
- anonymously at no charge using public-standard network protocols.
- If you use the latter option, you must take reasonably prudent steps,
- when you begin distribution of Opaque copies in quantity, to ensure
- that this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you distribute
- an Opaque copy (directly or through your agents or retailers) of
- that edition to the public.</para>
-
-<para>It is requested, but not required, that you contact the
- authors of the Document well before redistributing any large number
- of copies, to give them a chance to provide you with an updated
- version of the Document.</para>
-</sect3>
-
-<sect3 id="gfdl-4"> <title>MODIFICATIONS</title>
-
-<para>You may copy and distribute a Modified Version of the
- Document under the conditions of sections 2 and 3 above, provided
- that you release the Modified Version under precisely this License,
- with the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:</para>
-
-<orderedlist numeration="upperalpha"> <listitem><para>Use in the
-Title Page
- (and on the covers, if any) a title distinct from that of the
- Document, and from those of previous versions (which should, if
- there were any, be listed in the History section of the Document).
- You may use the same title as a previous version if the original
- publisher of that version gives permission.</para>
-</listitem>
-
-<listitem><para>List on the Title Page,
- as authors, one or more persons or entities responsible for
- authorship of the modifications in the Modified Version, together
- with at least five of the principal authors of the Document (all
- of its principal authors, if it has less than five).</para>
-</listitem>
-
-<listitem><para>State on the Title page
- the name of the publisher of the Modified Version, as the
- publisher.</para>
-</listitem>
-
-<listitem><para>Preserve all the
- copyright notices of the Document.</para>
-</listitem>
-
-<listitem><para>Add an appropriate
- copyright notice for your modifications adjacent to the other
- copyright notices.</para>
-</listitem>
-
-<listitem><para>Include, immediately
- after the copyright notices, a license notice giving the public
- permission to use the Modified Version under the terms of this
- License, in the form shown in the Addendum below.</para>
-</listitem>
-
-<listitem><para>Preserve in that license
- notice the full lists of Invariant Sections and required Cover
- Texts given in the Document's license notice.</para>
-</listitem>
-
-<listitem><para>Include an unaltered
- copy of this License.</para>
-</listitem>
-
-<listitem><para>Preserve the section
- entitled "History", and its title, and add to it an item stating at
- least the title, year, new authors, and publisher of the Modified
- Version as given on the Title Page. If there is no section entitled
- "History" in the Document, create one stating the title, year,
- authors, and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in the
- previous sentence.</para>
-</listitem>
-
-<listitem><para>Preserve the network
- location, if any, given in the Document for public access to
- a Transparent copy of the Document, and likewise the network
- locations given in the Document for previous versions it was
- based on. These may be placed in the "History" section. You may
- omit a network location for a work that was published at least four
- years before the Document itself, or if the original publisher of
- the version it refers to gives permission.</para>
-</listitem>
-
-<listitem><para>In any section entitled
- "Acknowledgements" or "Dedications", preserve the section's title,
- and preserve in the section all the substance and tone of each
- of the contributor acknowledgements and/or dedications given
- therein.</para>
-</listitem>
-
-<listitem><para>Preserve all the
- Invariant Sections of the Document, unaltered in their text and in
- their titles. Section numbers or the equivalent are not considered
- part of the section titles.</para>
-</listitem>
-
-<listitem><para>Delete any section
- entitled "Endorsements". Such a section may not be included in
- the Modified Version.</para>
-</listitem>
-
-<listitem><para>Do not retitle any
- existing section as "Endorsements" or to conflict in title with
- any Invariant Section.</para>
-</listitem> </orderedlist> <para>If the Modified Version includes new
-front-matter sections
- or appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option designate
- some or all of these sections as invariant. To do this, add their
- titles to the list of Invariant Sections in the Modified Version's
- license notice. These titles must be distinct from any other section
- titles.</para>
-
-<para>You may add a section entitled "Endorsements", provided it
- contains nothing but endorsements of your Modified Version by various
- parties--for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition of
- a standard.</para>
-
-<para>You may add a passage of up to five words as a Front-Cover
- Text, and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one passage
- of Front-Cover Text and one of Back-Cover Text may be added by (or
- through arrangements made by) any one entity. If the Document already
- includes a cover text for the same cover, previously added by you or
- by arrangement made by the same entity you are acting on behalf of,
- you may not add another; but you may replace the old one, on explicit
- permission from the previous publisher that added the old one.</para>
-
-<para>The author(s) and publisher(s) of the Document do not by
- this License give permission to use their names for publicity for
- or to assert or imply endorsement of any Modified Version.</para>
-</sect3>
-
-<sect3 id="gfdl-5"> <title>COMBINING DOCUMENTS</title>
-
-<para>You may combine the Document with other documents released
- under this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination all of
- the Invariant Sections of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.</para>
-
-<para>The combined work need only contain one copy of this
- License, and multiple identical Invariant Sections may be replaced
- with a single copy. If there are multiple Invariant Sections with
- the same name but different contents, make the title of each such
- section unique by adding at the end of it, in parentheses, the
- name of the original author or publisher of that section if known,
- or else a unique number. Make the same adjustment to the section
- titles in the list of Invariant Sections in the license notice of
- the combined work.</para>
-
-<para>In the combination, you must combine any sections entitled
- "History" in the various original documents, forming one section
- entitled "History"; likewise combine any sections entitled
- "Acknowledgements", and any sections entitled "Dedications".
- You must delete all sections entitled "Endorsements."</para>
-</sect3>
-
-<sect3 id="gfdl-6"> <title>COLLECTIONS OF DOCUMENTS</title>
-
-<para>You may make a collection consisting of the Document and
- other documents released under this License, and replace the
- individual copies of this License in the various documents with a
- single copy that is included in the collection, provided that you
- follow the rules of this License for verbatim copying of each of
- the documents in all other respects.</para>
-
-<para>You may extract a single document from such a collection,
- and distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.</para>
-</sect3>
-
-<sect3 id="gfdl-7"> <title>AGGREGATION WITH INDEPENDENT WORKS</title>
-<para>A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume
- of a storage or distribution medium, does not as a whole count
- as a Modified Version of the Document, provided no compilation
- copyright is claimed for the compilation. Such a compilation is
- called an "aggregate", and this License does not apply to the other
- self-contained works thus compiled with the Document, on account
- of their being thus compiled, if they are not themselves derivative
- works of the Document.</para>
-
-<para>If the Cover Text requirement of section 3 is applicable to
- these copies of the Document, then if the Document is less than
- one quarter of the entire aggregate, the Document's Cover Texts
- may be placed on covers that surround only the Document within
- the aggregate. Otherwise they must appear on covers around the
- whole aggregate.</para>
-</sect3>
-
-<sect3 id="gfdl-8"> <title>TRANSLATION</title>
-
-<para>Translation is considered a kind of modification, so you may
- distribute translations of the Document under the terms of section 4.
- Replacing Invariant Sections with translations requires special
- permission from their copyright holders, but you may include
- translations of some or all Invariant Sections in addition to the
- original versions of these Invariant Sections. You may include
- a translation of this License provided that you also include the
- original English version of this License. In case of a disagreement
- between the translation and the original English version of this
- License, the original English version will prevail.</para>
-</sect3>
-
-<sect3 id="gfdl-9"> <title>TERMINATION</title> <para>You may not copy,
-modify, sublicense, or distribute the
- Document except as expressly provided for under this License.
- Any other attempt to copy, modify, sublicense or distribute the
- Document is void, and will automatically terminate your rights under
- this License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses terminated
- so long as such parties remain in full compliance.</para>
-</sect3>
-
-<sect3 id="gfdl-10"> <title>FUTURE REVISIONS OF THIS LICENSE</title>
-
-<para>The Free Software Foundation may publish new, revised
- versions of the GNU Free Documentation License from
- time to time. Such new versions will be similar
- in spirit to the present version, but may differ in
- detail to address new problems or concerns. See <ulink
- url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
-
-<para>Each version of the License is given a distinguishing
- version number. If the Document specifies that a particular
- numbered version of this License "or any later version" applies
- to it, you have the option of following the terms and conditions
- either of that specified version or of any later version that has
- been published (not as a draft) by the Free Software Foundation.
- If the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation.</para>
-</sect3>
-
-<sect3 id="gfdl-11"> <title>How to use this License for your
-documents</title>
-
-<para>To use this License in a document you have written, include
- a copy of the License in the document and put the following copyright
- and license notices just after the title page:</para>
-
-<blockquote><para> Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with the Invariant Sections being LIST THEIR TITLES,
- with the Front-Cover Texts being LIST, and with the Back-Cover
- Texts being LIST. A copy of the license is included in the section
- entitled "GNU Free Documentation License".
-</para></blockquote>
-
-<para>If you have no Invariant Sections, write "with no Invariant
- Sections" instead of saying which ones are invariant. If you
- have no Front-Cover Texts, write "no Front-Cover Texts" instead of
- "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.</para>
-
-<para>If your document contains nontrivial examples of program
- code, we recommend releasing these examples in parallel under your
- choice of free software license, such as the GNU General Public
- License, to permit their use in free software.</para>
-</sect3> </sect2> </sect1>
-
-</article>
-
-
-
-
-<!-- This document is dedicated to all my friends and to the Mono hackers.
-
- License
-
-Here goes the GFDL, GNU Free Documentation License. -->
-
diff --git a/doc/mono-beginning.xml b/doc/mono-beginning.xml
deleted file mode 100644
index 6ab1019c225..00000000000
--- a/doc/mono-beginning.xml
+++ /dev/null
@@ -1,1294 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" []>
-<article>
-
- <articleinfo>
-
- <!-- Use "HOWTO", "mini HOWTO", "FAQ" in title, if appropriate -->
- <title>Running Mono</title>
-
-
- <author>
- <firstname>Hinne</firstname>
- <surname>Hettema</surname>
- <affiliation>
- <address><email>h.hettema@auckland.ac.nz</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Jaime</firstname>
- <surname>Anguiano Olarra</surname>
- <affiliation>
- <address><email>jaime@genuara.ugr.es</email></address>
- </affiliation>
- </author>
-
- <pubdate>2002-06</pubdate>
-
- <!-- Most recent revision goes at the top; list in descending order -->
- <!-- All dates specified in ISO "YYYY-MM-DD" format -->
- <revhistory>
- <revision>
- <revnumber>0.1</revnumber>
- <date>2002-06-20</date>
- <authorinitials>HH</authorinitials>
- <revremark>First release</revremark>
- </revision>
- </revhistory>
-
- <!-- Provide a good abstract; a couple of sentences is sufficient -->
- <abstract>
- <para>
- This document describes how to install mono on your Linux system
- from the source and describes some simple experiments you can
- perform with this installation.
- </para>
- </abstract>
-
- </articleinfo>
-
-
-<sect1 id="intro">
-<title>Introduction</title>
-
-<para>
-Mono is an open source implementation of the Common Language Infrastructure
-(CLI) specified in ECMA standard 335. It comes with a C# compiler and
-provides an extensible platform to develop and run applications that
-are interoperable with Microsoft .NET.
-</para>
-
-<para>
-Mono is not finished--it is a project still under development. As a
-result, installation and configuration may not be as smooth as you
-will be used to from other Linux applications. Nevertheless, mono is
-in a state that will allow you to get it up and running and gain
-experience with it--which is, I would suggest, a very smart thing to do.
-</para>
-
-<para>
-This document is limited in the following sense: it describes how to
-download a 'stable' version of mono as a 'tarball' and get it to run on
-your computer. I'm also assuming you run mono on Linux rather than
-on Windows. All the examples have been tested on a 'vanilla' Red Hat 7.3
-installation.
-</para>
-
-<para>
-There are two items this document will <emphasis>not
-</emphasis> cover: the first is how to self host the mcs compiler
-under linux and the second is the graphical user environment
-which is implemented as GTK#. These two interesting topics
-are the subject of two more howto's that I'm planning.
-</para>
-
-<para>
-This document is also less useful for two types of people.
-</para>
-<itemizedlist>
-<listitem>
-<para>
-If you are a very inexperienced linux user and want to know what mono is
-all about, there is an easier way to install mono. Go to mono.baselabs.org
-and download the rpm's ready for installation on your system. This site also
-runs a tutorial that is worth reading.
-</para>
-</listitem>
-<listitem>
-<para>
-If you are a very experienced user wanting to contribute to the mono code,
-you should probably regularly do a CVS download. At the moment, the mono
-code grows very fast, and the 'stable' releases still appear too slowly.
-</para>
-</listitem>
-
-</itemizedlist>
-
-<para>
-This document is aimed at the mono beginner, and aims to present a complete
-view of a minimal installation, which will allow you to experiment with
-mono to some degree. It also describes some of those experiments. We
-expect that after reading this document you'll go on to do either of
-two things:
-</para>
-<orderedlist>
-<listitem>
-<para>
-Continue to contribute to the mono project in some shape or form. The
-website has some ideas and suggestions under the heading 'Contributing'.
-</para>
-</listitem>
-<listitem>
-<para>
-Continue to write applications that run in mono.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
-We hope this document will be useful to you in your first steps with mono.
-Happy hacking!
-</para>
-
-<sect2 id="note">
-<title>A note on the development of this document</title>
-<para>
-This document is expected to grow into a full 'running mono howto' over time.
-As of yet, it does not really discuss some of the excellent efforts of others
-to package mono into an rpm or deb and prepare it for easy installation.
-It is our aim to include this in future versions of this document.
-</para>
-</sect2>
-
-<sect2 id="prerequisites">
-<title>Prerequisites</title>
-<para>
-This document assumes you are somewhat familiar with the architecture
-of the Common Language Infrastructure and the C# programming language.
-</para>
-
-<para>
-To compile mono on your system, you will also have to satisfy
-some dependencies on other software. A list of these are given
-on the mono download page. Read through this list to see if
-you've got all components.
-</para>
-
-<para>
-On a practical note, I had no dependency issues with the
-installation of mono 0.12 on a 'standard issue' Red Hat 7.3 build.
-</para>
-
-</sect2>
-
-<sect2 id="disclaimer"> <title>Disclaimer</title>
-
-<para>
-No liability for the contents of this document can be accepted.
-Use the concepts, examples and information at your own risk. There may
-be errors and inaccuracies, that could be damaging to your system.
-Proceed with caution, and although this is highly unlikely, the author(s)
-do not take any responsibility.
-</para>
-
-<para>
-All copyrights are held by their by their respective owners,
-unless specifically noted otherwise. Use of a term in this document
-should not be regarded as affecting the validity of any trademark or
-service mark. Naming of particular products or brands should not be
-seen as endorsements.
-</para>
-</sect2>
-
-<!-- Give credit where credit is due...very important --> <sect2
-id="credits"> <title>Credits / Contributors</title>
-
-<para> This document was originally created by Jaime Anguiano Olarra,
-but has been extensively rewritten. Credits are due to </para>
-<itemizedlist>
-<listitem>
-<para>Jaime Anguiano Olarra <email>jaime@geneura.ugr.es</email>
-for creating the original version of this document, and in fact
-the document that got me through installing mono for the first time.
-</para>
-</listitem>
-<listitem>
-<para>
-My partner Margaret for support on my more exotic ventures.
-</para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- Feedback -->
-<sect2 id="feedback"> <title>Feedback</title>
-
-<para>
-Feedback is most certainly welcome for this document. Send your
-additions, comments and criticisms to the following email address:
-<email>mono-docs-list@ximian.com</email>. I am lurking on this list
-and will maintain this document as required.
-</para>
-</sect2>
-</sect1>
-
-<!-- This is the preamble stuff over with the rest of document
-follows... -->
-<sect1 id="installation">
-<title> Installing Mono</title>
-
-<sect2 id="obtaining">
-<title>Obtaining Mono</title>
-<para>
-There are several ways to get Mono running on your computer. This
-document will discuss only one of those: downloading the source tarball
-and utilising the make utilities to get mono up and running. There is
-only one mono package to worry about if you are just after a 'base' install
-of mono: the mono runtime. This package, found under the name "mono-x.xx"
-has got a compiled version of the compiler built in.
-</para>
-
-<para>
-You'll be able to complete everything in this document if you just install
-the runtime, but taking a look at the compiler package is well worth the
-effort. The compiler is written in C# and is 'self hosting' which means it
-is able to compile itself.
-</para>
-
-<para>
-As of this moment, it is my understanding that there are still some issues
-with the 'self hosting' bit of the compiler on linux, although this is
-expected to work in later versions of mono. If you are just interested in
-finding out how mono will work under linux, I would not worry about the
-self-hosting bit for now. The self-hosting of the compiler will be the
-topic of a future howto.
-</para>
-
-<para>
-See <ulink url="http://www.go-mono.com/download">the mono download
-site</ulink> for the source of the tarballs.
-</para>
-
-<para>
-This page also lists the current versions of the software
-mono depends on. Make sure that your system has all the
-required versions, otherwise mono won't compile.
-</para>
-
-<para>
-At a minimum for mono 0.12, you'll need to:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-download and install
-<ulink url="http//www.freedesktop.org/software/pkgconfig">
-pkg-config</ulink>.
-</para>
-</listitem>
-<listitem>
-<para>
-download and install
-<ulink url="ftp://ftp.gtk.org/pub/gtk/v1.3/glib-1.3.12.tar.gz">
-glib 1.3</ulink>.
-</para>
-</listitem>
-</itemizedlist>
-
-<para>
-Installing the tarballs is done via GNU autoconf and
-automake. The general upshot of running autoconf and automake is that you
-can type <command>./configure</command> and then <command> make</command>
-to do the build.
-Typing <command>make install</command> completes the installation of mono
-on your system.
-</para>
-
-<para>
-To build the mono runtime package, unzip the tarball to some useful
-location. I tend to use <command>/usr/src</command> as the location,
-but you could really do it anywhere. For the install process, it is
-also a good idea to be 'root'. The installation process will shuttle
-some executables into <command>/usr/local/bin</command> (more about
-that later).
-</para>
-
-<para>
-Unzipping the tarballs will have created two directories in <command>
-/usr/src/</command>, one called something like mono-x.xx and the other
-mcs-x.xx. The one called 'mono' is the runtime environment, and this contains
-all that is initially needed to run mono and investigate its inner workings.
-</para>
-
-<para>
-To start building the mono runtime, first type <command>./configure</command>.
-You will see an output like this:
-</para>
-<programlisting>
-[root@taurus mono-0.12]# ./configure
-loading cache ./config.cache
-checking host system type... i686-pc-linux-gnu
-checking target system type... i686-pc-linux-gnu
-checking build system type... i686-pc-linux-gnu
-checking for a BSD compatible install... (cached) /usr/bin/install -c
-checking whether build environment is sane... yes
-checking whether make sets ${MAKE}... (cached) yes
-checking for working aclocal... found
-
-
-snip ....
-
-
-checking BASE_DEPENDENCIES_CFLAGS... -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-checking BASE_DEPENDENCIES_LIBS... -lglib-2.0
-checking for GC_malloc in -lgc... (cached) no
-configure: warning: Compiling mono without GC.
-checking if off_t is 64 bits wide... no
-checking if _FILE_OFFSET_BITS=64 gives 64 bit off_t... ok
-
-snip ...
-
-creating Makefile
-creating mono/Makefile
-creating mono/utils/Makefile
-creating mono/metadata/Makefile
-creating mono/dis/Makefile
-creating mono/cil/Makefile
-creating mono/arch/Makefile
-creating mono/os/Makefile
-creating mono/os/win32/Makefile
-creating mono/os/unix/Makefile
-creating mono/arch/x86/Makefile
-creating mono/arch/ppc/Makefile
-creating mono/arch/sparc/Makefile
-creating mono/arch/arm/Makefile
-creating mono/interpreter/Makefile
-creating mono/tests/Makefile
-creating mono/benchmark/Makefile
-creating mono/monoburg/Makefile
-creating mono/monograph/Makefile
-creating mono/jit/Makefile
-creating mono/io-layer/Makefile
-creating mono/handles/Makefile
-creating runtime/Makefile
-creating scripts/Makefile
-creating man/Makefile
-creating doc/Makefile
-creating docs/Makefile
-creating config.h
-config.h is unchanged
-
-
- GC: auto
-
-
-[root@taurus mono-0.12]#
-</programlisting>
-
-
-<para>
-This means that the configure script has now created all the
-makefiles necessary to complete the build on your system.
-Note the "GC: auto" at the end of the list of commands.
-GC stands for "garbage collection" and it
-will be addressed in a later section of this document.
-</para>
-<para>
-You are now ready to start the mono "build" process. To kick
-this off, you can type <command>make</command> at the
-command prompt. You'll see something like this:
-</para>
-
-<programlisting>
-[root@taurus mono-0.12]# make
-make all-recursive
-make[1]: Entering directory `/usr/src/mono-0.12'
-Making all in mono
-make[2]: Entering directory `/usr/src/mono-0.12/mono'
-Making all in utils
-make[3]: Entering directory `/usr/src/mono-0.12/mono/utils'
-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/glib-2.0
--I/usr/lib/glib-2.0/include -I/usr/include/glib-2.0
--I/usr/lib/glib-2.0/include -I../.. -I../../mono
--D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -Wall
--Wunused -Wmissing-prototypes -Wmissing-declarations
--Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
--Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings
--c mono-hash.c
-
-</programlisting>
-<para>
-and this will continue for a while. On my 1 GHz Duron with 256 MB of RAM the
-total build process takes about three minutes. All the terrible flags after gcc
-have essentially been set by the configure script and there is no need to worry
-about these.
-</para>
-<para>
-To finally install mono, you can type <command>make install</command>
-to get a working version of mono. This command will copy the
-scripts that run the executables to a place where the operating system
-will be ale to find them. This location is <command>/usr/local/bin</command>
-on my system.
-</para>
-
-</sect2>
-
-<sect2 id="garbage_collection">
-<title> Garbage Collection</title>
-<para>
-To make the mint interpreter work with garbage collection, you first need to
-install a garbage collection package on your system. Mono works with
-Boehm Garbage collection, which is found at
-<ulink url="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">
-http://www.hpl.hp.com/personal/Hans_Boehm/gc/
-</ulink>.
-</para>
-
-<para>
-To get garbage collection to work, I downloaded the source tarball
-into <command>/usr/src/</command> and typed <command>./configure</command>
-followed by <command>make</command> and <command>make install</command>.
-</para>
-
-<para>
-There is one glitch to work around. The header file for the garbage collection
-<command>gc.h</command> is found in the <command>/usr/src/gc6.0/include
-</command> directory (at least on my system). The mono build process will break
-on this location: it is looking for the header file in some other place called
-<command>/usr/include/gc/</command> and won't be able to find the correct
-header file.
-</para>
-
-<para>
-The solution is to build a symbolic link between these two locations as
-follows
-</para>
-
-<programlisting>
-[root@taurus include]# ln -s /usr/src/gc6.0/include/ /usr/include/gc
-</programlisting>
-
-<para>
-after which you'll be able to list the directory contents as if they were
-in <command>/usr/include</command>
-</para>
-
-<programlisting>
-[root@taurus include]# pwd
-/usr/include
-[root@taurus include]# ls /usr/include/gc
-cord.h gc_backptr.h gc_inline.h javaxfc.h
-ec.h gc_cpp.h gc_local_alloc.h leak_detector.h
-gc gc_gcj.h gc_mark.h new_gc_alloc.h
-gc_alloc.h gc.h gc_pthread_redirects.h private
-gc_amiga_redirects.h gc_inl.h gc_typed.h weakpointer.h
-[root@taurus include]#
-</programlisting>
-
-<para>
-To get mono to work with garbage collection, you'll have to rebuild the
-environment. This is done easily by typing <command>make distclean</command>
-to clean up any existing executables.
-</para>
-
-<para>
-Continue the build by typing <command>./configure</command>, and look at
-the last line. It should read:
-</para>
-
-<programlisting>
-
-snip...
-
-creating config.h
-
-
- GC: boehm
-
-
-[root@taurus mono-0.12]#
-
-</programlisting>
-
-<para>
-The GC: boehm tells you that garbage collection has been turned on. Now to
-compile the runtime, you type <command>make</command> and <command> make
-install</command> as previously.
-</para>
-
-<para>
-You now have mono working with Garbage Collection.
-</para>
-
-<para>
-Although my experimentation is incomplete as of this time, I have found some
-issues with running Garbage Collection continuously, and my recommendation
-would be to turn it off for now.
-</para>
-
-<para>
-To turn garbage collection off again, you have to go to the <command>/usr/src
-</command> directory where you extracted the tarball. Enter the <command>gc6.0
-</command> directory and type <command>make uninstall</command> to uninstall
-Garbage Collection. Then in your <command>mono</command> directory, type
-<command>make distclean</command> followed by <command>./configure</command>,
-<command>make</command> and <command>make install</command>.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="running">
-<title>Running mono</title>
-<sect2 id="basic">
-<title>Basic steps</title>
-<para>
-To work with mono, you first have to create a C# program. Open up
-your favourite editor, and type in the following code:
-</para>
-<programlisting>
-using System;
-
-class Hello
-{
-public static void Main(String[] args)
- {
- Console.WriteLine("mono:: is alive and well...");
-
- for (int i = 0; i < args.Length; i++)
- Console.WriteLine("Argument {0} = {1}", i, args[i]);
- }
-}
-</programlisting>
-
-<para>
-Save the file as hello.cs. To compile this into a working program,
-type mcs hello.cs. If you get the following:
-</para>
-<programlisting>
-[hinne@taurus hello]$ mcs hello.cs
-RESULT: 0
-[hinne@taurus hello]$
-</programlisting>
-<para>
-you know the compile worked fine. If you see some strange error
-messages including the word 'parser' somewhere, you made a mistake in
-your program. Fix this up first.
-</para>
-
-<para>
-You are now ready to execute your first mono program. To execute
-the code, type
-</para>
-
-<programlisting>
-[hinne@taurus hello]$ mono hello.exe arg1 arg2 arg 3
-</programlisting>
-<para>
-(where we have given some arguments just for fun) and you'll
-see the following:
-</para>
-
-<programlisting>
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg2
-Argument 2 = arg
-Argument 3 = 3
-RESULT: 0
-</programlisting>
-<para>
-As you can see, mono printed the line "mono:: is alive and well"
-and printed the list of arguments. This completes the creation
-and execution of your first mono program.
-</para>
-</sect2>
-
-<sect2 id="interpreter">
-<title>Interpreter</title>
-<para>
-But mono will allow you to do more. First of all, mono is the
-compiled mono execution environment which uses the Just in
-Time (JIT) compiler. Mono also comes with an interpreted
-environment, which can be accessed using the command 'mint'
-as follows
-</para>
-<programlisting>
-[hinne@taurus hello]$ mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-[hinne@taurus hello]$
-</programlisting>
-<para>
-As you can see, it makes no difference to mono output which
-environment you use, but what happens under the hood is very
-different. If you use 'mono' as the command line tool, you
-call the 'production' execution environment which will read
-your portable executable (PE) file, and call the just in
-time (JIT) compiler to compile the PE code down to machine
-level code (in my case, an x86 architecture) after which
-it is executed.
-</para>
-<para>
-If you use mint, the JIT is not used, and the PE code is
-interpreted into x86 instructions for execution. In fact,
-for our simple 'hello' mint is slightly faster. The point
-is that the JIT compiler will take some time to compile the
-code of our program and store it in some location in memory,
-but the subsequent execution of the code is faster with mono.
-</para>
-<para>
-
-You can see what happens below (the thing to look for is the
-'user' time: 0.1 seconds with mono and 0.06 seconds with mint):
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ time mono hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-RESULT: 0
-
-real 0m0.575s
-user 0m0.100s
-sys 0m0.010s
-[hinne@taurus hello]$ time mint hello.exe arg1 arg 2
-mono:: is alive and well...
-Argument 0 = arg1
-Argument 1 = arg
-Argument 2 = 2
-
-real 0m0.545s
-user 0m0.060s
-sys 0m0.000s
-[hinne@taurus hello]$
-</programlisting>
-<para>
-After this simple run of mono, it is time to play with some options.
-I won't cover these in detail since there are quite a few, and also because
-I assume you downloaded mono to hack it around in the first place. So
-I'll leave some pointers.
-</para>
-
-
-<sect3 id="debugging">
-<title>Debugging</title>
-<para>
-Mono supports a debugging option when you specify the "-d" flag while running
-the runtime. Utilising this flag will get you a significant amount of output,
-and it may be an idea to specify an output file as well. The interesting aspect
-of this file is that it allows you to see to some extent (quite precisely,
-actually) what the JIT compiler is up to.
-</para>
-</sect3>
-
-<sect3 id="statistics">
-<title>Statistics</title>
-<para>
-It is also possible to collect some runtime statistics on your program. These
-will give you some idea of the resource utilisation of your program.
-</para>
-<programlisting>
-[hinne@taurus hello]$ mono --stats hello.exe
-mono:: is alive and well...
-RESULT: 0
-Mono Jit statistics
-Compiled methods: 58
-Methods cache lookup: 15
-Method trampolines: 698
-Basic blocks: 188
-Max basic blocks: 15
-Allocated vars: 238
-Analyze stack repeat: 61
-Compiled CIL code size: 2450
-Native code size: 10167
-Max code size ratio: 7.13 (FileStream::FlushBuffer)
-Biggest method: 1016 (StreamWriter::Write)
-Code reallocs: 27
-Allocated code size: 22073
-Inlineable methods: 17
-Inlined methods: 22
-
-Created object count: 18
-Initialized classes: 127
-Used classes: 37
-Static data size: 288
-VTable data size: 8292
-</programlisting>
-</sect3>
-
-</sect2>
-
-<sect2 id="ILAsm_code" >
-<title>Inspecting IL Assembly code</title>
-<para>
-Mono also provides a small tool that will let you disassemble
-the executable (.exe) file so you can have a peek
-under the hood. This tool is monodis, and is run as
-follows:
-
-</para>
-<programlisting>
-[hinne@taurus hello]$ monodis hello.exe
-.assembly extern mscorlib
-{
- .ver 0:0:0:0
-}
-.assembly 'hello'
-{
- .hash algorithm 0x00008004
- .ver 0:0:0:0
-}
- .class private auto ansi beforefieldinit Hello
- extends [mscorlib]System.Object
- {
-
- // method line 1
- .method public hidebysig specialname rtspecialname
- instance default void .ctor() cil managed
- {
- // Method begins at RVA 0x20ec
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void System.Object::.ctor()
- IL_0006: ret
- } // end of method instance default void .ctor()
-
- // method line 2
- .method public static
- default void Main(string[] args) cil managed
- {
- // Method begins at RVA 0x20f4
- .entrypoint
- // Code size 56 (0x38)
- .maxstack 5
- .locals init (
- int32 V_0,
- int32 V_1)
- IL_0000: ldstr "mono:: is alive and well..."
- IL_0005: call void System.Console::WriteLine(string)
- IL_000a: ldc.i4.0
- IL_000b: stloc.0
- IL_000c: ldloc.0
- IL_000d: ldarg.s 0
- IL_000f: ldlen
- IL_0010: clt
- IL_0012: brfalse IL_0037
-
- IL_0017: ldstr "Argument {0} = {1}"
- IL_001c: ldloc.0
- IL_001d: box [mscorlib]System.Int32
- IL_0022: ldarg.s 0
- IL_0024: ldloc.0
- IL_0025: ldelem.ref
- IL_0026: call void System.Console::WriteLine(string, object, object)
- IL_002b: nop
- IL_002c: ldloc.0
- IL_002d: ldc.i4.1
- IL_002e: add
- IL_002f: stloc.1
- IL_0030: ldloc.1
- IL_0031: stloc.0
- IL_0032: br IL_000c
-
- IL_0037: ret
- } // end of method default void Main(string[] args)
-
- } // end of type Hello
-
-[hinne@taurus hello]$
-</programlisting>
-<para>
-This is the listing of the code of your program in a language
-called IL assembly, or Common Intermediate Language (CIL). The
-CIL provides the portability of the mono platform, and ensures
-that code compiled with Microsoft's .NET framework will work
-on mono and vice versa.
-</para>
-</sect2>
-
-<sect2 id="man_pages">
-<title>Man pages</title>
-
-<para>
-Mono has man pages already installed, and generally, typing <command>
-man</command> before the command you wish to execute should help in
-getting a list of the options. In many cases, it's still up to you
-to figure out what they do.
-</para>
-
-</sect2>
-
-
-</sect1>
-
-
-<sect1 id="problems">
-<title>Problems</title>
-<para>
-With mono being as new as it is, it is likely that you will have some
-problems with installation. The following are some ideas to help you
-out in a bind:
-</para>
-
-<orderedlist>
-<listitem>
-<para>
-See the Ximian Bugzilla page to find out if there is a bug
-report about your specific issue.
-</para>
-</listitem>
-
-<listitem>
-<para>Read this document. If it does not solve your problem, we want to
-know about it. Please send a message to the email address listed for
-feedback at the beginning of the document.</para>
-</listitem>
-
-<listitem>
-
-<para>
-Visit the mono mailing lists' archives and do a little
-research in there for threads talking about the problem you have.
-</para>
-</listitem>
-
-<listitem>
-<para>
-If you still cannot correct the problem, send a message to the
-mono list. When you do this, please be as precise as possible--i.e.
-mention the system you are running, the version of mono that you have the
-problem with, and give any error codes and other output that might appear.
-</para>
-</listitem>
-</orderedlist>
-
-</sect1>
-
-<sect1 id="knownproblems">
-<title>Known Problems</title>
-
-<para> mcs fails to compile in Linux.
-To the best of my knowledge, as of yet mcs cannot compile in Linux.
-Try to install the already made packages from
-http://mono.baselabs.org/index.php/software. </para>
-</sect1>
-
-<!-- Legal Sections --> <sect1 id="copyright">
- <title>Copyright and License</title>
-
- <!-- The LDP recommends, but doesn't require, the GFDL --> <para>
- This document, <emphasis>Running mono</emphasis>, is copyrighted
- (c) 2002 by <emphasis>Hinne Hettema</emphasis> and
- <emphasis>Jaime Anguiano Olarra</emphasis>. Permission is
- granted to copy, distribute and/or modify this document under the
- terms of the GNU Free Documentation License, Version 1.1 or any later
- version published by the Free Software Foundation; with no Invariant
- Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU Free
- Documentation License".
- </para>
-
-<sect2 id="gfdl"> <title>GNU Free Documentation License</title>
-<!-- GNU Project - Free Software Foundation (FSF) -->
-
-<para>Version 1.1, March 2000</para>
-
-<blockquote> <para>Copyright (C) 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is
-permitted to copy and distribute verbatim copies of this license document,
-but changing it is not allowed.</para> </blockquote>
-
-<sect3 id="gfdl-0"> <title>PREAMBLE</title>
-
-<para>The purpose of this License is to make a manual, textbook,
- or other written document "free" in the sense of freedom: to assure
- everyone the effective freedom to copy and redistribute it, with
- or without modifying it, either commercially or noncommercially.
- Secondarily, this License preserves for the author and publisher
- a way to get credit for their work, while not being considered
- responsible for modifications made by others.</para>
-
-<para>This License is a kind of "copyleft", which means that
- derivative works of the document must themselves be free in the
- same sense. It complements the GNU General Public License, which
- is a copyleft license designed for free software.</para>
-
-<para>We have designed this License in order to use it for manuals
- for free software, because free software needs free documentation:
- a free program should come with manuals providing the same freedoms
- that the software does. But this License is not limited to software
- manuals; it can be used for any textual work, regardless of subject
- matter or whether it is published as a printed book. We recommend
- this License principally for works whose purpose is instruction
- or reference.</para>
-</sect3>
-
-<sect3 id="gfdl-1"> <title>APPLICABILITY AND DEFINITIONS</title>
-
-<para>This License applies to any manual or other work that
- contains a notice placed by the copyright holder saying it can be
- distributed under the terms of this License. The "Document", below,
- refers to any such manual or work. Any member of the public is a
- licensee, and is addressed as "you".</para>
-
-<para>A "Modified Version" of the Document means any work
- containing the Document or a portion of it, either copied verbatim,
- or with modifications and/or translated into another language.</para>
-
-<para>A "Secondary Section" is a named appendix or a front-matter
- section of the Document that deals exclusively with the relationship
- of the publishers or authors of the Document to the Document's overall
- subject (or to related matters) and contains nothing that could fall
- directly within that overall subject. (For example, if the Document
- is in part a textbook of mathematics, a Secondary Section may not
- explain any mathematics.) The relationship could be a matter of
- historical connection with the subject or with related matters, or
- of legal, commercial, philosophical, ethical or political position
- regarding them.</para>
-
-<para>The "Invariant Sections" are certain Secondary Sections
- whose titles are designated, as being those of Invariant Sections,
- in the notice that says that the Document is released under this
- License.</para>
-
-<para>The "Cover Texts" are certain short passages of text that
- are listed, as Front-Cover Texts or Back-Cover Texts, in the notice
- that says that the Document is released under this License.</para>
-
-<para>A "Transparent" copy of the Document means a
- machine-readable copy, represented in a format whose specification
- is available to the general public, whose contents can be viewed and
- edited directly and straightforwardly with generic text editors
- or (for images composed of pixels) generic paint programs or
- (for drawings) some widely available drawing editor, and that is
- suitable for input to text formatters or for automatic translation
- to a variety of formats suitable for input to text formatters.
- A copy made in an otherwise Transparent file format whose markup
- has been designed to thwart or discourage subsequent modification
- by readers is not Transparent. A copy that is not "Transparent"
- is called "Opaque".</para>
-
-<para>Examples of suitable formats for Transparent copies include
- plain ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and standard-conforming
- simple HTML designed for human modification. Opaque formats include
- PostScript, PDF, proprietary formats that can be read and edited
- only by proprietary word processors, SGML or XML for which the
- DTD and/or processing tools are not generally available, and the
- machine-generated HTML produced by some word processors for output
- purposes only.</para>
-
-<para>The "Title Page" means, for a printed book, the title page
- itself, plus such following pages as are needed to hold, legibly,
- the material this License requires to appear in the title page.
- For works in formats which do not have any title page as such,
- "Title Page" means the text near the most prominent appearance of the
- work's title, preceding the beginning of the body of the text.</para>
-</sect3>
-
-<sect3 id="gfdl-2"> <title>VERBATIM COPYING</title>
-
-<para>You may copy and distribute the Document in any medium,
- either commercially or noncommercially, provided that this License,
- the copyright notices, and the license notice saying this License
- applies to the Document are reproduced in all copies, and that
- you add no other conditions whatsoever to those of this License.
- You may not use technical measures to obstruct or control the
- reading or further copying of the copies you make or distribute.
- However, you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow the
- conditions in section 3.</para>
-
-<para>You may also lend copies, under the same conditions stated
- above, and you may publicly display copies.</para>
-</sect3>
-
-<sect3 id="gfdl-3"> <title>COPYING IN QUANTITY</title>
-
-<para>If you publish printed copies of the Document numbering more
- than 100, and the Document's license notice requires Cover Texts, you
- must enclose the copies in covers that carry, clearly and legibly,
- all these Cover Texts: Front-Cover Texts on the front cover, and
- Back-Cover Texts on the back cover. Both covers must also clearly
- and legibly identify you as the publisher of these copies. The front
- cover must present the full title with all words of the title equally
- prominent and visible. You may add other material on the covers
- in addition. Copying with changes limited to the covers, as long as
- they preserve the title of the Document and satisfy these conditions,
- can be treated as verbatim copying in other respects.</para>
-
-<para>If the required texts for either cover are too voluminous to
- fit legibly, you should put the first ones listed (as many as fit
- reasonably) on the actual cover, and continue the rest onto adjacent
- pages.</para>
-
-<para>If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a machine-readable
- Transparent copy along with each Opaque copy, or state in or with each
- Opaque copy a publicly-accessible computer-network location containing
- a complete Transparent copy of the Document, free of added material,
- which the general network-using public has access to download
- anonymously at no charge using public-standard network protocols.
- If you use the latter option, you must take reasonably prudent steps,
- when you begin distribution of Opaque copies in quantity, to ensure
- that this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you distribute
- an Opaque copy (directly or through your agents or retailers) of
- that edition to the public.</para>
-
-<para>It is requested, but not required, that you contact the
- authors of the Document well before redistributing any large number
- of copies, to give them a chance to provide you with an updated
- version of the Document.</para>
-</sect3>
-
-<sect3 id="gfdl-4"> <title>MODIFICATIONS</title>
-
-<para>You may copy and distribute a Modified Version of the
- Document under the conditions of sections 2 and 3 above, provided
- that you release the Modified Version under precisely this License,
- with the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version
- to whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:</para>
-
-<orderedlist numeration="upperalpha"> <listitem><para>Use in the
-Title Page
- (and on the covers, if any) a title distinct from that of the
- Document, and from those of previous versions (which should, if
- there were any, be listed in the History section of the Document).
- You may use the same title as a previous version if the original
- publisher of that version gives permission.</para>
-</listitem>
-
-<listitem><para>List on the Title Page,
- as authors, one or more persons or entities responsible for
- authorship of the modifications in the Modified Version, together
- with at least five of the principal authors of the Document (all
- of its principal authors, if it has less than five).</para>
-</listitem>
-
-<listitem><para>State on the Title page
- the name of the publisher of the Modified Version, as the
- publisher.</para>
-</listitem>
-
-<listitem><para>Preserve all the
- copyright notices of the Document.</para>
-</listitem>
-
-<listitem><para>Add an appropriate
- copyright notice for your modifications adjacent to the other
- copyright notices.</para>
-</listitem>
-
-<listitem><para>Include, immediately
- after the copyright notices, a license notice giving the public
- permission to use the Modified Version under the terms of this
- License, in the form shown in the Addendum below.</para>
-</listitem>
-
-<listitem><para>Preserve in that license
- notice the full lists of Invariant Sections and required Cover
- Texts given in the Document's license notice.</para>
-</listitem>
-
-<listitem><para>Include an unaltered
- copy of this License.</para>
-</listitem>
-
-<listitem><para>Preserve the section
- entitled "History", and its title, and add to it an item stating at
- least the title, year, new authors, and publisher of the Modified
- Version as given on the Title Page. If there is no section entitled
- "History" in the Document, create one stating the title, year,
- authors, and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in the
- previous sentence.</para>
-</listitem>
-
-<listitem><para>Preserve the network
- location, if any, given in the Document for public access to
- a Transparent copy of the Document, and likewise the network
- locations given in the Document for previous versions it was
- based on. These may be placed in the "History" section. You may
- omit a network location for a work that was published at least four
- years before the Document itself, or if the original publisher of
- the version it refers to gives permission.</para>
-</listitem>
-
-<listitem><para>In any section entitled
- "Acknowledgements" or "Dedications", preserve the section's title,
- and preserve in the section all the substance and tone of each
- of the contributor acknowledgements and/or dedications given
- therein.</para>
-</listitem>
-
-<listitem><para>Preserve all the
- Invariant Sections of the Document, unaltered in their text and in
- their titles. Section numbers or the equivalent are not considered
- part of the section titles.</para>
-</listitem>
-
-<listitem><para>Delete any section
- entitled "Endorsements". Such a section may not be included in
- the Modified Version.</para>
-</listitem>
-
-<listitem><para>Do not retitle any
- existing section as "Endorsements" or to conflict in title with
- any Invariant Section.</para>
-</listitem> </orderedlist> <para>If the Modified Version includes new
-front-matter sections
- or appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option designate
- some or all of these sections as invariant. To do this, add their
- titles to the list of Invariant Sections in the Modified Version's
- license notice. These titles must be distinct from any other section
- titles.</para>
-
-<para>You may add a section entitled "Endorsements", provided it
- contains nothing but endorsements of your Modified Version by various
- parties--for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition of
- a standard.</para>
-
-<para>You may add a passage of up to five words as a Front-Cover
- Text, and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one passage
- of Front-Cover Text and one of Back-Cover Text may be added by (or
- through arrangements made by) any one entity. If the Document already
- includes a cover text for the same cover, previously added by you or
- by arrangement made by the same entity you are acting on behalf of,
- you may not add another; but you may replace the old one, on explicit
- permission from the previous publisher that added the old one.</para>
-
-<para>The author(s) and publisher(s) of the Document do not by
- this License give permission to use their names for publicity for
- or to assert or imply endorsement of any Modified Version.</para>
-</sect3>
-
-<sect3 id="gfdl-5"> <title>COMBINING DOCUMENTS</title>
-
-<para>You may combine the Document with other documents released
- under this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination all of
- the Invariant Sections of all of the original documents, unmodified,
- and list them all as Invariant Sections of your combined work in
- its license notice.</para>
-
-<para>The combined work need only contain one copy of this
- License, and multiple identical Invariant Sections may be replaced
- with a single copy. If there are multiple Invariant Sections with
- the same name but different contents, make the title of each such
- section unique by adding at the end of it, in parentheses, the
- name of the original author or publisher of that section if known,
- or else a unique number. Make the same adjustment to the section
- titles in the list of Invariant Sections in the license notice of
- the combined work.</para>
-
-<para>In the combination, you must combine any sections entitled
- "History" in the various original documents, forming one section
- entitled "History"; likewise combine any sections entitled
- "Acknowledgements", and any sections entitled "Dedications".
- You must delete all sections entitled "Endorsements."</para>
-</sect3>
-
-<sect3 id="gfdl-6"> <title>COLLECTIONS OF DOCUMENTS</title>
-
-<para>You may make a collection consisting of the Document and
- other documents released under this License, and replace the
- individual copies of this License in the various documents with a
- single copy that is included in the collection, provided that you
- follow the rules of this License for verbatim copying of each of
- the documents in all other respects.</para>
-
-<para>You may extract a single document from such a collection,
- and distribute it individually under this License, provided you
- insert a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.</para>
-</sect3>
-
-<sect3 id="gfdl-7"> <title>AGGREGATION WITH INDEPENDENT WORKS</title>
-<para>A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume
- of a storage or distribution medium, does not as a whole count
- as a Modified Version of the Document, provided no compilation
- copyright is claimed for the compilation. Such a compilation is
- called an "aggregate", and this License does not apply to the other
- self-contained works thus compiled with the Document, on account
- of their being thus compiled, if they are not themselves derivative
- works of the Document.</para>
-
-<para>If the Cover Text requirement of section 3 is applicable to
- these copies of the Document, then if the Document is less than
- one quarter of the entire aggregate, the Document's Cover Texts
- may be placed on covers that surround only the Document within
- the aggregate. Otherwise they must appear on covers around the
- whole aggregate.</para>
-</sect3>
-
-<sect3 id="gfdl-8"> <title>TRANSLATION</title>
-
-<para>Translation is considered a kind of modification, so you may
- distribute translations of the Document under the terms of section 4.
- Replacing Invariant Sections with translations requires special
- permission from their copyright holders, but you may include
- translations of some or all Invariant Sections in addition to the
- original versions of these Invariant Sections. You may include
- a translation of this License provided that you also include the
- original English version of this License. In case of a disagreement
- between the translation and the original English version of this
- License, the original English version will prevail.</para>
-</sect3>
-
-<sect3 id="gfdl-9"> <title>TERMINATION</title> <para>You may not copy,
-modify, sublicense, or distribute the
- Document except as expressly provided for under this License.
- Any other attempt to copy, modify, sublicense or distribute the
- Document is void, and will automatically terminate your rights under
- this License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses terminated
- so long as such parties remain in full compliance.</para>
-</sect3>
-
-<sect3 id="gfdl-10"> <title>FUTURE REVISIONS OF THIS LICENSE</title>
-
-<para>The Free Software Foundation may publish new, revised
- versions of the GNU Free Documentation License from
- time to time. Such new versions will be similar
- in spirit to the present version, but may differ in
- detail to address new problems or concerns. See <ulink
- url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
-
-<para>Each version of the License is given a distinguishing
- version number. If the Document specifies that a particular
- numbered version of this License "or any later version" applies
- to it, you have the option of following the terms and conditions
- either of that specified version or of any later version that has
- been published (not as a draft) by the Free Software Foundation.
- If the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation.</para>
-</sect3>
-
-<sect3 id="gfdl-11"> <title>How to use this License for your
-documents</title>
-
-<para>To use this License in a document you have written, include
- a copy of the License in the document and put the following copyright
- and license notices just after the title page:</para>
-
-<blockquote><para> Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with the Invariant Sections being LIST THEIR TITLES,
- with the Front-Cover Texts being LIST, and with the Back-Cover
- Texts being LIST. A copy of the license is included in the section
- entitled "GNU Free Documentation License".
-</para></blockquote>
-
-<para>If you have no Invariant Sections, write "with no Invariant
- Sections" instead of saying which ones are invariant. If you
- have no Front-Cover Texts, write "no Front-Cover Texts" instead of
- "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.</para>
-
-<para>If your document contains nontrivial examples of program
- code, we recommend releasing these examples in parallel under your
- choice of free software license, such as the GNU General Public
- License, to permit their use in free software.</para>
-</sect3> </sect2> </sect1>
-
-</article>
-
diff --git a/doc/mono-build-w32.sh b/doc/mono-build-w32.sh
deleted file mode 100755
index 4e011f24d04..00000000000
--- a/doc/mono-build-w32.sh
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/bin/bash
-
-# Script to automate the building of mono and its dependencies on
-# cygwin. Relies on wget being installed (could make it fall back to
-# using lynx, links, w3, curl etc), assumes that gcc, make, tar,
-# automake, etc are already installed too (may be worth testing for
-# all that right at the top and bailing out if missing/too old/too new
-# etc).
-
-
-# See where we are. This will become the top level directory for the
-# installation, unless we are given an alternative location
-here=$1
-test -z "$here" && here=`pwd`
-
-echo "Building Mono and dependencies in $here, installing to $here/install"
-
-PATH=$here/install/bin:$here/install/lib:$PATH
-
-# Make sure cygwin's libiconv is installed, or libtool blows its tiny mind
-if [ ! -f /usr/lib/libiconv.la ]; then
- echo "You need to install the cygwin \"libiconv\" package!"
- exit -1
-fi
-
-# Check mono out first, so we can run aclocal from inside the mono dir (it
-# needs to see which version of the real aclocal to run)
-test -z "$CVSROOT" && CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono
-export CVSROOT
-
-echo "Updating mono"
-
-# cvs checkout does the same as cvs update, except that it copes with
-# new modules being added
-
-# Older versions of cvs insist on a cvs login for :pserver: methods
-# Make sure cvs is using ssh for :ext: methods
-
-if [ ${CVSROOT:0:5} = ":ext:" ]; then
- CVS_RSH=ssh
- export CVS_RSH
-elif [ ${CVSROOT:0:9} = ":pserver:" ]; then
- if ! grep $CVSROOT ~/.cvspass > /dev/null 2>&1 ; then
- echo "Logging into CVS server. Anonymous CVS password is probably empty"
- cvs login || exit -1
- fi
-fi
-
-cvs checkout mono || exit -1
-
-echo "Checking automake version"
-automake_required="1.6.2"
-automake_version=`automake --version | head -1 | awk '{print $4}' | tr -d '[a-zA-Z]' | sed 's/-.*$//g'`
-echo "Found automake version $automake_version"
-if expr $automake_version \< $automake_required > /dev/null; then
- echo "Your automake is too old! You need version $automake_required or newer."
- exit -1
-else
- echo "Automake version new enough."
-fi
-
-# This causes libgc-not-found problem
-#
-## Select the stable version anyway...
-#if [ ! -z "${AUTO_STABLE}" -o -e /usr/autotool/stable ]; then
-# export AUTO_STABLE=${AUTO_STABLE:-/usr/autotool/stable}
-# export AUTO_DEVEL=${AUTO_STABLE}
-#fi
-
-# Need to install pkgconfig and set ACLOCAL_FLAGS if there is not a
-# pkgconfig installed already. Otherwise set PKG_CONFIG_PATH to the
-# glib we're about to install in $here/install.
-
-
-# --print-ac-dir was added in 1.2h according to the ChangeLog. This
-# should mean that any automake new enough for us has it.
-
-# This sets ACLOCAL_FLAGS to point to the freshly installed pkgconfig
-# if it doesnt already exist on the system (otherwise auto* breaks if
-# it finds two copies of the m4 macros). The GIMP for Windows
-# pkgconfig sets its prefix based on the location of its binary, so we
-# dont need PKG_CONFIG_PATH (the internal pkgconfig config file
-# $prefix is handled similarly). For the cygwin pkgconfig we do need to
-# set it, and we need to edit the mingw pc files too.
-
-function aclocal_scan () {
- # Quietly ignore the rogue '-I' and other aclocal flags that
- # aren't actually directories...
- #
- # cd into mono/ so that the aclocal wrapper can work out which version
- # of aclocal to run, and add /usr/share/aclocal too cos aclocal looks there
- # too.
- for i in `(cd mono && aclocal --print-ac-dir)` /usr/share/aclocal $ACLOCAL_FLAGS
- do
- if [ -f $i/$1 ]; then
- return 0
- fi
- done
-
- return 1
-}
-
-function install_icuconfig() {
- if [ ! -f $here/install/bin/icu-config ]; then
- wget http://www.go-mono.com/archive/icu-config
- mv icu-config $here/install/bin
- chmod 755 $here/install/bin/icu-config
- fi
-}
-
-
-function install_package() {
- zipfile=$1
- markerfile=$2
- name=$3
-
- echo "Installing $name..."
- if [ ! -f $here/$zipfile ]; then
- wget http://www.go-mono.com/archive/$zipfile
- fi
-
- # Assume that the package is installed correctly if the marker
- # file is there
- if [ ! -f $here/install/$markerfile ]; then
- (cd $here/install || exit -1; unzip -o $here/$zipfile || exit -1) || exit -1
- fi
-}
-
-# pkgconfig is only used during the build, so we can use the cygwin version
-# if it exists
-if aclocal_scan pkg.m4 ; then
- install_pkgconfig=no
-else
- install_pkgconfig=yes
-fi
-
-# This causes libgc-not-found problem
-#
-## But we still need to use the mingw libs for glib & co
-#ACLOCAL_FLAGS="-I $here/install/share/aclocal $ACLOCAL_FLAGS"
-
-#export PATH
-#export ACLOCAL_FLAGS
-
-# Grab pkg-config, glib etc
-if [ ! -d $here/install ]; then
- mkdir $here/install || exit -1
-fi
-
-# Fetch and install pkg-config, glib, iconv, intl
-
-if [ $install_pkgconfig = "yes" ]; then
- install_package pkgconfig-0.11-20020310.zip bin/pkg-config.exe pkgconfig
-else
- echo "Not installing pkgconfig, you already seem to have it installed"
-fi
-install_package glib-2.0.4-20020703.zip lib/libglib-2.0-0.dll glib
-install_package glib-dev-2.0.4-20020703.zip lib/glib-2.0.lib glib-dev
-install_package libiconv-1.7.zip lib/iconv.dll iconv
-install_package libintl-0.10.40-20020101.zip lib/libintl-1.dll intl
-install_package libgc-dev.zip lib/gc.dll gc-dev
-install_package icu-2.6.1-Win32_msvc7.zip icu/bin/icuuc26.dll icu
-
-install_icuconfig
-
-if [ $install_pkgconfig = "no" ]; then
- echo "Fixing up the pkgconfig paths"
- for i in $here/install/lib/pkgconfig/*.pc
- do
- mv $i $i.orig
- sed -e "s@^prefix=/target\$@prefix=$here/install@" < $i.orig > $i
- done
- export PKG_CONFIG_PATH=$here/install/lib/pkgconfig
-fi
-
-# Needed to find the libgc bits
-export CFLAGS="-I $here/install/include -I $here/install/icu/include"
-export LDFLAGS="-L$here/install/lib -L$here/install/icu/lib"
-export PATH="$here/install/icu/bin:$PATH"
-
-# Make sure we build native w32, not cygwin
-#CC="gcc -mno-cygwin"
-#export CC
-
-# --prefix is used to set the class library dir in mono, and it needs
-# to be in windows-native form. It also needs to have '\' turned into
-# '/' to avoid quoting issues during the build.
-prefix=`cygpath -w $here/install | sed -e 's@\\\\@/@g'`
-
-# Build and install mono
-echo "Building and installing mono"
-
-(cd $here/mono; ./autogen.sh --prefix=$prefix || exit -1; make || exit -1; make install || exit -1) || exit -1
-
-
-echo ""
-echo ""
-echo "All done."
-echo "Add $here/install/bin and $here/install/lib to \$PATH"
-echo "Don't forget to copy the class libraries to $here/install/lib"
-
diff --git a/doc/mono-build.sh b/doc/mono-build.sh
deleted file mode 100755
index 17b604cc273..00000000000
--- a/doc/mono-build.sh
+++ /dev/null
@@ -1,254 +0,0 @@
-#! /usr/bin/env bash
-
-# Script to automate the building of mono and its dependencies.
-# Relies on wget being installed (could make it fall back to using
-# lynx, links, w3, curl etc), assumes that gcc, make, tar, automake,
-# etc are already installed too (may be worth testing for all that
-# right at the top and bailing out if missing/too old/too new etc).
-
-
-# See where we are. This will become the top level directory for the
-# installation, unless we are given an alternative location
-here=$1
-test -z "$here" && here=`pwd`
-
-echo "Building Mono and dependencies in $here, installing to $here/install"
-
-PATH=$here/install/bin:$PATH
-LD_LIBRARY_PATH=$here/install/lib:$LD_LIBRARY_PATH
-
-# Find a tool to fetch files. It must take an HTTP URL on the command line and
-# save the file in the current directory. (It must also talk HTTP/1.1, which
-# rules out BSD's ftp(1), at least on FreeBSD 4.4.)
-viable_downloaders="wget fetch"
-for i in $viable_downloaders
-do
- if which $i > /dev/null; then
- downloader=`which $i`
- break
- fi
-done
-
-if [ -z "$downloader" ]; then
- echo "Can't find a commandline download tool (tried: $viable_downloaders)"
- exit -1
-else
- echo "Using $downloader to fetch files"
-fi
-
-# We need to prefer GNU make if there's a choice. BSD make falls over in
-# the glib build if gtk-doc is disabled.
-viable_makers="gmake make"
-for i in $viable_makers
-do
- if which $i > /dev/null; then
- MAKE=$i
- break
- fi
-done
-
-if [ -z "$MAKE" ]; then
- echo "Can't find a make tool (tried: $viable_makers)"
- exit -1
-else
- echo "Using $MAKE"
- export MAKE
-fi
-
-# Need to install pkgconfig and set ACLOCAL_FLAGS if there is not a
-# pkgconfig installed already. Otherwise set PKG_CONFIG_PATH to the
-# glib we're about to install in $here/install. This script could
-# attempt to be clever and see if glib 2 is already installed, too.
-
-
-# --print-ac-dir was added in 1.2h according to the ChangeLog. This
-# should mean that any automake new enough for us has it.
-
-function aclocal_scan () {
- # Quietly ignore the rogue '-I' and other aclocal flags that
- # aren't actually directories...
- for i in `aclocal --print-ac-dir` $ACLOCAL_FLAGS
- do
- if [ -f $i/$1 ]; then
- return 0
- fi
- done
-
- return 1
-}
-
-function pkgconfig_scan () {
- module=$1
-
- echo "Finding pkgconfig files for $module..."
-
- # Should we use locate? or just a list of well-known directories?
- # locate has the problem of false positives in src dirs
- for i in /usr/lib/pkgconfig /usr/local/lib/pkgconfig
- do
- echo "Looking in $i..."
- if [ -f $i/${module}.pc ]; then
- echo $i
- return
- fi
- done
-}
-
-function install_package() {
- tarfile=$1
- dirname=$2
- name=$3
- configure_options=$4
-
- echo "Installing $name..."
- if [ ! -f $here/$tarfile ]; then
- (cd $here && $downloader http://www.go-mono.com/archive/$tarfile)
- fi
-
- # Assume that the package built correctly if the dir is there
- if [ ! -d $here/$dirname ]; then
- # Build and install package
- (cd $here && tar xzf $tarfile) || exit -1
- (cd $here/$dirname; ./configure --prefix=$here/install $configure_options || exit -1; $MAKE || exit -1; $MAKE install || exit -1)
- success=$?
- if [ $success -ne 0 ]; then
- echo "***** $name build failure. Run rm -rf $here/$dirname to have this script attempt to build $name again next time"
- exit -1
- fi
- fi
-}
-
-if aclocal_scan pkg.m4 ; then
- install_pkgconfig=no
-else
- install_pkgconfig=yes
-fi
-
-if aclocal_scan glib-2.0.m4 ; then
- install_glib=no
- if [ $install_pkgconfig = "yes" ]; then
- # We have to tell the newly-installed pkgconfig about the
- # system-installed glib
- PKG_CONFIG_PATH=`pkgconfig_scan glib-2.0`:$PKG_CONFIG_PATH
- fi
-else
- install_glib=yes
- PKG_CONFIG_PATH="$here/install/lib/pkgconfig:$PKG_CONFIG_PATH"
-fi
-
-if [ -f /usr/include/gc/gc.h ]; then
- install_libgc=no
-else
- install_libgc=yes
-fi
-
-if [ $install_pkgconfig = "yes" -o $install_glib = "yes" ]; then
- ACLOCAL_FLAGS="-I $here/install/share/aclocal $ACLOCAL_FLAGS"
-fi
-
-export PATH
-export LD_LIBRARY_PATH
-export ACLOCAL_FLAGS
-export PKG_CONFIG_PATH
-
-# Freebsd puts iconv in /usr/local, so see if we need to add
-# /usr/local/include and /usr/local/lib to CPPFLAGS and LDFLAGS. We could
-# skip this if it would add /usr/include and /usr/lib, but leaving it
-# shouldnt break anything.
-#
-# Actually, it does break stuff :-( gcc 3.2 prints gratuitous warnings
-# and configure fails to find header files because of this cpp output.
-
-if [ ! -f /usr/include/iconv.h ]; then
- iconvdirs="/usr/local/include"
- for i in $iconvdirs
- do
- if [ -f $i/iconv.h ]; then
- iconvh_dir=$i
- break
- fi
- done
-
- if [ -z "$iconvh_dir" ]; then
- echo "Can't find iconv headers (looked in $iconvdirs)"
- exit -1
- fi
-
- iconvlib_dir=`echo $iconvh_dir | sed -e 's/include/lib/'`
-
- echo "Adding $iconvh_dir to CPPFLAGS"
- echo "Adding $iconvlib_dir to LDFLAGS"
-
- CPPFLAGS="$CPPFLAGS -I$here/install/include -I$iconvh_dir"
- LDFLAGS="$LDFLAGS -L$here/install/lib -L$iconvlib_dir"
-else
- CPPFLAGS="$CPPFLAGS -I$here/install/include"
- LDFLAGS="$LDFLAGS -L$here/install/lib"
-fi
-
-export CPPFLAGS
-export LDFLAGS
-
-# Grab pkg-config, glib and libgc if necessary
-
-if [ $install_pkgconfig = "yes" ]; then
- install_package pkgconfig-0.8.0.tar.gz pkgconfig-0.8.0 pkgconfig ""
-else
- echo "Not installing pkgconfig, you already seem to have it installed"
-fi
-
-if [ $install_glib = "yes" ]; then
- install_package glib-2.0.6.tar.gz glib-2.0.6 glib ""
-else
- echo "Not installing glib, you already seem to have it installed"
-fi
-
-if [ $install_libgc = "yes" ]; then
- install_package gc6.1alpha5.tar.gz gc6.1alpha5 libgc "--enable-threads=pthreads"
- # make install didnt do the headers!
- mkdir -p $here/install/include/gc
- cp -r $here/gc6.1alpha5/include/* $here/install/include/gc
-else
- echo "Not installing libgc, you already seem to have it installed"
-fi
-
-# End of build dependencies, now get the latest mono checkout and build that
-
-test -z "$CVSROOT" && CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono
-export CVSROOT
-
-echo "Updating mono"
-
-# cvs checkout does the same as cvs update, except that it copes with
-# new modules being added
-
-# Older versions of cvs insist on a cvs login for :pserver: methods
-# Make sure cvs is using ssh for :ext: methods
-
-if [ ${CVSROOT:0:5} = ":ext:" ]; then
- CVS_RSH=ssh
- export CVS_RSH
-elif [ ${CVSROOT:0:9} = ":pserver:" ]; then
- # Chop off the trailing /mono because cvs 1.11 adds the port number
- # into the .cvspass line
- if ! grep ${CVSROOT%:/mono} ~/.cvspass > /dev/null 2>&1 ; then
- echo "Logging into CVS server. Anonymous CVS password is probably empty"
- cvs login
- fi
-fi
-
-(cd $here && cvs checkout mono) || exit -1
-
-# Build and install mono
-echo "Building and installing mono"
-
-(cd $here/mono; ./autogen.sh --prefix=$here/install || exit -1; $MAKE || exit -1; $MAKE install || exit -1) || exit -1
-
-
-echo ""
-echo ""
-echo "All done."
-echo "Add $here/install/bin to \$PATH"
-echo "Add $here/install/lib to \$LD_LIBRARY_PATH"
-echo "Don't forget to copy the class libraries to $here/install/lib"
-
diff --git a/doc/mono-contribution-howto b/doc/mono-contribution-howto
deleted file mode 100644
index ea3a4eaae53..00000000000
--- a/doc/mono-contribution-howto
+++ /dev/null
@@ -1,551 +0,0 @@
-
- <Mono newbie coders start file>
- <h1> A little help for mono newbie coders </h1>
-
-
- For those who are new to Mono and are impatient to contribute
- with code (uhh... you are brave!!) here is the document you
- should read.
-
-
- You will see all Mono hackers say the same (great minds have
- similar way of thinking): First, DO WRITE TESTS!!!. In order
- to do that:
-
- <ul>
- * Start with the NUnit Tests Guidelines. In the cvs
- they are located at: mcs/class/doc/NUnitGuideli...
-
- * But wait, this is a document for impatient
- people. So EVERYTHING should be here. Well, it is.
- </ul>
-
-
- <h2> The NUnit Tests Guidelines document </h2>
-
- Mono NUnit Test Guidelines and Best Practices
-
- Authors: Nick Drochak <ndrochak@gol.com>
- Martin Baulig <martin@gnome.org>
- Last Update: 2002-03-02
- Rev: 0.3
-
- <b> Purpose </b>
-
- This document captures all the good ideas people have had
- about writing NUnit tests for the mono project. This document
- will be useful for anyone who writes or maintains unit tests.
-
- <b> Other resources </b>
-
- - mcs/class/README has an explanation of the build process and
- how it relates to the tests.
- - http://nunit.sourceforge.net is the place to find out about
- NUnit
-
- <b> Getting Started </b>
-
- If you are new to writing NUnit tests, there is a template
- you may use to help get started. The file is:
-
- mcs/class/doc/TemplateTest.cs
-
-
- (2.- This is the point two!. This file is just after the end
- of the guidelines. Copy/paste it in another buffer. And keep
- reading.)
-
- Save a copy of this file in the appropriate test subdirecty
- (see below), and replace all the [text] markers with
- appropriate code. Comments in the template are there to guide
- you. You should also look at existing tests to see how other
- people have written them.
-
- mcs/class/corlib/Test/System.Collections/CollectionBaseTest.cs
-
- is a small one that might help.
-
- (3.- You reached the third point. And as expected, it's just
- here to tell you that the content of CollectionBaseTest.cs is
- after the TemplateTest.cs code at the end of these
- guidelines.)
-
- The directory that will contain your new file depends on the
- assembly/namespace of the class for which you are creating the
- tests. Under mcs/class there is a directory for each assembly.
- In each assembly there is a Test directory, e.g.
- mcs/class/corlib/Test. In the Test directory there are
- sub-directories for each namespace in the assembly, e.g.
- mcs/class/corlib/Test/Sytem. Put your new test file in the
- appropriate sub-directory under Test for the class you are
- testing.
-
- Once your test class is complete, you need to add it to the
- AllTests.cs file in the same directory as your new test. Add a
- call to "suite.AddTest()" passing the name of your new test
- class's suite property as the parameter. You will see examples
- in the AllTests.cs file, so just copy and paste inside there.
-
- Once all of that is done, you can do a 'make test' from the top
- mcs directory. Your test class will be automagically included
- in the build and the tests will be run along with all the
- others.
-
- <b> Tips </b>
-
- <b> Provide an unique error message for Assert() </b>
-
- Include an unique message for each Assert() so that when the
- assert fails, it is trivial to locate the failing one.
- Otherwise, it may be difficult to determine which part of the
- test is failing. A good way to ensure unique messages is to use
- something like #A01, #A02 etc.
-
- Bad:
-<pre>
- AssertEquals("array match", compare[0], i1[0]);
- AssertEquals("array match", compare[1], i1[1]);
- AssertEquals("array match", compare[2], i1[2]);
- AssertEquals("array match", compare[3], i1[3]);
-</pre>
- Good:
-<pre>
- AssertEquals("#A01", compare[0], i1[0]);
- AssertEquals("#A02", compare[1], i1[1]);
- AssertEquals("#A03", compare[2], i1[2]);
- AssertEquals("#A04", compare[3], i1[3]);
-</pre>
- Once you used such a number in an Assert(), don't change it
- later on - people might use it it identify the test in bug
- reports or in mailing lists.
-
- <b> Use AssertEquals() to compare things, not Assert(). </b>
-
- Never compare two values with Assert() - if the test fails,
- people have no idea what went wrong while AssertEquals()
- reports the failed value.
-
- Bad:
-<pre>
- Assert ("A01", myTicks[0] == t1.Ticks);
-</pre>
- Good:
-<pre>
- AssertEquals ("A01", myTicks[0], t1.Ticks);
-</pre>
-
- <b> Constructors </b>
-
- When writing your testcase, please make sure to provide a
- constructor which takes no arguments:
-
-<pre>
- public class DateTimeTest : TestCase
- {
-
- public DateTimeTest() : base ("[MonoTests.System.DateTimeTest]") {}
- public DateTimeTest (string name): base(name) {}
-
- public static ITest Suite
- {
- get {
- TestSuite suite = new TestSuite ();
- return suite;
- }
- }
- }
-</pre>
-
- <b> Namespace </b>
-
- Please keep the namespace within each test directory
- consistent - all tests which are referenced in the same
- AllTests.cs must be in the same namespace. Of course you can
- use subnamespaces as you like - especially for subdirectories
- of your testsuite.
-
- For instance, if your AllTests.cs is in namespace "MonoTests"
- and you have a subdirectory called "System", you can put all
- the tests in that dir into namespace "MonoTests.System".
-
- <b> Test your test with the microsoft runtime </b>
-
- If possible, try to run your testsuite with the Microsoft
- runtime on Windows and make sure all tests in it pass. This is
- especially important if you're writing a totally new testcase
- - without this check you can never be sure that your testcase
- contains no bugs ....
-
- Don't worry if you're writing your test on Linux, other people
- can test it for you on Windows.
-
- Sometimes you may discover that a test doesn't show the
- expected result when run with the Microsoft runtime - either
- because there is a bug in their runtime or something is
- misleading or wrong in their documentation. In this case,
- please put a detailed description of the problem to
- mcs/class/doc/API-notes and do also report it to the list -
- we'll forward this to the Microsoft people from time to time
- to help them fix their documentation and runtime.
-
-<pre>
--------------------- TemplateTest.cs begins ----------
-
- // this is a template for making NUnit tests. Text enclosed
- // in square brackets (and the brackets themselves) should be
- // replaced by appropiate code.
-
- // [File Name].cs - NUnit Test Cases for [explain here]
- //
- // [Author Name] ([Author email Address])
- //
- // (C) [Copyright holder]
- //
-
- // these are the standard namespaces you will need. You may
- // need to add more depending on your tests.
- using NUnit.Framework;
- using System;
-
- // all test namespaces start with "MonoTests." Append the
- // Namespace that contains the class you are testing, e.g.
- // MonoTests.System.Collections
- namespace MonoTests.[Namespace]
- {
-
- // the class name should end with "Test" and start with the name
- // of the class you are testing, e.g. CollectionBaseTest
- public class [Class to be tested]Test : TestCase {
-
- // there should be two constructors for your class. The first
- // one (without parameters) should set the name to something
- // unique.
- // Of course the name of the method is the same as the name of
- // the class
- public [Constructor]() : base ("[Namespace.Class]") {}
- public [Constructor](string name) : base(name) {}
-
- // this method is run before each Test* method is called. You
- // can put variable initialization, etc. here that is common to
- // each test.
- // Just leave the method empty if you don't need to use it.
- protected override void SetUp() {}
-
- // this method is run after each Test* method is called. You
- // can put clean-up code, etc. here. Whatever needs to be done
- // after each test. Just leave the method empty if you don't need
- // to use it.
- protected override void TearDown() {}
-
- // this property is required. You need change the parameter for
- // typeof() below to be your class.
- public static ITest Suite {
- get {
- return new TestSuite(typeof([Classname here]));
- }
- }
-
- // this is just one of probably many test methods in your test
- // class. each test method must start with "Test". All methods
- // in your class which start with "Test" will be automagically
- // called by the NUnit framework.
- public void Test[Something] {
- // inside here you will exercise your class and then
- // call Assert()
- }
-}
-
----------------------- TemplateTest.cs ends --------------
-
----------------------- CollectionBaseTest.cs begins ------
- //
- // System.Collections.CollectionBase
- // Test suite for System.Collections.CollectionBase
- //
- // Author:
- // Nick D. Drochak II
- //
- // (C) 2001 Nick D. Drochak II
- //
-
-
- using System;
- using System.Collections;
- using NUnit.Framework;
-
- namespace MonoTests.System.Collections
- {
-
- public class CollectionBaseTest : TestCase
- {
- public CollectionBaseTest () : base
- ("System.Collection.CollectionBase testsuite")
- {}
- public CollectionBaseTest (String name) : base (name)
- {}
-
- // We need a concrete class to test the abstract base
- // class
- public class ConcreteCollection : CollectionBase
- {
- // These fields are used as markers to test
- // the On* hooks.
- public bool onClearFired;
- public bool onClearCompleteFired;
-
- public bool onInsertFired;
- public int onInsertIndex;
- public bool onInsertCompleteFired;
- public int onInsertCompleteIndex;
-
- public bool onRemoveFired;
- public int onRemoveIndex;
- public bool onRemoveCompleteFired;
- public int onRemoveCompleteIndex;
-
- public bool onSetFired;
- public int onSetOldValue;
- public int onSetNewValue;
- public bool onSetCompleteFired;
- public int onSetCompleteOldValue;
- public int onSetCompleteNewValue;
-
- // This constructor is used to test OnValid()
- public ConcreteCollection()
- {
- IList listObj;
- listObj = this;
- listObj.Add(null);
- }
-
- // This constructor puts consecutive integers into the list
- public ConcreteCollection(int i) {
- IList listObj;
- listObj = this;
-
- int j;
- for (j = 0; j< i; j++) {
- listObj.Add(j);
- }
- }
-
- // A helper method to look at a value in the
- // list at a specific index
- public int PeekAt(int index)
- {
- IList listObj;
- listObj = this;
- return (int) listObj[index];
- }
-
- // Mark the flag if this hook is fired
- protected override void OnClear() {
- this.onClearFired = true;
- }
-
- // Mark the flag if this hook is fired
- protected override void OnClearComplete()
- {
- this.onClearCompleteFired = true;
- }
-
- // Mark the flag, and save the paramter if
- // this hook is fired
- protected override void OnInsert(int index,
- object value)
- {
- this.onInsertFired = true;
- this.onInsertIndex = index;
- }
-
- // Mark the flag, and save the paramter if
- // this hook is fired
- protected override void OnInsertComplete(int index,
- object value)
- {
- this.onInsertCompleteFired = true;
- this.onInsertCompleteIndex = index;
- }
-
- // Mark the flag, and save the paramter if this hook
- // is fired
- protected override void OnRemove(int index,
- object value)
- {
- this.onRemoveFired = true;
- this.onRemoveIndex = index;
- }
-
- // Mark the flag, and save the paramter if this hook
- // is fired
- protected override void OnRemoveComplete(int index,
- object value)
- {
- this.onRemoveCompleteFired = true;
- this.onRemoveCompleteIndex = index;
- }
-
- // Mark the flag, and save the paramters if this hook
- // is fired
- protected override void OnSet(int index, object oldValue,
- object newValue)
- {
- this.onSetFired = true;
- this.onSetOldValue = (int) oldValue;
- this.onSetNewValue = (int) newValue;
- }
-
- // Mark the flag, and save the paramters if this hook
- // is fired
- protected override void OnSetComplete(int index,
- object oldValue,
- object newValue)
- {
- this.onSetCompleteFired = true;
- this.onSetCompleteOldValue = (int) oldValue;
- this.onSetCompleteNewValue = (int) newValue;
- }
- } // public class ConcreteCollection
-
- public static ITest Suite {
- get {
- return new TestSuite
- (typeof(CollectionBaseTest));
- }
- }
-
- // Check the count property
- public void TestCount() {
- ConcreteCollection myCollection;
- myCollection = new ConcreteCollection(4);
- Assert(4 == myCollection.Count);
- }
-
- // Make sure GetEnumerator returns an object
- public void TestGetEnumerator() {
- ConcreteCollection myCollection;
- myCollection = new ConcreteCollection(4);
- Assert(null != myCollection.GetEnumerator());
- }
-
- // OnValid disallows nulls
- public void TestOnValid() {
- ConcreteCollection myCollection;
- try {
- myCollection = new ConcreteCollection();
- }
- catch (ArgumentNullException) {
- }
- }
-
- // Test various Insert paths
- public void TestInsert() {
- ConcreteCollection myCollection;
- int numberOfItems;
- numberOfItems = 3;
- // The constructor inserts
- myCollection = new ConcreteCollection(numberOfItems);
- Assert(myCollection.onInsertFired);
- Assert(myCollection.onInsertCompleteFired);
-
- // Using the IList interface, check inserts in the middle
- IList listObj = myCollection;
- listObj.Insert(1, 9);
- Assert(myCollection.onInsertIndex == 1);
- Assert(myCollection.onInsertCompleteIndex == 1);
- Assert(myCollection.PeekAt(1) == 9);
- }
-
- // Test Clear and it's hooks
- public void TestClear()
- {
- ConcreteCollection myCollection;
- int numberOfItems;
- numberOfItems = 1;
- myCollection = new ConcreteCollection(numberOfItems);
- myCollection.Clear();
- Assert(myCollection.Count == 0);
- Assert(myCollection.onClearFired);
- Assert(myCollection.onClearCompleteFired);
- }
-
- // Test RemoveAt, other removes and the hooks
- public void TestRemove()
- {
- ConcreteCollection myCollection;
- int numberOfItems;
- numberOfItems = 3;
- // Set up a test collection
- myCollection = new ConcreteCollection(numberOfItems);
-
- // The list is 0-based. So if we remove the second one
- myCollection.RemoveAt(1);
-
- // We should see the original third one in it's place
- Assert(myCollection.PeekAt(1) == 2);
- Assert(myCollection.onRemoveFired);
- Assert(myCollection.onRemoveIndex == 1);
- Assert(myCollection.onRemoveCompleteFired);
- Assert(myCollection.onRemoveCompleteIndex == 1);
- IList listObj = myCollection;
- listObj.Remove(0);
- // Confirm parameters are being passed to the hooks
- Assert(myCollection.onRemoveIndex == 0);
- Assert(myCollection.onRemoveCompleteIndex == 0);
- }
-
- // Test the random access feature
- public void TestSet()
- {
- ConcreteCollection myCollection;
- int numberOfItems;
- numberOfItems = 3;
- myCollection = new ConcreteCollection(numberOfItems);
- IList listObj = myCollection;
- listObj[0] = 99;
- Assert((int) listObj[0] == 99);
- Assert(myCollection.onSetFired);
- Assert(myCollection.onSetCompleteFired);
- Assert(myCollection.onSetOldValue == 0);
- Assert(myCollection.onSetCompleteOldValue == 0);
- Assert(myCollection.onSetNewValue == 99);
- Assert(myCollection.onSetCompleteNewValue == 99);
- }
-}
-
-}
------------------------ CollectionBaseTest.cs ends --------
-
-</pre>
- <ul>
- * If you use Emacs, you might want to use the .emacs
- file and the package developed by Brad Merrill
- mailto:zbrad@cybercom.net. It will allow you to
- highlight and indent in C# style in your Emacs
- editor. (XEmacs will still work but it'll also
- complain).
-
- * CSharpDevelop is a GPLed IDE developed by IC#Code.
- Search for it at sourceforge if you are interested
- in it.
-
- * For those who Java: "A comparison of Microsoft's
- C# programming language to Sun Microsystem's Java
- Programming language" by Dare Obasanjo is a really good
- (very complete) text to read.
-
- * Suggest this point and more, now I can't think of
- anything more.
- </ul>
-
- Enjoy!!.
-
- (c) 2002, <a href="mailto:jaime@geneura.ugr.es">Jaime Anguiano Olarra</a>.
-
- The parts included in this document are property of their
- respective authors.
-
- Note: The identation of the source code has been changed a bit
- so it could fit better in the website. Anyway, as nothing more
- changed, the files should work as expected.
-
diff --git a/doc/mono-hacking-roadmap.html b/doc/mono-hacking-roadmap.html
deleted file mode 100644
index 0dc6b9a766b..00000000000
--- a/doc/mono-hacking-roadmap.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<html>
-<head><title>Mono Hacking Roadmap</title>
-<style type="text/css">
-h1 {
-color: #efefef;
-font-size: 18pt;
-font-family: "Trebuchet MS";
-border: 0;
-margin: 0;
-padding: 1em;
-background: #666666;
-}
-
-h2, h3, h4, h5, h6 {
-font-family: Verdana,sans-serif;
-font-weight: bold;
-margin: 9pt;
-}
-
-h2, h3 {
-font-size: 18px;
-}
-
-h2 {
-padding: 3px;
-color: #000000;
-}
-
-h3 {
-font-size: 13px;
-border-bottom: 2px solid #dddddd;
-}
-
-h4 {
-border-bottom: 2px solid #dddddd;
-}
-
-body, table {
-background-color: #ffffff;
-font-family: Verdana, sans-serif; font-size: 12px;
-color: black;
-margin: 0;
-padding: 0;
-border: 0;
- margin-left: 20%;
- margin-right: 20%;
-}
-
-p {
-margin-left: 2em;
-margin-right: 2em;
-}
-
-ul li {
-margin-left: 2em;
-}
-
-img {
-border: 0;
-vertical-align: top;
-}
-
-</style>
-</head>
-<body>
-<center>
- <h1>
- Mono Hacking Roadmap
- <br>
-
- <font size=1>Miguel de Icaza (<a href="mailto:miguel@ximian.com">miguel@ximian.com</a>)</font>
-
- </h1>
- <p>
-</center>
-
-<h3>Introductory notes</h3>
-
- <p>The intention of this document and the <a
- href="http://www.go-mono.com/mono-roadmap.html">Mono
- Roadmap</a> is to be a basis for discussion. I want to build
- on these two documents, and update as we get more insight into
- the release process and the technologies we want to ship.
-
-<h3>Background</h3>
-
- <p>At the 2003 PDC Microsoft introduced many new technologies,
- which many of us are very excited about. To me, it underlined
- the importance of having a roadmap for users of Mono
- technologies. That way they know precisely what to expect
- from us when. We have been working on Mono for more than two
- years, and it is important that we release a stable product to
- the public.
-
- <p>We have various degrees of maturity and feature
- completeness in our code base, and I do not believe that we
- should aim to be full implementation .NET 1.0 or .NET 1.1 in
- our 1.0 release, that would just push the release at least for
- another year . The <a
- href="http://www.go-mono.com/mono-roadmap.html">Mono
- Roadmap</a> emphasizes this assumption.
-
- <p>The 1.0 release is critical for the adoption of Mono on the
- Linux environment, even if it is not as complete as the
- Framework, lets get something stable, and fun to people to
- use.
-
-<h3>Mono 1.0: missing functionality.</h3>
-
- <p>For the 1.0 release, there are a number of features that we
- will have to complete, in no particular order:
-
- <ul>
- <li>We need to fix corcompare and our cor-compare
- pages to support both 1.0 and 1.1 API API compares.
-
- We might want to move this outside of the Mono site,
- to reduce the complexity of the HTML hackage, and use
- ASP.NET to implement this. Bonus points if we use
- Piers' nice dynamic tree to load the CorCompare data
- dynamically.
-
- <li>Global Assembly Cache: Needed to support the
- parallel installation of .NET 1.0 and 1.1 assemblies,
- and to fix the various Assembly loading routines.
-
- <li>PowerPC port.
-
- <li>ECMA profile: We will like take care of this one
- at Novell.
-
- <li>Assembly signing: I do not know what is the state
- of this feature currently in Mono, maybe Sebastien and
- Zoltan could give us an update here.
-
- <li>ASP.NET caching: Non-existant at this point, this
- needs to be implemented.
-
- <li>Stability of ASP.NET and Mod_Mono. They are both
- functional, but they fail under load. Much debugging
- and testing must go into these components. As we use
- more of it, we have found more little problems surface
- on it.
-
- <li>Codebase audit: Duncan did an audit of Corlib, but
- we must do an audit of all the assemblies that we we
- are going to ship, just to get an idea of the major
- areas missing.
- </ul>
-
- <p>The team at Novell will focus on these areas. We of course
- welcomes the contribution of the rest of the Mono team and
- encourage the developers to focus on 1.0, to have a solid
- release, and a solid foundation that can lead to 1.2
-
- <p>We will use Bugzilla milestones to track these issues.
-
-<h3>Synchronized releases</h3>
-
- <p>It would be great if we can ship Mono 1.0 with Gtk# 1.0 and
- a preview of Monodoc with the early documentation.
-
-<h3>Alpha components.</h3>
-
- <p>Various Mono developers are working on areas that will not
- make it into the 1.0 timeframe: JScript, WSE, VB.NET,
- Windows.Forms, Generics. We should continue to work on
- those components, as they will come shortly after, and they
- are probably more fun to develop than stabilizing the core.
-
-<h3>New components: Whidbey and Longhorn features</h3>
-
- <p>Everyone is probably very excited about the new features in
- the Whidbey release of .NET, and most importantly the Longhorn
- features. I am sure that many of us will not resist the urge
- to put some of the new assemblies on CVS.
-
- <p>We will likely add a profile for those of you that want to
- work on this, and can not wait to get your hands in the code,
- although keep in mind that your contributions wont reach the
- general audience until we successfully ship 1.0.
-
- <p>The things to keep in mind while adding code which is not
- in .NET 1.0 and .NET 1.1:
-
- <ul>
- <li>Make sure you surround new classes and methods
- with the appropriate define: NET_1_2 for things
- available on the .NET 1.2 SDK (Whidbey) and NET_3
- define for things only available on the Longhorn API.
- We need this so that these methods do not appear on
- the 1.0 and 1.1 builds.
-
- <li>If you add generic types or methods, also surround
- the method with GENERICS for now, since our compiler
- can not currently build this code yet. This is
- redundant with the NET_1_2 define but important.
-
- <li>For every assembly you update, make sure that you
- also add the relevant AssemblyInfo versioning
- information. If possible, when you add methods from
- .NET 1.2 to the build, also update the AssemblyInfo.cs
- for the library.
- </ul>
-
- <p>There are three areas of new hot features:
-
- <ul>
- <li>Class library improvements (Whidbey, Mono 1.2
- time frames).
-
- <li>Indigo: They will release this in 2005 or 2006 and
- wont make it into the 2004 Whidbey .NET 1.2 release.
-
- <li>Avalon: Definitely a Longhorn-bound feature.
- </ul>
-
- <p>Most code that will reach the users in the short time frame
- (next year) will be related to the Whidbey improvements, so I
- encourage developers to work on those pieces, as they are the
- ones that will help Mono the most.
-
-<h3>ASP.NET 2.0 plans</h3>
-
- <p>Gonzalo will continue to coordinate this effort; At this
- time ASP.NET 2.0 features will not make it into Mono 1.0.
-
-<h3>Avalon plans</h3>
-
- <p>On the surface Avalaon seems like it uses something like
- GdiPlus/Cairo for rendering. That was my initial feeling, but
- it turns out that they had to rewrite everything to have a
- performing rendering engine, and implement some very advanced
- rendering features that include compositing with video
- streams, also their brushes seem to be fairly powerful.
-
- <p>XAML, a new markup language that binds tags to .NET classes
- was also presented, but this is the least interesting part. A
- tiny compiler translates the XAML source files into C# code.
- The whole process is just like Glade, and should be easy to
- do.
-
- <p>The really elaborate parts are the rendering engine, and the
- composition model for widgets. It is a complete new toolkit,
- and if we want to implement this one, we will have to have a
- new toolkit on Unix, incompatible with everything else, maybe
- stressing the importance of working with other open source
- projects in defining a cross-toolkit theming strategy to
- address this particular problem.
-
- <p>A Mini-Avalon is easy to do, but a complete one will
- require much interaction with other groups: the Cairo folks
- are probably the most qualified to assist us.
-
-<h3>Indigo Plans</h3>
-
- <p>Indigo is still an early product (<a
- href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx?pull=/library/en-us/dnlong/html/indigofaq1.asp">FAQ</a>),
- but it could benefit from continued development of our WSE1
- and WSE2 components, later to bring some of the code to it.
-
- <p>Again, since people are visibly excited about this
- technology, we will lay down in the next few days a framework
- to contribute to it.
-
-
-<p>
-<i>Last Updated: Nov 1st, 2003</i>
-
-</body>
-</html>
diff --git a/doc/mono-roadmap.html b/doc/mono-roadmap.html
deleted file mode 100644
index c57b040b058..00000000000
--- a/doc/mono-roadmap.html
+++ /dev/null
@@ -1,396 +0,0 @@
-<html>
-<head><title>Mono Roadmap</title>
-<style type="text/css">
-h1 {
-color: #efefef;
-font-size: 18pt;
-font-family: "Trebuchet MS";
-border: 0;
-margin: 0;
-padding: 1em;
-background: #666666;
-}
-
-h2, h3, h4, h5, h6 {
-font-family: Verdana,sans-serif;
-font-weight: bold;
-margin: 9pt;
-}
-
-h2, h3 {
-font-size: 18px;
-}
-
-h2 {
-padding: 3px;
-color: #000000;
-}
-
-h3 {
-font-size: 13px;
-border-bottom: 2px solid #dddddd;
-}
-
-h4 {
-border-bottom: 2px solid #dddddd;
-}
-
-body, table {
-background-color: #ffffff;
-font-family: Verdana, sans-serif; font-size: 12px;
-color: black;
-margin: 0;
-padding: 0;
-border: 0;
- margin-left: 20%;
- margin-right: 20%;
-}
-
-p {
-margin-left: 2em;
-margin-right: 2em;
-}
-
-ul li {
-margin-left: 2em;
-}
-
-img {
-border: 0;
-vertical-align: top;
-}
-
-</style>
-</head>
-<body>
-
-<center>
- <h1>
- Mono Project Roadmap
- <br>
- <font size=1>Miguel de Icaza (miguel@ximian.com)</font>
- </h1>
- <p>
-</center>
-
-<i>Last update: Jan 18th, 2004</i>
-
-<h3>Introduction</h3>
-
- <p>This document describes the high-level roadmap for <a
- href="http://www.go-mono.com">Mono</a>.
-
- <p>The Mono project started in 2001 as an effort to implement
- the .NET Framework to Unix. To bring both the new programming
- model based on the Common Language Infrastructure and C# as
- well as helping people migrate their existing knowledge and
- applications to Unix. Mono today supports a wide variety of
- operating systems, CPUs and a large chunk of the functionality
- available in the .NET Framework.
-
- <p>At the October 2003 PDC conference a number of new
- technologies were announced. From the Mono release schedule
- perspective, we should think about these technologies from
- their release time standpoint, and the features that must be
- supported.
-
- <p>This document outlines the roadmap for the Mono project
- from my perspective: what we can effectively deliver on the
- dates outlined. Since Mono is a large open source project,
- things might change and new features can be incorporated
- into the plan if external sources devote enough attention to
- those problems.
-
- <p>This is the timeline:
- <p>
- <center>
- <img src="roadmap.png">
- </center>
-
-<h3>Background</h3>
-
- <p>So far Microsoft has published two versions of the .NET
- Framework: 1.0 and 1.1, the later with incremental updates to
- the changes in 1.0
-
- <p>The Mono project has been tracking some of the
- improvements available in those two releases, some of the
- highlights of our work so far are:
-
- <ul>
- <li> Core: mscorlib, System, System.Security and
- System.XML assemblies.
-
- <li> ADO.NET: System.Data and various other database
- providers.
-
- <li> ASP.NET: WebForms and Web Services are
- supported. Work on WSE1/WSE2 has also started.
-
- <li> Compilers: C#, VB.NET and various command line tools
- that are part of the SDK.
-
- <li> Open Source, Unix and Gnome specific libraries.
- </ul>
-
- <p>Other components like Windows.Forms, Directory.Services,
- Enterprise Services and JScript are being developed but are not
- as mature as the other components but are under development by
- various people.
-
- <p>Some other smaller and less used components do not have yet
- a Mono equivalent (System.Management, System.Drawing.Design).
-
-<h3>Mono release strategy</h3>
-
- <p>The levels of maturity of Mono fluctuate depending on the
- development effort we have put into it, and the use we have
- given to them. For example, the virtual machine and the C#
- compiler very mature, while less commonly used functionality
- in Mono like Windows.Forms or VB.NET are still under heavy
- development.
-
- <p>Our strategy is to release the mature components as Mono
- 1.0, and have upcoming versions of Mono add extra
- functionality.
-
-<h3>Mono 1.0 goals</h3>
-
- <p>The Mono 1.0 release would include the following
- components:
-
- <ul>
- <li>C# compiler.
-
- <li>VM, with JIT and pre-compiler.
-
- <li>IL assembler, disassembler.
-
- <li>Development and security tools.
-
- <li>Core libraries: mscorlib, System, System.XML.
-
- <li>System.Data and Mono database providers.
-
- <li>System.Web: Web applications platform and Apache
- integration module.
-
- <li>System.Web.Services: client and server support.
-
- <li>System.Drawing.
-
- <li>System.DirectoryServices
-
- <li>JIT support: x86 and PPC architectures
- (interpreter available for other architectures).
-
- <li>ECMA profiles: special build options to build
- Mono as an implementation of the various ECMA profiles
- will be available.
-
- <li>Java integration through IKVM.
-
- <li>Embedding interface for the runtime.
- </ul>
-
- <p>Packaging:
-
- <ul>
- <li>mono: will contain the above features implementing
- the .NET 1.1 API.
-
- <li>mono-1.0-compat: Will include a build of the
- libraries with the .NET 1.0 API, this is a
- compatibility build for people running .NET 1.0
- applications.
-
- <li>mono-unstable: Will contain a snapshot of the
- other technologies under development for developer's
- convenience, but will be unsupported at this time.
- These include the Generics edition of the C#
- compiler.
-
- <li>mono-ecma: A build that only includes the ECMA
- components.
- </ul>
-
- <p>Release target: Q2/2004.
-
- <p>Bug fix releases would be done on a monthly basis.
-
- <p>For a detailed list, see the <a
- href="mono-1.0.html">mono-1.0 feature list.</a>
-
-<h3>Microsoft's Whidbey</h3>
-
- <p>To understand post 1.0 editions of Mono, it is important to
- put it into perspective with the Microsoft Whidbey product, to
- be released in 2004.
-
- <p>The new features in the Whidbey release of the .NET Framework
- include:
-
- <ul>
- <li><b>Generic types</b><br>
- These introduce changes to the compiler, runtime and
- class libraries.
-
- <li><b>ASP.NET 2</b><br>
- Many tools to simplify web application development:
- Master pages, new controls for common operations,
- personalization and themes.
-
- <li><b>Remoting</b><br>
- New security channels and version-resistant remoting
- (good news in the interop department).
-
- <li><b>XML</b><br>
- XQuery debuts on this release as well as an improved
- XmlDocument system based on XPath: XPathDocument.
-
- <li><b>Networking</b><br>
- FTP client, Ssl streams.
-
- <li><b>Console and Serial ports:</b></br>
- Console terminal input/output is available as well as
- serial port handling.
-
- <li><b>Windows.Forms</b><br>
- Layout containers finally appeared on Windows.Forms as
- well as various new controls.
-
- <li><b>ObjectSpaces</b><br>
- An API for simpler data-base access.
- </ul>
-
-<h3>Mono 1.2</h3>
-
- <p>The Mono team is developing in parallel some features that
- wont make it to the 1.0 release in stable form. These will be
- the foundation for the 1.2 release. The focus of this release
- is to track the core API for the .NET Framework 1.2, but
- again, only a subset of the total framework will be
- available.
-
- <p>Mostly, Mono 1.2 consists of components that were not
- stable enough for Mono 1.0, but that would be mature at this
- point, plus the incorporation of some new features from
- Whidbey. In addition to the Mono 1.0 components, this release
- will add:
-
- <ul>
- <li>Generic types support: C# compiler, execution
- system and core class libraries.
-
- <li>ASP.NET 2.0 improvements.
-
- <li>Remoting improvements from Whidbey.
-
- <li>System.XML: simpler improvements from Whidbey,
- lacking the large additions (XQuery for example).
-
- <li>Console and Serial ports support.
-
- <li>New compilers: VB.NET and JScript support.
-
- <li>WSE1/WSE2 implementations.
-
- <li>System.Windows.Forms officially debuts with .NET
- 1.0 API; 1.2 API available as an unstable addition.
- </ul>
-
- <p>This release will by default provide .NET 1.2 APIs, but
- compatibility libraries for 1.0 and 1.1 will be distributed in
- the mono-compat package. The unstable components of Mono will
- be distributed on the `mono-unstable' package, the libraries
- in this release will be unsupported.
-
- <p>Release target: Q4/2004.
-
-<h3>Mono 1.4</h3>
-
- <p>A refresh update on the Mono 1.2 release containing the
- missing components from the previous release and complete any
- under performing pieces. Updates to System.Xml, ASP.NET and
- Windows.Forms to match the .NET 1.2 API.
-
- <p>Release target: Q2/2005.
-
-<h3>Peer projects</h3>
-
- <p>Other projects like the debugger, the documentation
- browser, Java integration through IKVM and Gtk# will remain on
- their own schedules. This page will be updated to contain
- that information when it becomes available.
-
-<h3>Unscheduled activities</h3>
-
- <p>A missing component of Mono is the Code Access Security
- (CAS). This functionality is not needed in today's Mono as
- currently Mono is being used to run fully trusted
- applications, and we are not using it on embedded scenarios
- where assemblies would have different trust levels.
-
- <p>This is an important component, but requires three major
- pieces of work:
-
- <ul>
- <li>Runtime support for implementing the security
- demands.
-
- <li>A guidelines document outlining what and where
- must have security demands in place.
-
- <li>A full audit of our class libraries: method by
- method
- </ul>
-
- <p>All of these are major pieces of work, and we currently
- have no plans to implement any of those. A volunteer effort might be
- able to help with the runtime requirements and the document,
- but until those are done, we are unlikely to start doing any
- work on the actual class library audit and instrumentation.
-
-<h3>Mono and WinFX: 2006</h3>
-
- <p>WinFX is the name given to the new set of libraries that
- makes up .NET in the Longhorn operating system: the existing
- .NET set of class libraries, plus the new functionality
- available in the OS.
-
- <p>WinFX adds things like storage facilities (WinFS), a
- new versatile communications stack (Indigo) and a new
- eye-candy packed GUI programming system (Avalon).
-
- <p>Although WinFS, Avalon and Indigo are very exciting
- components, at this time it is too early to tell when those
- components will be available for Mono. Open source developers
- will very likely start work on these, but since they are still
- far from being officially released, they are not in the radar
- at this point.
-
-<h3>Unsupported technologies</h3>
-
- <p>Some technologies are very hard to implement or are being
- phased out by components in the Longhorn time frame. In some
- cases, we feel that they are not crucial to the future of the
- open source desktop.
-
- <p>System.EnterpriseServices and System.Management come to
- mind, and we are unlikely to put any resources into the task.
- We would gladly host the code if someone cares to implement
- it, but they would likely remain unsupported features of Mono.
-
-<h3>Mono Developer Strategy</h3>
-
- <p>Mono Developers should read the <a
- href="mono-hacking-roadmap.html">Mono Hacking Roadmap</a>
-
-<h3>Comments</h3>
-
- <p>Feel free to send your comments or questions the roadmap to
- <a href="mailto:miguel@ximian.com">miguel@ximian.com</a>
-
-
-<p>
-<i>Last Updated: Nov 1st, 2003</i> \ No newline at end of file
diff --git a/doc/mono-todo b/doc/mono-todo
deleted file mode 100644
index 6f2a69c6fc7..00000000000
--- a/doc/mono-todo
+++ /dev/null
@@ -1,295 +0,0 @@
-* Mono hacking TODO list
-
- From time to time people that want to contribute to Mono ask
- on the mailing list what they can help with. The generic
- answer is always:
- <ul>
- <li> Write documentation.
- <li> Write regression tests.
- <li> Complete the implementations of the class libraries.
- <li> Help fix the bugs filed in our bugzilla database.
- </ul>
-
- The proposed tasks are very important for the Mono project and
- are suitable for people that can dedicate even just an hour
- per week to contribute. But some people may need something
- more focused to work on, such as students that want to do a
- thesis on their contribution to Mono. For such people (and
- also for professors who want ideas for thesis regarding JIT or
- VM technologies), here is a list of tasks that need attention.
-
- The estimated time to complete any of the tasks is between 1
- week to several months to accomodate for different hacking
- possibilities.
-
- Note on the time estimates: they are very rough estimates, a
- smart and dedicated hacker can complete the tasks in half of
- the minimum time, a part-time hacker that also has a social
- life can take more than double the max time, but there's
- nothing to worry as long as progress is being done.
-
- If some people (or group of people) want to take on a task,
- they should write to the mono-devel mailing list and in the
- relative bugzilla bug report. Discussions about how to
- implement a feature or additional information on the task
- should be mailed to the list or in the bugzilla report as well
- so that people can keep informed on the progress or have the
- information needed to start contributing.
-
- Mono is an excellent platform for research on JITs, virtual
- machines and specifically the CLR because it provides an
- advanced free software implementation that can be used as a
- basis for more optimizations, new approaches to problems and
- new features.
-
- There are different areas of interest where high-level
- contributions can be made:
-
- <ul>
- * <b>JIT compiler</b>: tasks can be: adding more optimizations, reducing
- compile time, porting to different architectures.
-
- * <b>AOT compiler</b>: optimizing the compiler output and the AOT loader,
- better support for multiple application domains.
-
- * <b>VM runtime</b>: optimizing the runtime data structures, experimenting with
- different garbage collectors, integration with different component models.
-
- * <b>Class library</b>: many opportunities in the implementation of regular
- expressions, Xml related technologies (XPath, XLST, etc).
-
- * <b>Compilers</b>: writing compilers, interpreters and runtimes for langauges
- so that they run on the CLR (using Reflection.Emit support, for example).
- </ul>
-
-Happy hacking!
-
-<table border=1 cellspacing="0" cellpadding="0">
- <tr>
- <th>Area<th>Description<th>Difficulty<th>Time estimate<th>Bugzilla ID
- </tr>
-
- <tr>
- <td>Runtime (mono/metadata)
- <td>Optimize method vtable. Currently all the methods in a class
- are added to the method vtable, including static and non-virtual methods.
- This makes vtables bigger and the instructions to access them are longer,
- increasing also code size. Some code in metadata/icall.c and maybe also some
- remoting code may depend on the current layout: such code should be fixed as well.
- <td>Medium
- <td>1-2 weeks
- <td>not assigned
- </tr>
-
- <tr>
- <td>System assembly (mcs/class/System/)
- <td>Implement the IL-based regular expression engine. Instead of
- intepreting the regular expression pattern, a method is created at runtime using
- Reflection.Emit. This makes for faster pattern matching because there is no
- intepreter overhead and the matching code is jitted to fast native code.
- Bonus points if the compiled regular expression is compatible with the ones generated
- by the MS runtime.
- <td>Medium-hard (thesis subject)
- <td>2-4 months
- <td><a href="http://bugzilla.ximian.com/show_bug.cgi?id=52605">52605</a>
- </tr>
-
- <tr>
- <td>JIT (mono/mini/)
- <td>Implement common subexpression elimination.
- Global and local common subexpression elimination needs to be implemented
- to achieve better performance. The local case is easier and may take just one month.
- It should be implemented in the context of the SSA framework (mini/ssa.c).
- <td>Hard (thesis subject)
- <td>2-4 months
- <td>not assigned
- </tr>
-
- <tr>
- <td>JIT (mono/mini/)
- <td>Optimize AOT compiler output.
- Currently the code generated by the AOT compiler may be significantly slower than
- jitted code. This is mostly because the AOT code supports multiple application domains
- and some values that are constant at JIT-time are not constant at AOT-time. It may be
- needed to write a simple dynamic linker and/or binary object writer. Bonus poinst if
- it supports ELF, PE/COFF and mach-O binary formats. A possible idea for improvements
- is also the use of appdomain ID-indexed tables to get at the appdomain specific data.
- <td>Medium-hard (thesis subject)
- <td>3-6 months
- <td>not assigned
- </tr>
-
- <tr>
- <td>JIT (mono/mini/)
- <td>Implement generics support.
- We need to add support for the additional instructions and change existing ones to
- support the generics requirements.
- <td>Medium-hard
- <td>2-3 months
- <td>lupus and Martin
- </tr>
-
- <tr>
- <td>JIT (mono/mini/)
- <td>Port the JIT to additional architectures.
- Currently ports are in the works for mips, arm, sparc, s390. None of the ports
- are as feature-complete as the x86 one, yet, so help is needed in getting them
- up to speed. Ports to more architectures are welcome as well.
- <td>Medium-hard
- <td>3-6 months per arch
- <td>not assigned
- </tr>
-
- <tr>
- <td>Runtime and JIT (mono/metadata and mono/mini/)
- <td>Add support for COM and/or XPCOM and/or ORBit.
- We need a way to seamlessy use existing component technologies inside the mono runtime.
- The COM support needs to match the MS runtime behaviour and is targeted at windows systems.
- XPCOM and ORBit support are important on Unix platforms. Bonus points for developing
- the runtime support so that different component systems can be used at the same time.
- <td>Medium-hard (thesis subject)
- <td>3-4 months for each
- <td>not assigned
- </tr>
-
- <tr>
- <td>Runtime and JIT (mono/metadata and mono/mini/)
- <td>Implement support for Code Access Security.
- Support needs to be added to the JIT and the runtime to ensure
- code that executes privileged operations is permitted to do so.
- The task includes loading the security information from metadata,
- collecting evidence, inserting calls to the permission objects,
- stack walking to collect security info.
- <td>Medium-hard (thesis subject)
- <td>4-5 months
- <td><a href="http://bugzilla.ximian.com/show_bug.cgi?id=52606">52606</a>
- </tr>
-
- <tr>
- <td>Runtime and JIT (mono/metadata and mono/mini/)
- <td>Implement support for a generational GC.
- We're currently using a conservative non-moving GC.
- Support for a generational and moving GC requires changes to the JIT
- (to record locations in frames as well as registers that may contain
- pointers to GC-allocated memory) and to the runtime code (when
- objects are manipulated directly we should make sure they are pinned
- and reachable by the GC also in the C unmanaged code). Code from an existing
- precise GC such as the ORP one could be reused or a new GC may be developed
- (increasing the estimated development time).
- <td>Hard (thesis subject)
- <td>6-8 months
- <td>not assigned
- </tr>
-
- <tr>
- <td>Compilers for dynamic languages
- <td>Write a IL compiler and runtime support for dynamic languages like
- Python, Perl, Ruby, PHP.
- <td>Medium-hard (thesis subject)
- <td>6-12 months
- <td>not assigned
- </tr>
-
- <tr>
- <td>Tools
- <td>Write an implementation of the MSBuild compilation tool available in .NET 1.2
- <td>Medium
- <td>4-6 months
- <td>not assigned
- </tr>
- <tr>
- <td>Build tools.
- <td>Currently it is easy for people doing daily
- updates from CVS to break their installation. Design a mechanism by
- which Mono never fails to compile.
- <td>Easy
- <td>1-2 weeks
- <td>not assigned
- </tr>
- <tr>
- <td>Documentation.
- <td>Editorial review of the Monkeyguide: The monkeyguide is known to contain outdated
- statements, it needs to be reviewed and it needs an
- editor to take control over it. Some simple tasks
- include flattening out the Monkeyguide, since it is
- too nested today.
- <td>Easy
- <td>Ongoing work.
- <td>not assigned
- </tr>
- <tr>
- <td>Documentation
- <td>GNOME.NET Chapter should probably be separated
- from the Monkeyguide. This is probably the most
- complete chapter, but it is burried in various nested
- levels of stuff, and because of this, it is not being
- updated. Write a chapter on custom control
- authoring and common patterns of app development.
- <td>Easy
- <td>Ongoing work.
- <td>not assigned
- </tr>
- <tr>
- <td>Documentation Tools
- <td>The Monodoc collaborative service needs a better
- administration tool than it has today; Someone needs
- to redo the UI and streamline its process.
- <td>Easy
- <td>2-3 months.
- <td>not assigned
- </tr>
- <tr>
- <td>Comment Service API
- <td>Design a full system for comments and ratings so
- people can annotate the documentation in Monodoc.
- <td>Easy
- <td>2-3 months.
- <td>not assigned
- </tr>
- <tr>
- <td>POSIX bindings.
- <td>The Mono.POSIX assembly is a project to create a binding to
- the various low-level calls in Unix which are not available
- thought he regular assemblies in .NET.
-
- The work should be done in two steps: one step is doing the
- low-level binding for the system call, and another possibly is
- to expose .NET-level objects like Streams for common patterns:
- for example Streams for socketpairs.
-
- <ul>
- <li>Complete the bindings for all POSIX calls.
-
- <li>Design a glue layer, because the various low-level
- structures and values differ from operating system to
- operating system, so we must do the translation from
- our own set of definitions to the OS definitions.
-
- The details are availble on bug <a
- href="http://bugzilla.ximian.com/show_bug.cgi?id=51849">51849</a>
- for details.
- </ul>
-
- <td>Medium
- <td>2-3 months + QA.
- <td>not assigned
- </tr>
- <tr>
- <td>System.Drawing CODECs
- <td>Complete the JPEG and PNG codecs to be fully
- finished; Implement EXIF data loading; Implement the missing image codecs.
- <td>Medium
- <td>2-3 months.
- <td>not assigned
- </tr>
- <tr>
- <td>System.Data updates
- <td>.NET 1.2 introduced many new updates to the
- System.Data namespace: MARS and ObjectSpaces are the
- big ones.
- <td>Medium
- <td>6-9 months.
- <td>Work with the mono-devel-list to keep track of things.
- </tr>
-</table>
-
diff --git a/doc/monodoc-xml b/doc/monodoc-xml
deleted file mode 100644
index e8a5ffe2c71..00000000000
--- a/doc/monodoc-xml
+++ /dev/null
@@ -1,755 +0,0 @@
-* MonoDoc XML Tag Reference
-
-** Introduction
-
-<em>
-[This documentation is in progress. Comments to
-<a href="mailto:jbarn@httcb.net">jbarn@httcb.net</a> and/or
-<a href="mailto:mono-docs-list@ximian.com">mono-docs-list@ximian.com</a>.]
-</em>
-
-MonoDoc XML, our format for multilingual API documentation stored outside of
-source files, is very similar to the output of Microsoft's csc /doc. Minor
-alterations have been made to ease human parsing and hand-editing, but
-the majority of the tags are identical. In fact, many of the descriptions
-and examples below are taken from the ECMA C# Language Specification with
-little or no alteration.
-
-This document provides a list of all available MonoDoc XML tags, with
-syntax and examples. A complete example can be found in
-<a href="#appendix-a">Appendix A</a>, and both a <a href="#">DTD</a> and
-<a href="#">XSD schema</a> will be available very shortly.
-
-** MonoDoc XML Tags
-
-<dl>
-<dt><code><a href="#c">&lt;c&gt;</a></code></dt>
-<dd>Mark short sections of text as code.</dd>
-
-<dt><code><code><a href="#code">&lt;code&gt;</a></code></dt></code>
-<dd>Mark one or more lines as code or output.</dd>
-
-<dt><code><a href="#doc">&lt;doc&gt;</a></dt></code>
-<dd>Root element of documentation XML.</dd>
-
-<dt><code><a href="#event">&lt;event&gt;</a></dt></code>
-<dd>Describe an event.</dd>
-
-<dt><code><a href="#example">&lt;example&gt;</a></dt></code>
-<dd>An example.</dd>
-
-<dt><code><a href="#exception">&lt;exception&gt;</a></dt></code>
-<dd>Specify an exception a method can throw.</dd>
-
-<dt><code><a href="#field">&lt;field&gt;</a></dt></code>
-<dd>Describe a field.</dd>
-
-<dt><code><a href="#list">&lt;list&gt;</a></dt></code>
-<dd>Create a list or table.</dd>
-
-<dt><code><a href="#method">&lt;method&gt;</a></dt></code>
-<dd>Describe a method.</dd>
-
-<dt><code><a href="#para">&lt;para&gt;</a></dt></code>
-<dd>Allow text to be structured in paragraphs.</dd>
-
-<dt><code><a href="#param">&lt;param&gt;</a></dt></code>
-<dd>Specify a parameter for a method.</dd>
-
-<dt><code><a href="#paramref">&lt;paramref&gt;</a></dt></code>
-<dd>Mark a word as a parameter.</dd>
-
-<dt><code><a href="#permission">&lt;permission&gt;</a></dt></code>
-<dd>Define the access level of a member.</dd>
-
-<dt><code><a href="#property">&lt;property&gt;</a></dt></code>
-<dd>Describe a property.</dd>
-
-<dt><code><a href="#remarks">&lt;remarks&gt;</a></dt></code>
-<dd>Provide verbose information for a type or member.</dd>
-
-<dt><code><a href="#returns">&lt;returns&gt;</a></dt></code>
-<dd>Specify the return value of a method.</dd>
-
-<dt><code><a href="#see">&lt;see&gt;</a></dt></code>
-<dd>Specify a link.</dd>
-
-<dt><code><a href="#seealso">&lt;seealso&gt;</a></dt></code>
-<dd>Specify a 'see also' entry.</dd>
-
-<dt><code><a href="#summary">&lt;summary&gt;</a></dt></code>
-<dd>Provide a brief (usually one sentence) description of a member or type.</dd>
-
-<dt><code><a href="#type">&lt;type&gt;</a></dt></code>
-<dd>Describe a type.</dd>
-</dl>
-
-** Definitions and Examples
-
-*** <a name="c">&lt;c&gt;</a>
-
-This tag can be used to mark short, inline fragments of text that should
-be considered source code or program output. User agents should render
-this tag in a special -- likely monospace -- font. For larger sections,
-use <a href="#code"><code>&lt;code&gt;</code></a>.
-
-**** Syntax
-
-<pre>
-&lt;c&gt;code or output text&lt;/c&gt;
-</pre>
-
-**** Example
-
-<pre>
-&lt;remarks&gt;
- Class &lt;c&gt;Point&lt;/c&gt; models a point in two-dimensional space.
-&lt;/remarks&gt;
-</pre>
-
-*** <a name="code">&lt;code&gt;</a>
-
-This tag can be used to mark one or more lines of text as source code or
-program output. User agents should render this tag in a special (likely
-monospace) font, and preserve both whitespace and newlines.
-
-**** Syntax
-
- <code>&lt;code&gt;source or program output&lt;/code&gt;</code>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This method changes the point's location by the given
- x- and y-offsets.
- &lt;example lang="C#"&gt;
- A C# example:
- &lt;code&gt;
- Point p = new Point(3, 5);
- p.Translate(-1, 3);
- // p == (2, 8);
- &lt;/code&gt;
- &lt;/example&gt;
-&lt;/summary&gt;
-</pre>
-
-*** <a name="doc">&lt;doc&gt;</a>
-
-This tag is the root element of the documentation file. It can contain
-any number of &lt;type&gt; elements.
-
-**** Syntax
-
-<code>&lt;doc lang="language" assembly="assembly"&gt;typedocs&lt;/doc&gt;</code>
-
-<blockquote>
-<em>lang="language"</em><br />
-The two-letter ISO code that specifies what language the contained
-documentation is written in.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;doc lang="en"&gt;
- &lt;type name="Graphics.Point"&gt;
- &lt;!-- ... --&gt;
- &lt;/type&gt;
-&lt;/doc&gt;
-</pre>
-
-*** <a name="event">&lt;event&gt;</a>
-
-This tag documents an event.
-
-**** Syntax
-
-<code>&lt;event name="eventname"&gt;documentation&lt;/event&gt;</code>
-
-<blockquote>
-<em>name="eventname"</em><br />
-The name of the event being documented.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;event name="Click"&gt;
- &lt;summary&gt;
- Occurs when the control is clicked.
- &lt;/summary&gt;
- &lt;data&gt;
- The event handler receives an argument of type EventArgs
- containing data related to this event.
- &lt;/data&gt;
- &lt;remarks&gt;
- &lt;para&gt;The ControlStyles.StandardClick style must be set
- for this event to be raised.&lt;/para&gt;
- &lt;para&gt;For more information about handling events, see
- Consuming Events.&lt;/para&gt;
- &lt;/remarks&gt;
-&lt;/event&gt;
-</pre>
-
-*** <a name="example">&lt;example&gt;</a>
-
-This tag marks a section of text as an example, and optionally specifies
-what programming language <code><a href="#code">&lt;code&gt;</a></code> portions of the example are written in.
-
-**** Syntax
-
-<code><example lang="language">example text and code</example></code>
-
-<blockquote>
-<em>lang="language"</em><br />
-(optional) The name of the programming language <code><a href="#code">&lt;code&gt;</a></code> blocks in this example
-use. This information can be used by user agents to provide
-intelligent access to examples in multiple languages.
-</blockquote>
-
-**** Example
-
-See <code><a href="#code">&lt;code&gt;<a/></code> for an example.
-
-*** <a name="exception">&lt;exception&gt;</a>
-
-This tag provides a way to specify the exceptions a method can throw.
-
-**** Syntax
-
-<code>&lt;exception cref="exception-type"&gt;description&lt;/exception&gt;</code>
-
-<blockquote>
-<em>cref="exception-type"</em><br />
-The name of an exception type.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;exception cref="System.IO.FileNotFoundException"&gt;
- Thrown when the requested file is not found.
-&lt;/exception&gt;
-</pre>
-
-*** <a name="field">&lt;field&gt;</a>
-
-This tag is used to describe a field.
-
-**** Syntax
-
-<code>&lt;field name="fieldname"&gt;documentation&lt;/field&gt;</code>
-
-<blockquote>
-<em>name="fieldname"</em><br />
-The name of the field being documented.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;field name="x"&gt;
- &lt;summary&gt;
- Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's
- x-coordinate.
- &lt;/summary&gt;
-&lt;/field&gt;
-</pre>
-
-*** <a name="list">&lt;list&gt;</a>
-
-This tag is used to create a list or table of items. It may contain a
-<code>&lt;listheader&gt;</code> block to define the heading row of either a table or
-definition list. (When defining a table, only an entry for 'term' in the
-heading need be supplied.)
-
-Each item in the list is specified with an <code>&lt;item&gt;</code> block. When creating a
-definition list, both <code>&lt;term&gt;</code> and <code>&ltdescription&gt;</code> must be specified.
-However, for a table, bulleted list, or numbered list, only <code>&lt;description&gt;</code>
-need be specified.
-
-**** Syntax
-
-<pre>
-&lt;list type="bullet" | "number" | "table"&gt;
- &lt;listheader&gt;
- &lt;term&gt;term&lt;/term&gt;
- &lt;description&gt;description&lt;/description&gt;
- &lt;/listheader&gt;
- &lt;item&gt;
- &lt;term&gt;term&lt;/term&gt;
- &lt;description&gt;description&lt;/description&gt;
- &lt;/item&gt;
-
- ...
-
-&lt;/list&gt;
-</pre>
-
-<blockquote>
-<em>term</em><br />
-The term to define, whose definition is in <code>&lt;description&gt;</code>.
-<br /><br />
-<em>description</em><br />
-Either an item in a bullet or numbered list, or the definition of a <code>&lt;term&gt;</code>.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;list type="bullet"&gt;
- &lt;item&gt;
- &lt;description&gt;Item 1&lt;/description&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;description&gt;Item 2&lt;/description&gt;
- &lt;/item&gt;
-&lt;/list&gt;
-</pre>
-
-*** <a name="method">&lt;method&gt;</a>
-
-This tag is the overall containing tag for documenting a method.
-
-**** Syntax
-
-<code>&lt;method name="methodname"&gt;documentation&lt;/method&gt;</code>
-
-**** Example
-
-<pre>
-&lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
- &lt;summary&gt;
- This operator determines whether two points have
- the same location.
- &lt;/summary&gt;
- &lt;param name="p1"&gt;
- &lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.
- &lt;/param&gt;
- &lt;param name="p2"&gt;
- &lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.
- &lt;/param&gt;
- &lt;returns&gt;
- True if the points have the same location and they
- have the exact same type; otherwise, false.
- &lt;/returns&gt;
- &lt;seealso cref="Equals(System.Object)" /&gt;
- &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
-&lt;/method&gt;
-</pre>
-
-*** <a name="para">&lt;para&gt;</a>
-
-
-This tag is for use inside other tags such as <code>&lt;remarks&gt;</code> or <code>&lt;returns&gt;</code>, and
-allows text to be structured into paragraphs.
-
-**** Syntax
-
-<code>&lt;para&gt;text&lt;/para&gt;</code>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- &lt;para&gt;
- This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing
- program.
- &lt;/para&gt;
- &lt;para&gt;
- This program tests each method and operator, and
- is intended to be run after any non-trivial maintenance has
- been performed on the &lt;c&gt;Point&lt;/c&gt; class.
- &lt;/para&gt;
-&lt;/summary&gt;
-</pre>
-
-*** <a name="param">&lt;param&gt;</a>
-
-This tag is used to describe a parameter for a method, constructor, or
-indexer.
-
-**** Syntax
-
-<code>&lt;param name="name"&gt;description&lt;/param&gt;</code>
-
-<blockquote>
-<em>name</em><br />
-The name of the parameter.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This is the entry point of the &lt;c&gt;Point&lt;/c&gt;
- class.
-&lt;/summary&gt;
-&lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
-&lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
-</pre>
-
-*** <a name="paramref">&lt;paramref&gt;</a>
-
-This tag is used to indicate that a word is a parameter. User agents
-could use this information for special formatting or hyperlink insertion.
-
-**** Syntax
-
-<code>&lt;paramref name="name" /&gt;</code>
-
-<blockquote>
-<em>name</em><br />
-The name of the parameter.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This constructor initializes the new Point to
- (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
-&lt;/summary&gt;
-&lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
-&lt;param name "yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
-</pre>
-
-*** <a name="permission">&lt;permission&gt;</a>
-
-This tag allows the security accessibility of a member to be documented.
-
-**** Syntax
-
-<code>&lt;permission cref="member"&gt;description&lt;/permission&gt;</code>
-
-<blockquote>
-<em>cref="member"</em><br />
-The name of a member.</br>
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;permission cref="System.Security.PermissionSet"&gt;
- Everyone can access this method.
-&lt;/permission&gt;
-</pre>
-
-*** <a name="property">&ltproperty&gt;</a>
-
-This tag is the overall containing tag for documenting a property.
-
-**** Syntax
-
-<code>&lt;property name="propertyname"&gt;documentation&lt;/property&gt;</code>
-
-<blockquote>
-<em>name="propertyname"</em><br />
-The name of the property.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;property name="X"&gt;
- &lt;summary&gt;
- Gets or sets the point's x-coordinate.
- &lt;value&gt;
- The point's x-coordinate.
- &lt;/value&gt;
-&lt;/property&gt;
-</pre>
-
-
-*** <a name="remarks">&lt;remarks&gt;</a>
-
-This tag contains extended discussion and information about a member or
-a type. <em>[jbarn: This differs from both the ECMA docs and
-portions of Microsoft's documentation, but seems consistent with both
-common usage, and, more importantly, NDoc convention.]</em>
-
-**** Syntax
-
-<code>&lt;remarks&gt;description&lt;/remarks&gt;</code>
-
-**** Example
-
-<pre>
-&lt;type name="Graphics.Point"&gt;
- &lt;summary&gt;
- Models a point in a two-dimensional plane.
- &lt;/summary&gt;
- &lt;remarks&gt;
- Herein I might have an extended discussion of
- the validity of Cartesian coordinate systems,
- with examples pro and con, and perhaps
- some code.
- &lt;/remarks&gt;
-
- &lt;!-- ... --&gt;
-&lt;/type&gt;
-</pre>
-
-*** <a name="returns">&lt;returns&gt;</a>
-
-This tag is used to describe the return value of a method.
-
-**** Syntax
-
-<code>&lt;returns&gt;description&lt;/returns&gt;</code>
-
-**** Example
-
-<pre>
-&lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
- &lt;summary&gt;
- This operator determines whether two points have the
- same location.
- &lt;/summary&gt;
- &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
- &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
- &lt;returns&gt;
- True if the points do not have the same location and they
- have the exact same type; otherwise, false.
- &lt;/returns&gt;
-&lt;/method&gt;
-</pre>
-
-*** <a name="see">&lt;see&gt;</a>
-
-This tag allows a link to be specified within documentation text. (Use
-<code>&lt;seealso&gt;</code> to indicate links that should appear in a 'See Also' section.)
-
-**** Syntax
-
-<code>&lt;see cref="destination" /&gt;</code>
-
-<blockquote>
-<em>cref="destination"</em><br />
-A destination, such as a type or a member of a type.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This method changes the point's location to the given
- coordinates. This is an asinine way to insert a link,
- but &lt;see cref="Equals(Object)" /&gt; to understand
- how points are compared.
-&lt;/summary&gt;
-</pre>
-
-*** <a name="seealso">&lt;seealso&gt;</a>
-
-This tag allows an entry to be generated for the 'See Also' section. (Use
-<code>&lt;see&gt;</code> to specify a link from within text.)
-
-**** Syntax
-
-<code>&lt;seealso cref="destination" /&gt;</code>
-
-<blockquote>
-<em>cref="destination"</em><br />
-A destination, such as a type or a member of a type.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This method determines whether two Points have the
- same location.
-&lt;/summary&gt;
-&lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
-&lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
-</pre>
-
-*** <a name="summary">&lt;summary&gt;</a>
-
-This tag contains a short summary of a member or type,
-often one sentence. <em>[jbarn: This differs from both the ECMA docs and
-portions of Microsoft's documentation, but seems consistent with both
-common usage, and, more importantly, NDoc convention.]</em>
-
-**** Syntax
-
-<code>&lt;summary&gt;description&lt;/summary&gt;</code>
-
-**** Example
-
-<pre>
-&lt;summary&gt;
- This is the entry point of the &lt;c&gt;Point&lt;/c&gt; class testing
- program.
-&lt;/summary&gt;
-&lt;remarks&gt;
- This program tests each method an operator, and is intended
- to be run after any non-trivial maintenance is performed
- on the &lt;c&gt;Point&lt;/c&gt; class.
-&lt;/remarks&gt;
-</pre>
-
-*** <a name="type">&lt;type&gt;</a>
-
-This tag is the overall containing tag for documenting a type.
-
-**** Syntax
-
-<code>&lttype name="typename" assembly="assemblyname"&gt;documentation&lt;/type&gt;</code>
-
-<blockquote>
-<em>name="typename"</em><br />
-The name of the type being documented.
-<br /><br />
-<em>assembly="assemblyname"</em><br />
-The assembly this type resides in. This attribute is not required for nested types.
-</blockquote>
-
-**** Example
-
-<pre>
-&lt;type name="Graphics.Point" assembly="Point"&gt;
- &lt;summary&gt;
- Models a point in two-dimensional space.
- &lt;/summary&gt;
-
- &lt;!-- members --&gt;
-
- &lt;field name="x"&gt;
- &lt;summary&gt;
- Represents the point's x-coordinate.
- &lt;/summary&gt;
- &lt;/field&gt;
-&lt;/type&gt;
-</pre>
-
-** <a name="appendix-a">Appendix A: Complete Example</a>
-
-<em>[jbarn: Please, please, don't take the human-readable portions of
-this example to be good guidelines for writing your own documentation.
-this XML is intended only to show structure.]</em>
-
-<pre>
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;doc lang="en"&gt;
- &lt;type name="Graphics.Point" assembly="Point"&gt;
- &lt;summary&gt;
- Models a point in a two-dimensional plane.
- &lt;/summary&gt;
- &lt;remarks&gt;
- No useful remarks.
- &lt;/remarks&gt;
-
- &lt;!-- fields --&gt;
- &lt;field name="x"&gt;
- &lt;summary&gt;
- Instance variable &lt;c&gt;x&lt;/c&gt; represents the point's x-coordinate.
- &lt;/summary&gt;
- &lt;/field&gt;
-
- &lt;field name="y"&gt;
- &lt;summary&gt;
- Instance variable &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.
- &lt;/summary&gt;
- &lt;/field&gt;
-
- &lt;!-- methods --&gt;
- &lt;method name="#ctor"&gt;
- &lt;summary&gt;
- Initializes the new point to &lt;c&gt;(0,0)&lt;/c&gt;.
- &lt;/summary&gt;
- &lt;/method&gt;
-
- &lt;method name="#ctor(System.Int32,System.Int32)"&gt;
- &lt;summary&gt;
- Initializes the new Point to (&lt;paramref name="xor" /&gt;,&lt;paramref name="yor" /&gt;).
- &lt;/summary&gt;
- &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
- &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
- &lt;/method&gt;
-
- &lt;method name="Move(System.Int32,System.Int32)"&gt;
- &lt;summary&gt;
- This method changes the point's location to the given coordinates.
- &lt;/summary&gt;
- &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the new x-coordinate.&lt;/param&gt;
- &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the new y-coordinate.&lt;/param&gt;
- &lt;seealso cref="Translate(System.Int32,System.Int32)" /&gt;
- &lt;/method&gt;
-
- &lt;method name="Translate(System.Int32,System.Int32)"&gt;
- &lt;summary&gt;This method changes the point's location by the given x- and y-offsets.&lt;/summary&gt;
- &lt;remarks&gt;
- &lt;example lang="C#"&gt;
- A C# example:
- &lt;code&gt;
- Point p = new Point(3, 5);
- p.Translate(-1, 3);
- &lt;/code&gt;
- This code results in &lt;c&gt;p&lt;/c&gt; having the value (2,8).
- &lt;/example&gt;
- &lt;/remarks&gt;
- &lt;param name="xor"&gt;&lt;c&gt;xor&lt;/c&gt; is the relative x-offset.&lt;/param&gt;
- &lt;param name="yor"&gt;&lt;c&gt;yor&lt;/c&gt; is the relative y-offset.&lt;/param&gt;
- &lt;seealso cref="Move(System.Int32,System.Int32)" /&gt;
- &lt;/method&gt;
-
- &lt;method name="Equals(System.Object)"&gt;
- &lt;summary&gt;This method determines whether two points have the same location.&lt;/summary&gt;
- &lt;param name="o"&gt;&lt;c&gt;o&lt;/c&gt; is the object to be compared to the current object.&lt;/param&gt;
- &lt;returns&gt;True if the Points have the same location and they have the exact same
- type; otherwise, false.&lt;/returns&gt;
- &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
- &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /&gt;
- &lt;/method&gt;
-
- &lt;method name="ToString"&gt;
- &lt;summary&gt;Report a point's location as a string.&lt;/summary&gt;
- &lt;returns&gt;A string representing a point's location, in the form (x,y), without any
- leading, trailing, or embedded whitespace.&lt;/returns&gt;
- &lt;/method&gt;
-
- &lt;method name="op_Equality(Graphics.Point,Graphics.Point)"&gt;
- &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
- &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
- &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
- &lt;returns&gt;True if the points have the same location and they have the exact same
- type; otherwise, false.&lt;/returns&gt;
- &lt;seealso cref="Equals(System.Object)" /&gt;
- &lt;seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /&gt;
- &lt;/method&gt;
-
- &lt;method name="op_Inequality(Graphics.Point,Graphics.Point)"&gt;
- &lt;summary&gt;This operator determines whether two points have the same location.&lt;/summary&gt;
- &lt;param name="p1"&gt;&lt;c&gt;p1&lt;/c&gt; is the first Point to be compared.&lt;/param&gt;
- &lt;param name="p2"&gt;&lt;c&gt;p2&lt;/c&gt; is the second Point to be compared.&lt;/param&gt;
- &lt;returns&gt;True if the points do not have the same location and they have the exact same
- type; otherwise, false.&lt;/returns&gt;
- &lt;seealso cref="Equals(System.Object)" /&gt;
- &lt;seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /&gt;
- &lt;/method&gt;
-
- &lt;method name="Main"&gt;
- &lt;summary&gt;
- This is the entry point of the Point class testing program.
- &lt;/summary&gt;
- &lt;remarks&gt;
- &lt;para&gt;This program tests each method and operator, and is intended to be run after
- any non-trivial maintenance has been performed on the Point class.&lt;/para&gt;
- &lt;/remarks&gt;
- &lt;/method&gt;
-
- &lt;!-- properties --&gt;
- &lt;property name="X"&gt;
- &lt;value&gt;Property &lt;c&gt;X&lt;/c&gt; represents the point's x-coordinate.&lt;/value&gt;
- &lt;/property&gt;
-
- &lt;property name="Y"&gt;
- &lt;value&gt;Property &lt;c&gt;y&lt;/c&gt; represents the point's y-coordinate.&lt;/value&gt;
- &lt;/property&gt;
- &lt;/type&gt;
-&lt;/doc&gt;
-</pre>
-
diff --git a/doc/mysql b/doc/mysql
deleted file mode 100755
index 169aae5bae3..00000000000
--- a/doc/mysql
+++ /dev/null
@@ -1,329 +0,0 @@
-* MySQL Data Provider
-
- <p>There are two ADO.NET providers in Mono
- for a <a href="http://www.mysql.com/">MySQL</a> database:
-
-<ul>
- <li><a href="http://sourceforge.net/projects/mysqlnet/">ByteFX.Data.MySQLClient</a>
- <ul>
- <li>Written in 100% C#</li>
- <li>Does not require a client library</li>
- <li>Works on Mono and Microsoft .NET</li>
- <li>Requires at least Mono 0.18 and MySQLNet 0.65 for it to work on Mono</li>
- <li>Works in the SQL# command-line and GTK# GUI version</li>
- </ul>
- </li>
-
- <li>Mono.Data.MySql (deprecated)
- <ul>
- <li>Deprecated in favor of ByteFX.Data.MySQLClient
-
- <li>Written in C# and uses
- the MySQL C Client Library</li>
-
- <li>Exists in namespace Mono.Data.MySql and assembly Mono.Data.MySql</li>
-
- <li>Works on Windows and Linux via the MySQL client shared library
- (libmySQL.dll on Windows and libmysqlclient.so on Linux).</li>
-
- <li>Started by Daniel Morgan using
- <a href="http://www.cybercom.net/~zbrad/DotNet/MySql/">C# Bindings to MySQL</a> from <a href="mailto:zbrad@cybercom.net">Brad Merill</a></li>
- </ul>
- </li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
- <p><a href="http://www.mysql.com/articles/dotnet/">Exploring MySQL
- in the Microsoft .NET Environment</a> is an article
- by Mr. Venu who is a MySQL AB developer.</li>
-
- <p>Testing for Mono's Mono.Data.MySql and ByteFX's ByteFX.Data.MySqlClient is below.
-
-** Current Status
-
- Current Status of the MySQL providers:
-
-<ul>
-
- <li>ByteFX.Data.MySqlClient
- <ul>
- <li>Build and Runs on Microsoft .NET and Mono</li>
- <li>Works with SQL# (command-line and GTK# GUI versions)</li>
- <li>MySQLCommandBuilder now implemented</li>
- <li>Transaction support now implemented (not all table types support this)</li>
- <li>GetSchemaTable fixed to not use xsd (for Mono)</li>
- <li>Driver is now Mono-compatible</li>
- <li>TIME data type now supported</li>
- <li>More work to improve Timestamp data type handling</li>
- <li>Changed signatures of all classes to match corresponding SqlClient classes</li>
- <li>Protocol compression using <a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/default.asp">SharpZipLib</a></li>
- <li>Named pipes on Windows now working properly</li>
- <li>Work done to improve Timestamp data type handling</li>
- <li>Implemented IEnumerable on DataReader so DataGrid would work</li>
- <li>Speed increased dramatically by removing bugging network sync code</li>
- <li>Driver no longer buffers rows of data (more ADO.Net compliant)</li>
- <li>Conversion bugs related to TIMESTAMP and DATETIME fields fixed</li>
-
- </ul>
- </li>
-
- <li>Mono.Data.MySql (deprecated)
- <ul>
- <li>Currently, only works with version 3.23.x of MySQL</li>
-
- <li>can connect</li>
-
- <li>can execute non-queries via ExecuteNonQuery()</li>
-
- <li>can execute aggregates via ExecuteScalar() and retrieve the
- single row/single column result</li>
-
- <li>can execute queries and retrieve results using a data reader.</li>
-
- <li>a schema DataTable has been partially
- implemented which is returned from GetSchemaTable() in MySqlDataReader.</li>
-
- <li>a DataTable in a DataSet can be filled via a MySqlDataAdapter</li>
-
- <li>The shared client libraries
- between windows version and linux are different: windows has libmySQL.dll
- while linux has libmysqlclient.so. This is handled by the
- file etc/mono/config which is mapped by the mono runtime in knowing
- which native shared library to load. In cvs, this file is mono/config.in and
- can be modified with a text editor.</li>
-
- <li>Works in the SQL# command-line and GTK# GUI version</li>
- </ul>
- </li>
-
-</ul>
-
-** Action plan
-
- The current plan for the MySQL data providers:
-
- <ul>
- <li>ByteFX.Data.MySqlClient
- <ul>
- <li>Testing and fixes</li>
- <li>Implement missing features</li>
- <li>Only fixes for bugs to build and run MySQLClient on Mono
- will be accepted in mono-cvs. Most bugs and any new features will
- go into sourceforge cvs. Anytime there is a release of MySQLClient,
- the source code will be copied from sourceforge cvs to mono-cvs</li>
- <li>Releases of MySQLClient are determined by Reggie Burnett and releases
- of Mono are determined by Miguel de Icaza</li>
- <li>Implement any missing features or fix any bugs in Mono to get new
- features all of MySQLClient to work on Mono</li>
- </ul>
- </li>
- <li>Mono.Data.MySql (deprecated)
- <ul>
- <li>Testing and bug fixes</li>
- <li>Mono.Data.MySql is deprecated and therefore maybe removed
- at a later date. It will stay in Mono for now because other
- programs maybe using it now.</li>
- </ul>
- </li>
-</ul>
-
-** Testing for MySQLNet provider (ByteFX.Data.MySQLClient)
-
-<ul>
- <li>Have access to a MySQL database or download it from
- <ul>
- <li><a href="http://www.mysql.com/downloads/index.html">MySQL AB</a></li>
- </ul>
- </li>
-
- <li>MySQLNet can be gotten from <a href="http://sourceforge.net/projects/mysqlnet/">here</a> and the
- binary assembly ByteFX.Data.dll needs to be installed
- in the same place as the mono class libraries.</li>
-
- <li>MySQLNet requires <a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/default.asp">SharpZipLib</a> which is
- a Zip Library written in 100% C#. This is used for compression/decompression of data
- sent/received over the network. The SharpZipLib binary assembly SharpZipLib.dll should
- be installed in the same place as the mono class libraries.</li>
-
- <li>Has a ConnectionString format:
-<pre>
-"Server=hostname;" +
-"Database=database;" +
-"User ID=username;" +
-"Password=password"
-</pre>
- </li>
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using ByteFX.Data.MySqlClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=test;" +
- "User ID=myuserid;" +
- "Password=mypassword;";
- IDbConnection dbcon;
- dbcon = new MySqlConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r ByteFX.Data.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r ByteFX.Data.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
-** Testing for Mono's MySQL provider (Mono.Data.MySql)
-
-<ul>
- <li>Have access to a MySQL database or download it from
- <ul>
- <li><a href="http://www.mysql.com/downloads/index.html">MySQL AB</a></li>
- </ul>
- </li>
-
- <li>Take a look at MySqlTest.cs in mcs/class/Mono.Data.MySql/Test</li>
- <li>On Linux, you may need to make a symbolic link from libmySQL.dll to libmysqlclient.dll</li>
-
- <li>Has a ConnectionString format:
-<pre>
- "Server=hostname;Database=database;User ID=username;Password=password"
- (or)
- "Host=hostname;Dbname=database;User=username;Passwd=password"
-</pre>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.MySql;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=test;" +
- "User ID=myuserid;" +
- "Password=mypassword;";
- IDbConnection dbcon;
- dbcon = new MySqlConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs \
- -r System.Data.dll \
- -r Mono.Data.MySql.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll \
- -r Mono.Data.MySql.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
diff --git a/doc/odbc b/doc/odbc
deleted file mode 100755
index 80143fcb7eb..00000000000
--- a/doc/odbc
+++ /dev/null
@@ -1,218 +0,0 @@
-* ODBC Data Provider
-
-<ul>
-
- <li>ADO.NET Data Provider for Data Sources
- that have <a href="http://www.microsoft.com/data/odbc/">ODBC</a> support.</li>
-
- <li>Exists in namespace System.Data.Odbc and assembly System.Data</li>
-
- <li>Works on Windows and Linux. Should have no problems working on UNIX too.</li>
-
- <li>Works on Windows via the native Windows odbc32.dll</li>
-
- <li>Works on Linux via:
-
- <ul>
- <li><a href="http://www.unixodbc.org/">unixODBC</a> which has
- commercial support
- from <a href="http://www.easysoft.com/">Easysoft</a></li>
-
- <li><a href="http://www.iodbc.org/">iODBC</a> which has
- commercial support
- from <a href="http://oplweb.openlinksw.com:8080/download/">OpenLink Software</a></li>
- </ul>
-
- <li>List of unixODBC <a href="http://www.unixodbc.org/drivers.html">drivers</a>
-
- <li>List of <a href="http://www.sqlsummit.com/odbcvend.htm">ODBC Vendors</a>
-
- <li>ODBC can connect to various databases which has an ODBC driver installed:
- <ul>
- <li><a href="http://www.mysql.com/">MySQL</a></li>
- <li><a href="http://www.postgresql.org/">PostgreSQL</a></li>
- <li><a href="http://www.oracle.com/">Oracle</a></li>
- <li><a href="http://www.borland.com/products/downloads/download_interbase.html">Interbase</a></li>
- <li><a href="http://www.sybase.com/downloads">Sybase</a> (
- via <a href="http://www.freetds.org/">FreeTDS</a> on UNIX)</li>
- <li><a href="http://www.microsoft.com/sql/default.asp">Microsoft SQL Server</a> (
- via <a href="http://www.freetds.org/">FreeTDS</a> on UNIX)</li>
- <li><a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a></li>
- <li><a href="http://www.microsoft.com/office/access">MS Access</a>
- (via <a href="http://mdbtools.sourceforge.net/">MDB Tools</a> on UNIX)</li>
- </ul>
-
- <li>ODBC Provider created by Brian Ritchie.</li>
-
- <li>Does not support trusted connections</li>
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>Can Connect on:
- <ul>
- <li>Windows via native Windows odbc32.dll</a></li>
- <li>Linux via:
- <ul>
- <li>unixODBC's libodbc.so</li>
- <li>iODBC's libiodbc.so</li>
- </ul>
- </li>
- </ul>
- </li>
-
- <li>Various databases have been tested using their
- ODBC drivers: MySQL, PostgreSQL, Oracle, IBM DB2, and Microsoft SQL Server</li>
-
- <li>Can execute non-query commands via ExecuteNonQuery of a OdbcCommand</li>
-
- <li>Can execute aggreates and retrieve a single row single column result via
- ExecuteScalar of a OdbcCommand</li>
-
- <li>Can execute queries via ExecuteReader of a OdbcCommand and
- retrieve results using an OdbcDataReader</li>
-
- <li>Can get a DataTable containing schema info via GetSchemaTable() in a OdbcDataReader</li>
-
- <li>Can Fill a DataTable in a DataSet via an OdbcDataAdapter</li>
-
- <li>Works in SQL#, but Column names don't show up correctly.</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-
-</ul>
-
-** Action Plan
-
-<ul>
-
- <li>Fixing bugs
-
- <li>Testing with other setups
-</ul>
-
-** Testing ODBC provider with IBM DB2 Universal Database
-
-<ul>
- <li>You need a working mono and mcs</li>
-
- <li>For Unix, you will need unixODBC or iODBC installed</li>
-
- <li>Have acess to a <a href="http://www-306.ibm.com/software/data/db2/">IBM DB2 Universal Database</a> or
- you can download from IBM</li>
-
- <li>Read these web pages about Unix, ODBC, and IBM DB2
-
- <ul>
- <li><a href="http://www.unixodbc.com/doc/db2.html">unixODBC web page about IBM DB2</a></li>
- <li><a href="http://www-306.ibm.com/software/data/db2/udb/ad/v8/cli/t0010406.htm">IBM web page about unixODBC and DB2</a></li>
- </ul>
- </li>
-
- <li>The ODBC provider is similar to the <a href="http://www.go-mono.com/ibmdb2.html">IBM DB2</a> provider.</li>
-</ul>
-
-** Testing ODBC provider with MySQL
-
-<p>You can test Mono's ODBC provider System.Data.Odbc with the MySQL ODBC driver MyODBC
-
-<p><ul>
- <li>Take a look at OdbcTest.cs in mcs/class/System.Data/Test</li>
-
- <li>Here is a ConnectionString format if you have a DSN setup:
-<pre>
-"DSN=dataSetName;UID=myuserid;PWD=mypassword"
-</pre>
- </li>
- <li>Here is a ConnectionString format if you do not have a DSN (have not
- gotten this to work though):
-<pre>
-"DRIVER={MySQL ODBC 3.51 Driver};" +
-"SERVER=localhost;DATABASE=test;" +
-"UID=myuserid;PASSWORD=mypassword;" +
-"OPTION=3";
-
-</pre>
- </li>
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using System.Data.Odbc;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- // have an ODBC DSN setup named MYSQLDSN
- // that accesses a MySQL database via
- // MyODBC driver for ODBC with a
- // hostname of localhost and database test
- string connectionString =
- "DSN=MYSQLDSN;" +
- "UID=myuserid;" +
- "PWD=mypassword";
- IDbConnection dbcon;
- dbcon.Open();
- dbcon = new OdbcConnection(connectionString);
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
diff --git a/doc/oldnews b/doc/oldnews
deleted file mode 100644
index 55632f3ffbb..00000000000
--- a/doc/oldnews
+++ /dev/null
@@ -1,2917 +0,0 @@
-@item Dec 21st 2003: Mono on PowerPC Progress.
-
- Paolo reports today that the Mono JIT on the PowerPC was able
- to successfully run the Mono C# compiler to build its first
- programs. This is by no means complete (exception handling is
- missing, and Boehm GC seems to fail on MacOS X), this shows
- the excellent progress Paolo has been making.
-
- Zoltan has added support for modules to MCS (generation and
- consumption).
-
-@item Dec 10th, 2003: Mono Debugger 0.5 released
-
- Martin Baulig has <a
- href="http://primates.ximian.com/~martin/blog/archives/000231.html">released</a>
- a new version of the Mono Debugger.
-
-@item Dec 2nd, 2003: Mono 0.29 has been released
-
- Check out the <a
- href="http://www.go-mono.com/archive/mono-0.29.html">Release
- notes</a> for details on Mono 0.29.
-
- This release includes the PPC JIT engine running `Hello World'
- and ASP.NET is considered feature-complete.
-
-@item Nov 25th, 2003: Gtk# 0.14, System.DirectoryServices
-
- Gtk# 0.14 has been released, and it is available from <a
- href="http://gtk-sharp.sf.net">the Gtk# web site</a>.
-
- Sunil has checked in the implementation of
- System.DirectoryServices as well as the Novell.Directory.Ldap
- code into Mono CVS.
-
-@item Nov 14th, 2003: Gtk# 0.13 released.
-
- Mike Kestner has <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-November/016943.html">announced</a>
- the release of the <a href="http://gtk-sharp.sf.net">Gtk#</a>
- GUI toolkit for .NET and Mono.
-
-@item Nov 13th, 2003: Managed LDAP binding for Mono and .NET
-
- Sunil Kumar at Novell has <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-November/016907.html">announced</a>
- the availability of a fully managed implementation of LDAP for
- Mono and the .NET Framework.
-
- You can obtain the library from <a
- href="http://forge.novell.com">Novell Forge's</a> <a
- href="http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldapcsharp/CsharpLDAP">CSharpLDAP</a>
- module.
-
-@item Nov 4th, 2003: Mono Roadmap announced.
-
- The <a href="mono-roadmap.html">Mono Roadmap</a> and <a
- href="mono-hacking-roadmap.html">Mono Hackers Roadmap</a> have
- been released.
-
-@item Oct 28th, 2003: Mono Get Together at the PDC. GTK# 0.12 Released.
-
- We will be getting together at the West Tower Lobby on Tuesday
- 28th at 6pm to talk about the Mono project. You have 24 hours to
- notify all of your friends, open source buddies and free software
- folks.
-
- We will bring Mono t-shirts.
-
- Mike Kestner released <a href="http://gtk-sharp.sourceforge.net">Gtk#</a> 0.12 today. GTK# source tar balls
- and RPMs are available. A windows installer was contributed by Johannes Roith.
-
-@item Oct 26th, 2003: Last Minute Mono BOF
-
- The first in a series of undercover Mono BOFs at the PDC will take
- place tonight at 7pm on the Academy meeting, in room 411. Come join us
- to plot the evolution.
-
-
-@item Oct 25th, 2003: GTK# 0.11+ Windows Installer available
-
- Johannes created a Windows
- Installer for GTK# 0.11+ and works
- with Mono 0.28 for Windows.
-
-@item Oct 21st, 2003: Mono Community at Novell Forge
-
- Mono Developers that are looking for a public repository for
- hosting their projects can now use <a
- href="http://forge.novell.com">Novell Forge's</a> which hosts
- a <a
- href="http://forge.novell.com/modules/xfmod/community/?monocomm">Mono
- Community</a>.
-
- Novell Forge offers mailing lists, cvs repository, bug
- tracking and mailing list services and all the other services
- you expect. Mono will continue to be hosted in our own CVS
- repository, and using our <a href="anoncvs.html">anonymous CVS
- servers</a>
-
-@item Oct 13th, 2003: SPARC V9, HPPA, Internationalization, GdiPlus
-
- Dick Porter has checked in our rewrite of the international
- substrate in Mono that uses the <a
- href="http://oss.software.ibm.com/icu/">International
- Components for Unicode</a> library from IBM. This means that
- we got CultureInfo support through the whole code base now.
-
- Alexandre Pigolkine has checked-in the new implementation of
- System.Drawing. We have now dropped the old implementation
- with multiple-backends that we had, and replaced it with an
- implementation that P/Invokes into GDI+. A GDI+
- implementation on top of <a
- href="http://www.cairographics.org">Cairo</a> is used on Unix
- systems. This step vastly simplifies the development and
- maintenance of System.Drawing.
-
- There are plenty of updates to Mono as well, we encourage you
- to read the <a
- href="http://www.go-mono.com/monologue">Monologue</a> to keep
- an eye on recent developments.
-
- Bernie Solomon just <a
- href="http://lists.ximian.com/archives/public/mono-devel-list/2003-October/002460.html">checked
- in</a> 64-bit support for SPARC v9 and HPPA into the Mono
- runtime. This also improves the SPARC-32 support.
-
-@item Oct 6th, 2003: Linux s390 Mono packages available.
-
- Neale Ferguson has contributed Mono packages for the
- Linux/s390. You can get them from the <a
- href="download.html">download</a> page.
-
-@item Oct 5th, 2003: Monologue aggregates Mono Blogs
-
- You can now read an aggregated view of the <a
- href="blogs.html">blogs</a> maintained by Mono developers in
- <a href="http://www.go-mono.com/monologue">Monologue</a>.
- Monologue is available as an HTML page or as an <a
- href="monologue/index.rss">RSS feed</a>.
-
-@item Oct 2nd, 2003: Windows packages, MonoDoc 0.7
-
- Windows packages for Mono 0.28 are now available from our <a
- href="download.html">download</a> page.
-
- A new version of MonoDoc has been released. The new version
- is available <a href="archive/monodoc-0.7.tar.gz">here</a>
-
-@item Oct 1st, 2003: Mono 0.28 has been released.
-
- Check out the <a
- href="http://www.go-mono.com/archive/mono-0.28.html">Release
- notes</a> for details on Mono 0.28. This release marks the
- completion of the SourceGear project to add web services
- functionality to Mono and improve its reliability.
-
-@item Sep 30th, 2003: Mono Kick Start book available
-
- The Mono Kick Start book is now <a
- href="http://www.amazon.com/exec/obidos/tg/detail/-/0672325799/qid=1064937318/sr=8-1/ref=sr_8_1/103-9624440-8714218?v=glance&s=books&n=507846">available</a>
- in English. Originally available only in <a
- href="http://www.amazon.de/exec/obidos/ASIN/3827264928/qid=1050051051/sr=2-1/ref=sr_2_3_1/028-2755135-1623712">German</a>.
- The book technical review was done by <a
- href="http://www.maurer-it.com/">Dietmar Maurer</a> JIT
- architect at the Mono team.
-
-@item Sep 26th, 2003: DiaCanvas# 0.1 released, Gtk# 0.11 released.
-
- Mike Kestner has <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2003-September/002475.html">released</a>
- a new version of <a href="http://gtk-sharp.sf.net">Gtk#</a>.
-
- Martin has also
- <a href="http://mwh.sysrq.dk/programs/announcements/diacanvas-sharp-0.1.0.html">released</a>
- his binding to <a href="http://diacanvas.sf.net">DiaCanvas</a> for C#.
-
-@item Sep 16th, 2003: WineLib, Authenticode, Generics, Xslt updates, Wsdl compiler, WSE.
-
- <b>WineLib:</b> Vladimir has added new libraries to the Wine
- process, which we will soon bring into our packages: the
- various Windows common dialogs can now be used (screenshots:
- <a href="images/colordlg.png">here</a>, <a
- href="images/fontdlg.png">here</a>, <a
- href="images/filedlg.png">here</a> and <a
- href="images/finddlg.png">here</a>.
-
- Johannes has patches to have Wine track the Gtk theme,
- screenshot here (link got broken).
-
- <b>Security:</b> New authenticode support from Sebastien has
- been checked into CVS.
-
- <b>Xslt:</b> Plenty of conformance updates to the managed
- implementation of Xslt, as well as breaking the libxslt speed
- barrier. Our managed implementation is now faster than the
- C-based libxslt that we used before.
-
- <b>Generics:</b> Work continues on generics support, feel free
- to try it out. The compiler is currently on a separate
- directory until we stability it (gmcs) and you need to compile
- the class libraries with the `generics' profile to try it
- out. Sample generic programs are included in the CVS module.
-
- <b>Wsdl:</b> We now have Wsdl support in Mono: a wsdl compiler
- command line tool, and support on ASP.NET to generate the wsdl
- file from an .asmx file.
-
- <b>AOT:</b> Many robustness updates to the ahead-of-time
- compiler and a new locking and threading system that avoids
- having "big locks" around the mono kernel, and moves to a
- fine-grained locking system. The design includes a lattice to
- avoid deadlocks.
-
- <b>Dogfooding:</b> We are now running Mono's ASP.NET on
- go-mono.com to find problems. It is currently hosting our
- Monodoc documentation. The <a
- href="http://www.go-mono.com/docs/index.html">Apache module
- version</a> and the <a href="http://www.go-mono.com:8080/">XSP
- version</a>.
-
- <b>WSE:</b> The Web Services Enhancements season has begun.
- The Microsoft.Web.Services namespace and classes are now
- checked into CVS.
-
-@item Sep 1st, 2003: Ice for Mono; XmlSerializer generators; Monodoc progress.
-
- <b>Ice:</b> Vladimir has checked into CVS (Module ginzu) an
- implementation of <a href="http://www.zeroc.com">ZeroC's</a>
- <a href="http://www.zeroc.com/ice.html">ICE</a> protocol. It
- is implemented using Remoting. If you were looking for an
- efficient binary protocol to use with Remoting, this is it.
-
- ICE is simpler to use than CORBA, and was created by people
- who were deeply involved in CORBA and wanted to fix its
- problems (you can see a <a
- href="http://www.zeroc.com/iceVsCorba.html">list of
- differences</a>).
-
- <b>XmlSerializer</b>: Lluis has checked in a new technology
- for use in our XmlSerializer: the XmlSerializer code
- generator. Currently our XmlSerializer generates a
- description of instructions for serializing data, these
- instructions are later interpreted while using it: Reflection
- is used to pull all the data. The code generator is the first
- step into turning the Serializer from an intepreter into a
- compiler and improving the performance of it.
-
- Currently was used internally to implement the WSDL
- serializer, in the future it will just be part of the standard
- serialization process.
-
- <b>MonoDoc:</b> New providers! Thanks to <a
- href="http://www.jaggersoft.com/">Jon Jagger</a> for providing
- us with his master XML files for the C# specification we now
- have integrated the C# spec into Monodoc. Another provider is
- the Error provider: now we include all the C# compiler errors
- in the help system.
-
- Alp has contributed various user interface improvement, and
- updated our list widget for key navigation; Ben made the
- matches window more useful and Joshua has helped us clean up
- the ECMA provider even more.
-
-@item Aug 14th, 2003: Mono 0.26 has been released
-
- A new version of Mono is available, the new features include:
- <a href="http://www.cairographics.org/">Cairo support</a>, <a
- href="http://remoting-corba.sf.net">Remoting.Corba</a>
- support, as well as a managed XSLT implementation.
-
- Existing features have been improved vastly: better
- Windows.Forms, runtime, faster compiler, web services, better
- compliance to the spec and more.
-
- Check out the <a
- href="http://www.go-mono.com/archive/mono-0.26.html">Release
- notes</a> for details.
-
-@item Aug 9th, 2003: Python for .NET Preview 2 available; Mono Documentation site up.
-
- Brian Lloyd has <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-August/015313.html">announced</a>
- the availability of his Python binding to .NET. This works
- with .NET and Mono. For more information about it, see
- Brian's site at <a href="
- http://zope.org/Members/Brian/PythonNet/">http://zope.org/Members/Brian/PythonNet/</a>
-
- We have uploaded the current Mono Documentation (core
- libraries and Gtk#) to <a
- href="http://mono.ximian.com:8080"/>http://mono.ximian.com:8080</a>.
- The site is running the ASP.NET edition of <a
- href="archive/monodoc-0.6.tar.gz">MonoDoc 0.6</a> on XSP.
-
-@item Aug 6th, 2003: Winforms samples
-
- Timothy Parez is coordinating the effort to create sample
- programs that exercise the various Windows.Forms controls. We
- are using this as graphical regression test suite for the Mono
- implementation.
-
- The screenshots of the various widgets, together with the
- source code is available on the <a
- href="http://www.nullenvoid.com/mono/wiki/index.php/WineSamples">WineSamples</a>
- page on the <a
- href="http://www.nullenvoid.com/mono/wiki/">Mono Wiki</a>.
-
- A new cvs module called `winforms' has been created that
- contains the source code for the samples. To run the samples,
- you can install the WineLib packages available from our <a
- href="download.html">download page</a>.
-
-@item Aug 5th, 2003: New Apache Module architecture: 1.3 and 2.x supported
-
- Gonzalo rearchitected our Apache module for hosting Mono and
- ASP.NET. The previous incarnation hosted a Mono runtime on
- each Apache process, which lead to a slow setup for webforms.
- The new setup uses a shared mono process for all the incoming
- requests. Daniel later improved up the new architecture and
- added dual support, so now in addition to Apache 2.x, we
- support Apache 1.3 with the same codebase.
-
- The new code is available on CVS, on module `mod_mono', and
- now requires an XSP installation to be available.
-
-@item Aug 4th, 2003: Ximian acquired by Novell.
-
- Today <a href="http://www.novell.com">Novell</a> acquired <a
- href="http://www.ximian.com">Ximian</a>. The press release is
- available <a
- href="http://www.ximian.com./about_us/press_center/press_releases/index.html?pr=novell">here</a>.
-
- Mono and Gnome form an integral part of the Novell strategy.
-
-@item Jul 30th, 2003: Remoting.CORBA, Managed XSLT.
-
- Today Lluis announced that Mono CVS contains all the fixes to
- run <a
- href="http://remoting-corba.sourceforge.net/">Remoting.CORBA</a>:
- both client and server channels work; We are interested in people
- testing it with other ORBs.
-
- Ben checked-in today his managed implementation of Xslt that
- we mentioned on Jul 19th; This uncovered various limitations
- on the XPath implementation, which Piers has swifly removed.
- Monodoc, NUnit and our Corcompare work with it. Since this is
- implementation is not completed yet, we still support the
- libxslt-based version by default. For more details on how to
- try the new XSLT implementation, see <a
- href="http://lists.ximian.com/archives/public/mono-devel-list/2003-July/001681.html">Ben's
- post</a>
-
-@item Jul 27th, 2003: Wine packages and Daily Snapshots
-
- MonoWine packages (used to run System.Windows.Forms) software
- are now available from our (<a
- href="download.html">download</a> page). You can track the
- progress on our <a
- href="http://www.nullenvoid.com/mono/wiki/index.php/WineSamples">Wiki
- page.</a>
-
- We're now building daily snapshots of Mono. They come in
- three distinct flavors:
-
- <ul>
- * mono snapshot tarballs - These are 'release-style' tarballs and
- contain everything necessary to setup a new
- installation from scratch. This includes the Mono
- runtime and all the assemblies we distribute.
-
- * monocharge tarballs - These tarballs contain only
- the assemblies built on that day.
-
- * monolite tarballs - These tarballs contain a copy of
- 'corlib.dll', 'mcs.exe', 'System.dll', 'System.Xml.dll' and
- 'Mono.CSharp.Debugger.dll'. They can be used to
- re-bootstrap an out-of-sync installation.
- </ul>
-
- The daily builds are availble here: <a href="http://go-mono.com/daily">http://go-mono.com/daily</a>
-
- If you find that the builds are broken, please notify Duncan.
-
-@item Jul 19th, 2003: Recent developments
-
- Since Mono has matured, we have limited the news on the site
- to major accomplishments that are finished, but this week, it
- is worth devoting some time to talk about some of the
- work-in-progress projects that are progressing.
-
- Jackson has added support to the IL assembler for generics as
- well as to the PEAPI library, and it has assembled its first
- generic program. Support for handling images with generics
- has been on our file format reader for a while, but the JIT
- engine is still incomplete.
-
- On the XSLT world, Atsushi and Ben continue to make big
- improvements. Ben recently got the prototype managed XSLT
- implementation to run its first stylesheet. Although
- currently Mono uses libxslt to implement the System.Xml.Xsl
- namespace, to have a fully .NET compliant implementation we
- will need a managed version, and this is the beginning of it.
-
- Lluis recently posted an update on the <a
- href="http://lists.ximian.com/archives/public/mono-devel-list/2003-July/001550.html">state
- of WSDL</a> in Mono. Now that the web services runtime is
- ready, the WSDL compiler becomes more important as a
- development tool.
-
- Atsushi continues his work on the DTD validating reader in
- System.Xml, as well as improving our XML Schema support.
-
-@item Jul 14th, 2003: New build system; IPV6 support.
-
- Peter Williams has contributed a new build system that
- addresses many of the annoyance we had with our previous build
- system. He has worked on this for a few weeks, and Gonzalo
- helped test it and get it into CVS. We no longer have the
- historical dual build system: make for Unix and nant for
- Windows.
-
- This system also offers the opportunity to compile our class
- libraries with different profiles (.NET 1.0, .NET 1.1 and the
- various ECMA subsets).
-
- Peter explains the new build system <a
- href="http://lists.ximian.com/archives/public/mono-devel-list/2003-July/001506.html">here</a>
-
- Jerome's IPV6 code has been checked into CVS; With Peter's new
- build system, we will be able to expose it (as part of the
- NET_1_1 build).
-
-@item Jul 9th, 2003: ASP.NET web services, coverage tools.
-
- Web Services keep advancing: now we also support server-side
- authoring of Web Services as well as web service clients
- (which shipped in Mono 0.25). This works using our ASP.NET
- runtime, so it works with either XSP or the Apache module. The
- new Web Services work from Lluis added the missing bits:
- <ul>
- <li> .asmx files.
- <li> Method calls with complex parameters (whatever XmlSerializer can currently serialize, which is a quite a lot).
- <li> ref and out parameters.
- <li> Soap headers (In, Out and InOut).
- <li> Soap extensions, both global (configured in web.config) and particular to methods (configured using attributes).
- </ul>
-
- For more details, see Lluis <a href="http://lists.ximian.com/archives/public/mono-devel-list/2003-July/001449.html">post</a>
-
- GUI-wise: Work on <a href="http://xr.xwin.org">Xr</a> to
- implement System.Drawing continues. This will provide a full
- GDI+ implementation for Mono, and this will be hooked up into
- Gtk# and System.Windows.Forms.
-
- MonoDoc keeps moving along, with a new web-based version
- coming up next, and we are also exploring a collaborative
- extension to allow people to contribute documentation through
- their web browsers.
-
- Zoltan's Coverage analysis tool has been checked into CVS.
- With this tool it is now possible to find which class library
- code paths are missing regression tests. The module is
- `monocov'. Details are <a
- href="http://www.nexus.hu/vargaz/">here</a>. A fresh Gtk#
- version is available now.
-
- Jean's remoting-based Soap implenentation is also maturing.
-
-@item Jun 26th, 2003: Mono 0.25 has been released.
-
- We have released Mono 0.25. A list of the new features is
- available <a href="archive/mono-0.25.html">here</a>.
-
- Packages for Windows, and various Linux distributions are
- available on our <a href="download.html">download</a> page.
-
-@item Jun 17th, 2003: Web Services client; Profiling hooks
-
- Lluis and Gonzalo have checked into CVS the support for web
- services in the Mono runtime. This allows Mono to work as a
- web services client. We still require a WSDL compiler to
- compile the initial stub, but Erik has the beginning of a WSDL
- compiler ready and Atsushi has continued work on his
- experimental Xml Schema to C# class generator.
-
- As part of this, the Mono Http runtime has been rewritten to
- increase reliability, scalability and conformance to the
- specs. Also our io-layer has been extended to not have
- arbitrary limits. This was done as part of our collaboration
- with SourceGear.
-
- Paolo has commited the new pluggable profiling API to the Mono
- runtime: now the profiler is built as a module, and a new code
- coverage analysis has been checked in (and Zoltan already
- added improvements to it).
-
- Mark's Mozilla bindings continue to improve, and we will shortly
- migrate the Mono documentation browser to use Mozilla, to take
- advantage of the tutorial's use of CSS.
-
- Jackson's work on the IL assembler and Ben on running
- regression tests have provided us with a very needed tool in
- the Mono toolkit. One of the last missing pieces on the SDK.
-
- On the crypto world, we got Sebastien's certificate viewer
- checked into CVS and the crypto code keeps advancing by leaps
- and bounds.
-
- Alexandre and Aleksey Work continues on Windows.Forms on top
- of Wine and Gtk# (the former for full compatibility, the later
- for ease-of-authoring).
-
- Cesar checked in the beginning of the semantic analysis code
- for his JScript compiler, and will be working on it full time.
-
-@item Jun 11th, 2003: SourceGear and Ximian announce partnership
-
- Ximian, Inc., the leading provider of desktop and server
- solutions enabling enterprise Linux adoption, today announced
- that SourceGear Corporation will use Mono\x{2122} Project
- technology to offer cross-platform versions of its
- products. In addition, the companies have entered into a
- development partnership under which Ximian will provide
- custom Mono development to enable delivery of SourceGear
- products later this year. As a result, SourceGear will offer
- both UNIX and Linux clients for its SourceGear Vault source
- code management tool, enabling broader use of its solutions in
- mixed-platform development organizations.
-
- <a href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=sourcegear">Read more...</a>
-
- Some technical details are available <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-June/014334.html">here</a>.
-
-@item May 20th, 2003: OpenLink releases WineLib patches.
-
- OpenLink <a
- href="http://lists.ximian.com/archives/public/mono-winforms-list/2003-May/000284.html">announced</a>
- the release of Vladimir's work to turn Wine into a library
- that can be used dynamically from Mono. This work simplifies
- the work on System.Windows.Forms as it is no longer necessary
- have a special version of the GC, nor have a stub program.
- The patches are available <a
- href="http://www.openlinksw.com/mono/">here</a>.
-
- Mono packages for the Linux/s390 are available now in the <a
- href="download.html">download page</a>.
-
-@item May 10th, 2003: Eclipse runs on Mono
-
- Today Zoltan Varga announced that he got the <a
- href="http://www.eclipse.org">Eclipse IDE</a> running on top
- of Mono+<a href="http://www.ikvm.net">IKVM</a>.
-
- A screenshot of Eclipse running with Mono can be found <a
- href="images/ikvm-screenshot.png">here</a>
-
-@item May 6th, 2003: Mono 0.24 ships
-
- We have released Mono 0.24 which includes our new code
- generation engine. A list of the new features is available <a
- href="archive/mono-0.24.html">here</a>.
-
- Packages for Windows, and various Linux distributions are
- available on our <a href="download.html">download</a> page.
- We are shipping Gtk# and MonoDoc packages for the first time.
-
-@item Apr 21st, 2003: Virtuoso 3.0 ships.
-
- <a href="http://www.openlinksw.com">OpenLink's</a> released
- their <a href="http://www.openlinksw.com/press/virt3rel.htm">Virtuoso
- 3.0</a> database system. Virtuoso ships on Windows and Linux.
- On Linux they use Mono as their runtime to host C#, .NET and
- ASP.NET. Congratulations to OpenLink for their release.
-
- Virtuoso can be downloaded <a
- href="http://oplweb2.openlinksw.com:8080/download/virtuoso.vsp">here</a>
- and a demo is available <a
- href="http://demo.openlinksw.com:8890/tutorial/hosting/ho_s_2/ho_s_2.vsp">here</a>.
-
- OpenLink is contributing fixes and code to the Mono project on
- an ongoing basis.
-
- Jon Udell wrote a small <a
- href="http://www.infoworld.com/article/03/03/14/11stratdev_1.html">entry</a>
-
-@item Apr 19th, 2003: RelaxNG validating reader; Activities.
-
- Atsushi has created a <a
- href="http://www24.brinkster.com/ginga/RelaxngValidatingReader/">RelaxNG</a>
- validating XML reader.
-
- There is activity on the <a
- href="http://www.gotmono.com">GotMono forums</a> and the <a
- href="http://www.nullenvoid.com/gtksharp/wiki/">Gtk# Wiki</a>
-
-@item Apr 11th, 2003: First Mono Book is out; Team pages.
-
- The first book to cover Mono is out. This book is currently
- only available in German, you can find it <a
- href="http://www.amazon.de/exec/obidos/ASIN/3827264928/qid=1050051051/sr=2-1/ref=sr_2_3_1/028-2755135-1623712">here</a>
-
- We now have a page for the <a href="team.html">Mono Team</a>
- where we include a list of some of the people who have made
- Mono possible. If you have CVS access, please update the page
- to include your information.
-
-@item Apr 5th, 2003: New compilation engine.
-
- The new Mono compilation engine has been placed on CVS, the
- details are <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-April/013269.html">here</a>
-
- Zoltan has commited his <a
- href="http://lists.ximian.com/archives/public/mono-devel-list/2003-April/000274.html">typed
- allocation</a> patches to CVS as well.
-
-@item Apr 3rd, 2003: NUnit 2.0 GTK# GUI; GtkMozEmbed; SWT#
-
- Gonzalo has checked in his <a href="http://gtk-sharp.sf.net">Gtk#</a>-based
- <a href="http://nunit.org">NUnit</a> tool. Screenshots are <a
- href="http://primates.ximian.com/~gonzalo/mono/shots/running.png">here</a>
- and <a
- href="http://primates.ximian.com/~gonzalo/mono/shots/finished.png">here</a>
-
- Mark has checked his bindings for Gtk-based Mozilla into CVS,
- module name: `GtkMozEmbed'. Read the <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-April/013247.html">details</a>
-
- The SWT port to C# using Gtk is <a
- href="http://lists.ximian.com/archives/public/sd-mono-port/2003-March/000114.html">progressing</a>. Screenshots are
- <a href="http://www.roboto.ch/swt">here</a>.
-
-@item Mar 28th, 2003: Mono community site.
-
- <a href="http://www.gotmono.com">www.gotmono.com</a> has
- openend its door: Got Mono is a Mono Community site.
-
-@item Mar 25th, 2003: Second Mono Survey
-
- <table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="blue">
- <tr>
- <td valign="top">
- <div style="background: #c0d0ff; margin: 0px 0px 0px 0px; padding: 1px;">
- What do you think about Mono?
-
- Is your company involved with the development and
- deployment of web applications? Is Linux becoming an
- important part of your company's business application
- strategy? Are you considering Mono for your next
- project? Would you like to shape the future of Mono
- and the use of Linux in business critical
- applications?
-
- If you answered yes to any of these questions, we
- would like to talk with you. If interested, please
- email us at <a
- href="mailto:mbadgett@ximian.com">mbadgett@ximian.com</a>.
- </div>
- </td>
- </tr>
- </table>
-
-@item Mar 20th: Windows.Forms and Wine.
-
- Alexandre has provided a modified version of the GC system
- that will work with and Mono. See the mono-winforms-list. It
- is now possible to run our Win32-based implementation of
- Windows.Forms with Mono on Linux.
-
-@item Mar 7th, 2003: Mono 0.23
-
- A new freshly baked release of Mono is available. Release
- notes are <a href="archive/mono-0.23">here</a>. This is mostly a
- bug fix release. No new features.
-
-@item Mar 5th, 2003: Mono 0.22; MonoDoc 0.2; Debugger 0.2.1: Release-o-Rama.
-
- Mono 0.22 has been released. See the <a
- href="archive/mono-0.22">release notes</a>. This is a bug fix
- release.
-
- A new preview of MonoDoc 0.2, the Mono Documentation browser
- has been <a href="http://lists.ximian.com/archives/public/gtk-sharp-list/2003-March/001266.html">released</a>.
-
- Martin also announced a <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-March/012756.html">new
- release</a> of the Mono Debugger (both GUI and command line).
-
-@item Mar 3rd, 2003: The Mono Hackers Hall Of Fame welcomes Zoltan Varga
-
- The <a href="hackers.html">Mono Hackers Hall Of Fame</a>
- continues to show our appreciation to the excellent
- contributors that make <b>mono::</b> a successful free
- software project.
-
- Zoltan has contributed significantly to Mono, with bug reports and bug
- fixes as well as pushing the envelope of the things that can be done in
- and with the mono runtime: the gcc-based ngen compiler, code coverage
- and more recently his work with Reflection.Emit that got mono to the
- point of running the <a href="http://www.ikvm.net">IKVM</a> Java virtual
- machine.
-
-@item Mar 2nd, 2003: New Mono mailing list.
-
- A new mailing list for <a
- href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">Mono
- Development</a> has been created.
-
-@item Feb 27th, 2003: Mono 0.21 released
-
- Mono 0.21 has been released. This is only a bug fix release.
- The <a href="archive/mono-0.21">release notes</a> are available.
-
- Windows binary is available <a href="archive/mono-0.21-win32-1.exe">here</a>
-
-@item Feb 25th, 2003: Mono 0.20 for Windows released; New Apache module released.
-
- Packages of Mono for Windows have been <a
- href="archive/mono-0.20-stable-win32-2.exe">released</a>.
- Thanks to Daniel, Johannes and Paolo for setting this up.
-
- Daniel has released a new version of his Mono Apache module that
- handles ASP.NET. The code is available at <a
- href="http://apacheworld.org/modmono/">here</a>
-
- Nick has posted an update on the progress on our <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-February/012467.html">regression
- tests</a>. We are looking for more tests, and more volunteers to write them.
-
- Also, remember to contribute to the Gtk# documentation effort,
- momentum is picking up! See the entry for Feb 18th for more details.
-
-@item Feb, 23rd, 2003: Mono 0.20 released; Gtk# 0.8 released.
-
- Mono 0.20 has been released. Check out the <a
- href="archive/mono-0.20">release notes</a> for an overview of
- the changes. You can get it <a href="download.html">here</a>.
- There are no major features in this release, mostly bug fixes
- and performance improvements.
-
- Gtk# 0.8 has been <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2003-February/001114.html">released</a>
-
- <b>Important</b>: The contributed binaries for Windows
- binaries of Mono 0.20 contain a virus. Please read <a
- href="virus.html">this</a> if you installed the binary.
-
-@item Feb 18th, 2003: Volunteers to document Gtk#
-
- With the availability of a documentation browser, we are
- looking for volunteers to help us complete the documentation
- of the Gtk# binding for Mono.
-
- Experience with Gtk is useful, but not mandatory. We have
- checked in stubs, and we have instructions, and resources to
- how to complete this process <a
- href="documentation.html">here</a>. Mail the <a
- href="mailto:mono-docs-list@ximian.com">mono-docs-list@ximian.com</a>
- for further discussion.
-
-@item Feb 14th, 2003: OpenGL# bindings for Mono; Mono Basic updates.
-
- Mark Crichton has completed his OpenGL/GLUT bindings for
- Gnome. A screenshot can be seen <a
- href="sshots/oglcs.png">here</a>. The bindings are available
- on the Mono CVS repository on the module `glgen'. This is a
- straight binding to the C API.
-
- Marco has <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-February/011752.html">posted
- an update</a> on the current state of the free VB.NET compiler
- for Mono.
-
- We are looking for contributors and maintainers to the
- JavaScript compiler as well (Janet)
-
-@item Feb 12th, 2003: New assemblies, Gtk# stub documentation, Authenticode, Polish site
-
- Mono now distributes a few new assemblies: Mono.Security.Win32
- as a layer to use the crypto functionality on Win32. The
- Mono.Posix assembly which contains functionality for taking
- advantage of Unix facilities.
-
- A <a href="http://www.go-mono.pl/">Mono site in Poland</a>.
-
- Stubs for the Gtk# documentation have been checked into CVS.
- If you want to contribute please read <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-February/012108.html">this
- message</a>
-
- Mono development is moving quickly: Tim and Daniel have been
- improving the Oracle database provider and Sebastien Pouliot
- has got code signing to work using Authenticode with pure open
- source and managed code. Plenty of new VB.NET work from Marco
- (compiler) and Daniel (runtime). Also Jackson has resumed
- work on the IL assembler and the fully managed library to
- generate CIL images (Sergey wrote the first Mono.PEToolkit).
-
-@item Feb 11th, 2003: Mono Weekly News, New assemblies.
-
- <a href="http://monoevo.sourceforge.net/mwn/index.html">Mono
- Weekly News</a>: Includes a new interview, software
- announcements and the PHP/Mono integration.
-
-@item Feb 5th, 2003: MonoDoc 0.1
-
- A <a
- href="http://www.go-mono.com/archive/monodoc-0.1.tar.gz">preliminary
- release</a> of the Mono Documentation Browser is now availble.
- Release <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-February/011935.html">notes</a>
-
-@item Jan, 22th, 2003: Mono wins award, OpenLink releases Virtuoso.
-
- Mono won the `Best Open Source Project' award at the Linux
- World Expo. A description is <a
- href="http://linuxtoday.com/news_story.php3?ltsn=2003-01-23-024-26-OP-EV">here</a>
-
- Open Link has a <a
- href="http://biz.yahoo.com/prnews/030123/neth013_1.html">press
- release</a> about Virtuoso 3.0: the first commercial product
- shipping that uses Mono.
-
-@item Jan, 20th, 2003: Mono 0.19 released; Screenshots page; Gtk# 0.7
-
- Mono 0.19 has been released. Check out the <a
- href="archive/mono-0.19">release notes</a> for an overview of
- the changes. You can get it <a href="download.html">here</a>.
- There are no major features in this release, mostly bug fixes
- and performance improvements.
-
- We have now a new section <a href="screenshots.html">with
- screenshots</a> of various Mono applications. You can see
- there the new released Debugger, as well as the work in
- progress on the documentation browser.
-
- <a href="http://gtk-sharp.sf.net">Gtk# 0.7</a> has been <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-January/005222.html">released</a>
-
-@item Jan, 19th, 2003: Mono Debugger released.
-
- After six month of extensive development, Martin Baulig has
- released the first version of the Mono debugger. The Mono
- debugger is written in C# and can debug both managed and
- unmanaged applications, support for multiple-threaded
- applications and should be relatively easy to port to new
- platforms.
-
- Details of the release are available in <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-January/005192.html">post</a>.
-
- The debugger contains both Gtk# and command line interfaces.
- The debugging file format used in Dwarf (its already supported
- by our class libraries and the Mono C# compiler; To debug C
- applications, you need a recent GCC, or to pass the -gdwarf-2
- flag to gcc).
-
-@item Jan, 17th, 2003: DB2 provider, MacOS X
-
- Christopher Bockner has contributed a DB2 System.Data client.
-
- MacOS X support on the runtime has been integrated into the
- distribution, and MCS works with it.
-
- Zoltan has managed to get <a
- href="http://radio.weblogs.com/0109845/">IKVM</a> (a Java VM
- for .NET) to run with Mono. The HelloWorld.class runs with
- the Mono runtime.
-
-@item Jan, 13th, 2003: Mono 0.18 released
-
- Mono 0.18 has been released. Check out the <a
- href="archive/mono-0.18">release notes</a> for an overview of
- the changes. You can get it <a href="download.html">here</a>.
-
-@item Jan 10th, 2003: Mono Weekly News.
-
- A new issue of the <a
- href="http://lists.ximian.com/archives/public/mono-list/2003-January/004903.html">Mono
- Weekly News</a> has been published.
-
- Check out the <a href="crypto.html">Crypto status</a> page
- that Sebastien has put together.
-
-@item Jan 3rd, 2003: Glade#, Code Coverage, Apache, MBas, Debugger.
-
- Rachel has made Glade# use attributes so binding C# widgets to
- the designed widgets is now easier than ever. Alp has
- improved this to use implicit names as well.
-
- Martin's Mono debugger now has support for multi-thread
- debugging. Special feature: breakpoints can be defined in a
- per-thread basis now.
-
- Daniel López has checked in his Apache module to integrate
- Mono and Mono's ASP.NET support as an Apache module. Gonzalo
- has folded his new Mono hosting classes into this module (they
- are now shared between XSP and mod_mono). You can get the
- mod_apache from CVS (module name: mod_mono).
-
- Mono Basic improvements: Marco has added support for more
- statements on the grammar.
-
- Zoltan has <a href="http://www.nexus.hu/vargaz2/">posted</a>
- his Code Coverage analysis tool for Mono.
-
-@item Dec 17th, 2002: Mono: Commercial uses.
-
- <a href="http://www.tipic.com">Tipic</a> today <a
- href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=tipic_mono">announced</a>
- their work on porting their Instant Messaging Server platform
- to run on Mono.
-
- <a href="http://www.winfessor.com">Winfessor</a> also <a
- href="http://www.winfessor.com/press.asp">announced</a> the
- availability of their Jabber SDK to run on Mono.
-
- Also two weeks ago we mentioned <a
- href="http://www.openlinksw.com">OpenLink Software's</a> <a
- href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=openlink_mono">announcement</a>
- of their product, also using Mono.
-
-@item Dec 10th, 2002: Gtk# 0.6 released; Mono 0.17 packages for Windows and Debian.
-
- Mike Kestner <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-December/003961.html">announced
- Gtk# 0.6</a>. This new release includes many new features and
- bug fixes, and is the perfect companion to the <a
- href="archive/mono-0.17">Mono 0.17</a> release.
-
- Johannes has contributed a Windows-ready package of Mono 0.17,
- and its available from our <a
- href="download.html">download</a> page.
-
- Alp Toker has <a href="http://www.atoker.com/mono/">Debian packages</a>
-
-@item Dec 9th, 2002: Mono 0.17 has been released
-
- Mono 0.17 has been released. Check out the <a
- href="archive/mono-0.17">release notes</a> for a more detailed
- list. You can get it <a href="download.html">here</a>.
-
- Many new features as well as plenty of bug fixes. Many new
- System.Data providers and a more mature System.Web (ASP.NET)
- which can now be hosted in any web server. A simple <a
- href="archive/xsp-0.2.tar.gz">test web server</a> to host
- asp.net has been released as well.
-
- This version also integrates Neale's s390 port.
-
- This release also includes a new exception handling system
- that uses the gcc exception information that vastly improves
- our internalcall speed (15% faster mcs compilation times).
-
-@item Dec 8th, 2002: VB.NET, Oracle Provider.
-
- Marco has got the Mono Basic compiler up to speed (support for
- classes, modules, expressions, object creation, method
- invocation, local variables, and some statements). The
- compiler is based on the work from Rafael Teixeira on MCS.
-
- Screenshots: <a
- href="http://modgb.sourceforge.net/monobasic_snap.png">in
- Windows doing Windows.Forms</a> and in Linux doing <a
- href="images/gtk-vb.png">VB with Gtk#</a> (courtesy of Alp).
-
- Daniel Morgan has checked in his Oracle provider to the CVS
- repository as well.
-
-@item Nov 27th, 2002: Press release, tutorials, Windows Forms, ADO.NET, Magazine.
-
- <a
- href="http://www.business2.com/articles/mag/0,1640,45454,FF.html">The
- Penguin Takes Flight</a>: an article written by Erick
- Schonfeld appears on the December issue of <a
- href="http://www.business2.com/">Business 2.0</a> magazine.
-
- <a href="http://www.openlinksw.com">OpenLink</a> and <a
- href="http://www.ximian.com">Ximian</a> made <a
- href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=openlink_mono">joint
- announcement</a> on the plans of OpenLink to ship their <a
- href="http://www.openlinksw.com/virtuoso/index.htm">Virtuoso</a>
- server on Unix using Mono.
-
- Martin Willemoes's <a href="gnometutorial">GNOME.NET
- tutorial</a> is now available from the main Mono site. This
- tutorial is a collaborative effort to teach developers how to
- use Mono to create Mono applications using <a href="http://gtk-sharp.sf.net">Gtk#</a>
-
- Dennis Hayes has posted and <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-December/003800.html">update</a>
- on the work to get Windows.Forms working on Mono. There is a
- new test application that people can use to test their
- controls. If you are interested in working on Windows.Forms,
- you can participate in the <a
- href="http://lists.ximian.com/mailman/listinfo/mono-winforms-list">mono-winforms
- mailing list</a>
-
- Brian Ritchie has been working on an ADO.NET <a
- href="http://brianritchie.webhop.net/ideas/adocodegen.aspx">data
- layer</a> and an <a
- href="http://brianritchie.webhop.net/ideas/appserver.aspx">application
- server</a> for Mono.
-
- Dan Morgan has checked in his Oracle provider, and Tim Coleman
- continues to work on the TDS implementation of the data classes.
-
- The rest of the team has been working on bug fixing in the
- runtime, the compiler, and the class libraries. Also,
- compilation speed has increased recently by performing a
- number of simple optimizations in the compiler.
-
-@item Nov 19th, 2002: Crypto update; Books; Gtk# Datagrid; .NET ONE Slides
-
- Sebastien has got DSA and RSA signatures <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003497.html">working</a>
- as well as RSA <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003502.html">encryption</a>.
- We now distribute Chew Keong TAN's BigInteger classes.
-
- Brian has contributed a System.Data multiplexor in Mono, it
- can be found in the Mono.Data assembly. The details of this
- new technology are <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003400.html">here</a>.
- It works in Mono and the .NET Framework.
-
- Larry O'Brien has announced the candidate book for <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003500.html">
- Thinking in C#</a>. The book is Mono-friendly.
-
- Another book that covers mono (available in German only) is <a
- href="http://www.databecker.de/frames.php?PHPSESSD=4948515556575049525459495248485949485348&PHPSESSID=6cc68dbcfbcbacd7b82a984b0700d5d6&t=2">
- here</a>.
-
- Dan Morgan has implemented a DataGrid widget for Gtk#, you can
- see Windows screenshots for it <a
- href="images/GtkSharpDataGridScreenshot.png">here</a> and <a
- href="images/SqlSharpGtkScreenshot4.png">here</a>.
-
- Slides from the Mono developers for the .NET ONE conference are available now:
- <ul>
- <li><a
- href="http://primates.ximian.com/~miguel/slides-europe-nov-2002/DotNetOneKeynote.sxi">
- Mono Keynote presentation</a>
-
- <li><a href="http://primates.ximian.com/~lupus/slides/embed/">Hosting the Mono Runtime</a><br>
- The simple embedding of Mono in Perl is available <a
- href="http://primates.ximian.com/~lupus/slides/embed/Mono-0.01.tar.gz">here</a>
-
- <li><a href="http://primates.ximian.com/~lupus/slides/jit/">The Mono JIT compiler</a>
-
- <li><a href="http://primates.ximian.com/~miguel/slides-europe-nov-2002/Mono_C_Sharp_Overview_1007.sxi">
- Mono C# Compiler Overview</a>
- </ul>
-
- A couple of other presentations from Miguel's trip to Europe
- are available <a
- href="http://primates.ximian.com/~miguel/slides-europe-nov-2002/">here</a>
- in Open Office file format.
-
-@item Nov 8th, 2002: Mono s390, Database work, new JIT updates.
-
- Neale Ferguson has contributed <a href="download.html">RPM
- packages</a> of Mono for the Linux/s390.
-
- Tim Coleman posted an <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003329.html">update</a>
- on the improvements in the System.Data
-
- The new JIT engine can run 72 out of our 154 tests for the
- virtual machine, and it also got exception support this week.
-
-@item Nov 1st, 2002: TDS, Crypto, Gtk#, Winforms, bug fixes.
-
- Tim's SqlClient is <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-November/003161.html">now
- capable</a> of communicating with the Microsoft SQL server
- using the TDS protocol. A screenshot showing a sample client
- running with <a href="http://gtk-sharp.sf.net">Gtk#</a> on
- Windows is shown <a
- href="images/SqlSharpGtkSceenshot3.png">here</a>
-
- Sebastien has made all symetric ciphers functional on all
- supported modes; All the classes in Security.Cryptography are
- present and the X590 certificates are now in too. Jackson has
- been working on the Security classes.
-
- Many bug fixes all over the place: class libraries (Dick,
- Piers, Ville, Zoltan, Gonzalo, Dan, Atsushi, Nick, Phillip),
- compiler, runtime engine. A big thank goes for everyone who
- has been providing bug reports for us to track down.
-
- Gaurav has been working on multiple WebControls. Gonzalo migrated
- the ASP.NET engine to use POST for interaction.
-
- In the Gtk# land saw the integration of gda, gnome-db and GStreamer
- bindings.
-
- Windows.Forms classes now build on Linux and Windows, check
- out the status pages for areas of collaboration.
-
-@item Oct 24th, 2002: S390 support, XSP/ASP.NET, Win32 contributors, TDS.
-
- Today Neal Ferguson's support for the IBM S390 was checked
- into CVS.
-
- The XSP processor has been fully integrated into the
- System.Web assembly, and Gonzalo has finished the hosting
- interfaces in Mono. This means that it is possible to embed
- ASP.NET with the same APIs used in Windows, and is possible to
- easily embed it with Apache for example. The XSP module has
- now become a shell for testing the System.Web classes.
-
- We are looking for contributors that know Win32 to contribute
- to the Windows.Forms implementation. If you want to help
- write some controls using the Win32 API, get in touch with our new <a
- href="http://lists.ximian.com/mailman/listinfo/mono-winforms-list">mono-winforms-list@ximian.com
- list</a> mailing list.
-
- Tim's TDS System.Data set of classes can now talk to SQL
- servers using the TDS protocol (version 4.2) with
- connection pooling. Currently it can connect, run
- transactions, update/insert/delete, and read some types. A
- data adapter is also coming soon.
-
-@item Oct 21th, 2002: Crypto, Winforms list, Database, GConf, Debugger.
-
- Sebastien Poliot has made a lot of progress, he reports that
- DES and TripleDES have been fixed; Rijndael and CFB modes
- still have problems in some configurations and some areas that
- are not supported by the .NET framework.
-
- Last week we created a new <a
- href="http://lists.ximian.com/mailman/listinfo/mono-winforms-list">mailing
- list</a> to discuss the Mono Winforms implementation.
-
- Tim has started a full C# implementation of the TDS protocol
- and the providers, and Brian continues his work on his ODBC
- binding.
-
- Rachel Hestilow has also checked in a binding for GConf. This
- binding <a
- href="http://toxic.magnesium.net/~hestilow/gconfsharp/intro.html">is
- unique</a> in that it uses some features in the CLI to support
- complex data types, and allows the user to keep only one
- representation of the types instead of two (the master types
- is defined in CLI-land). Also Property Editors (<a
- href="http://primates.ximian.com/~miguel/shots/gconf-shot.png">shot</a>)
- simplify the creation of user interfaces that bind their
- configuration to backend keys, following the <a
- href="http://developer.gnome.org/projects/gup/hig/1.0/">GNOME
- Human Interface Guidelines.</a>
-
- Martin is now on vacation, but before leaving he produced a
- number of documents detailing the state of the debugger. The
- major missing feature is full support for debugging unmanaged
- applications (it requires dwarf-2 handlers for types). We
- will do some polishing of the user interface (<a
- href="http://primates.ximian.com/~miguel/shots/debugger-4.png">new
- shot</a>) to expose the existing and rich functionality to the
- users and try to release a preview of the debugger at the same
- time as Mono 0.17.
-
-@item Oct 14th, 2002: Crypto, Database work, Debugger, Documentation.
-
- Brian, Daniel and Rodrigo have been busy working on the ODBC
- provider for Mono. Daniel posted some <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-October/002755.html">updates</a>.
- Brian posted <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-October/002758.html">details
- about the ODBC.NET</a> provider.
-
- Also Sebastien Pouliot has been improving the various
- cryptographic classes in Mono, something that we had not done
- in quite some time. We are looking for a way to handle
- big-nums. We need either a managed or unmanaged set of
- classes for handling large numbers, and some volunteers to
- expose this functionality to C# (Either as an internal
- assembly, or as a set of P/Invoke, Internal call wrappers).
-
- Martin has got our debugger to support adding breakpoints at
- file/line combos. This was more complex than generic
- breakpoints in routines, because these breakpoints are set on
- routines that probably have not been JITed just yet. Martin's
- focus now is on stabilizing our debugger and aim for a public
- release of it.
-
- We have also imported the ECMA documentation into a separate
- module, and with the help from Scott Bronson we will have the
- necessary XSLT tools to finish our native documentation
- browser for Mono. This together with the work from Adam will
- be the foundation for the <a href="classlib-doc.html">Mono
- Documentation Tools</a>.
-
-@item Oct 9th, 2002: Various Mono updates.
-
- Brian Ritchie, Daniel Morgan, Rodrigo Moya and Ville Palo have
- been working on various database providers. The MySQL has
- seen a lot of work, and a new ODBC provider is now on CVS and
- more extensive regression tests have been checked in.
-
- Dick Porter is our background hero and keeps fixing the
- low-level bugs in the portability layer. Now the Mono handle
- daemon should be a lot more robust and will no longer leave IPC
- regions. Gonzalo Paniagua has initiated the migration of XSP
- into the System.Web class libraries now that we have a
- complete HttpRuntime implementation. This means that you are
- able to embed the ASP.NET processor into any web server you
- want. This also includes support for the system-wide
- configuration file `machine.config'.
-
- Martin Baulig has been busy with the Mono Debugger, you can see how
- it looks <a
- href="http://primates.ximian.com/~miguel/debugger-1.png">here</a>
- and <a
- href="http://primates.ximian.com/~miguel/debugger-2.png">here</a>.
- Now local variables and breakpoints are supported, and we are
- working on the UI elements to simplify their use (as seen on
- the screenshot).
-
- <a href="http://gtk-sharp.sf.net">Gtk#</a> has seen a lot of
- activity specially as we start to build larger applications.
- Vladimir Vukicevic, Kristian Rietveld, Rachel Hestilow, Mike
- Kestner and Miguel de Icaza have been busy improving it.
- mPhoto which is a Photo management application for Mono and
- Gtk# is seen <a
- href="http://primates.ximian.com/~miguel/shots/mphoto-2.jpg">here</a>.
-
- Chris Toshok the man behind LDAP in Evolution continues to
- work on the Mono.LDAP# implementation.
-
- Dietmar Maurer and Paolo Molaro are still busy working on our
- new optimized JIT/ATC engine and are making great progress.
- The code base has been designed to ease the implementation of
- more advanced compiler optimizations, and optimizations can be
- chosen individually so they can be tuned for a particular
- processor, or use profile-based information to improve the
- performance.
-
-@item Oct 1st, 2002: Mono 0.16 released; Debugger updates.
-
- Mono 0.16 has been released. Source and RPMs are <a
- href="download.html">available</a>. The release notes are <a
- href="archive/mono-0.16">here</a>.
-
- Martin's debugger can debug both managed and unmanaged code.
- Recently Martin added support for locals, parameters, and
- breakpoints on top of the existing infrastructure (his
- debugger supported instruction-level and source-code level
- single-stepping).
-
-@item Sep 19th, 2002: Mono Survey.
-
- Help us plan for the future of Mono by filing out the <a
- href="http://primates.ximian.com/~miguel/monosurvey">First Mono
- Survey</a>
-
-@item Sep 17th, 2002: Mono Hackers Hall of Fame: Sergey Chaban
-
- The <a href="hackers.html">Mono Hackers Hall Of Fame</a>
- continues to show our appreciation to the excellent
- contributors that made <b>mono::</b> a successful free
- software project.
-
- This time the Hall of Fame welcomes Sergey Chaban. Sergey has
- been a long time contributor to the project, from the early
- work on the class libraries that were critical to Mono's
- origin: every time you use a Hashtable in Mono, it runs
- Sergey's code, to the low-level optimizations on the JIT
- engine and to his work on ILASM and the PEToolkit.
-
-
-@item Sep 16th, 2002: Documentation Tools, ILASM, Debugger, Mono LDAP, Winforms
-
- Adam Treat has started moving the documentation universe again. We
- have a new strategy to document our APIs (given that we have
- chosen <a href="classlib-doc.html">not to document the code
- inline</a>). This includes the use of a master reference file
- that will hold the entry points to document. All master files
- for our assemblies have been checked into CVS now.
-
- Sergey Chaban's Mono.PEToolkit and ILASM tools have been
- checked into CVS. Although ILASM is old and will soon be
- updated, we wanted to get the build issues sorted out.
-
- Martin Baulig's Mono Debugger is still on its early stages,
- but you can run and run step by step your C# code and C code
- (including the Mono runtime). Dwarf-2 is required to compile
- your code. The regular step, step-into, and assembly-level
- step and step-into are supported. And comes with a Gtk#
- UI. The debugger is written mostly in C# with some C glue
- code. Most of the work is on the engine, we will be working
- on making a good UI in the future.
-
- Chris Toshok of the Hungry Programmer's fame has checked in
- Mono.Directory.LDAP, a C# wrapper for the LDAP libraries.
- This is the substrate for implementing the
- System.DirectoryServices assembly.
-
- Andrew has also continued with some of the cryptographic
- classes implementation.
-
- After much public debate, we have chosen a new <a
- href="winforms.html">strategy to implement winforms</a>.
- Implementing a Gtk, Qt or Aqua based version of Winforms was
- going to be almost as complex as implementing Wine itself. So
- the new strategy is to only roll out a WineLib-based
- implementation.
-
-@item Sep 4th, 2002: .NET One 2002 Program available
-
- The <a
- href="http://www.sigs-datacom.de/sd/kongresse/dotnet_2002/index.htm">.NET
- ONE 2002</a> conference in Frankfurt is now available. Paolo
- will be talking about the Mono JIT and embedding the Mono
- runtime in your Windows and Linux applications. Mike Kestner
- will talk about <a href="http://gtk-sharp.sf.net">Gtk#</a> and
- the automatic binding generator used by Gtk# and Miguel will
- be talking about the Mono project on Monday's keynote and on
- the Mono C# compiler on Tuesday.
-
-@item Sep 3rd, 2002: Apache integration
-
- <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-September/001862.html">Sterling</a>
- announced an Apache module that hosts
- Mono, and allows CIL code to run from within Apache, giving the
- module access to the Apache runtime. This uses the Mono embedding
- API.
-
-@item Aug 24th, 2002: Gtk# 0.4 released
-
- Shortly after <a href="download.html">Mono 0.15</a> was
- released a fresh version of <a
- href="http://gtk-sharp.sf.net">Gtk#</a> was <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-August/001702.html">announced</a>.
-
-@item Aug 23rd, 2002: Mono 0.15 released
-
- Mono 0.15 has been released. Source and RPMs are <a
- href="download.html">available</a>. The release notes are <a
- href="archive/mono-0.15">here</a>
-
-@item Aug 21th, 2002: Portable.NET encodings integrated into Mono.
-
- Rhys Weatherley has contributed the Portable.NET encoders to
- the Mono class libraries. This is a great step towards
- cooperation between these projects. Thanks to Paolo for doing the
- merger on our side.
-
- His encoders are more complete than the iconv-based approach
- that mono used, which was unreliable under certain
- circumstances.
-
-@item Aug 20th, 2002: Remoting work, Resources, SPARC checkins, ADO.NET
-
- <b>San Francisco</b>: August 14th. Linux World Expo.
-
- Mark Crichton has checked in his patches to get the SPARC port
- on par with the PPC port.
-
- Dick has checked-in the resource reader and resource writers
- to the class libraries, and Dietmar checked in the C# support
- code for the remoting infrastructure.
-
- More work on System.Data: the LibGDA (our OleDB backend) based
- providers are quickly maturing, and recently they executed
- their first query.
-
-@item Aug 13th, 2002: MCS news, Gtk# progress, Windows.Forms, ADO.NET
-
- Martin Baulig has been fixing all the known bugs in the C#
- compiler and now has moved into improving the compilation
- speed and the generated code quality of MCS. Today we got a
- 50% speedup in the bootstrap of MCS going from 24 seconds to 12 seconds.
-
- Gtk# has been making a lot of progress, some interesting
- corner cases are now supported:, you can now create canvas items as
- well as using the tree widget. Here is a shot of <a
- href="images/mocil.png">MonoCIL</a>.
-
- On the runtime front, focus has been on improving remoting
- support, exception handling, as well as completing the support
- for structure marshaling.
-
- Patrik is also back in action: the HttpRuntime infrastructure
- is rapidly improving, and Gonzalo is working into moving XSP
- into our main class library and providing the missing pieces
- to integrate with Patrik's code.
-
- Dennis and his team are working on a WineLib-based
- implementation of Windows Forms to guarantee that the corner
- cases of Windows.Forms can be handled, and we are back on track again.
-
- A lot more work on the ADO.NET and WebServices has also been
- checked into CVS.
-
-@item Aug 1st, 2002: Mono Hackers Hall of Fame
-
- The <a href="hackers.html">Mono Hackers Hall Of Fame</a> has been started
- to show our appreciation to the excellent contributors that made <b>mono::</b>
- a successful free software project.
-
- The first, deserved, entry goes to
- Nick Drochak, who joined us in the first days of Mono and built the testing
- infrastructure for the C# assemblies, fixed tons of bugs and even adventured
- himself in the lands of the C runtime. His work is invaluable for keeping
- Mono on the right track through the daily changes in the codebase.
-
-@item Looking for volunteers
-
- We are looking for volunteers to help complete various pieces
- of Mono and help move the project forward, we need
- contributions to:
-
- <ul>
- * More tests to the existing class libraries.
-
- * Finish existing class libraries, check our <a
- href="class-status.html">class status</a> pages to see
- all the missing things. There are open tasks all over
- the place: XML, Database access, enterprise services,
- configuration, ASP.NET, Drawing APIs, and more.
-
- * Since we have now ASP.NET running, we would like to
- create an ASP.NET application to maintain our class
- library documentation.
-
- We have some special needs (read them <a
- href="classlib-doc.html">here</a>). There is a
- prototype written using Windows.Forms, but we believe
- it will be faster to have this done using ASP.NET (and
- it is also a nice way of stress testing it).
-
- * Support for the VB runtime: we need contributions
- to make our VB runtime mature enough to host
- applications compiled with the VB.NET to run with
- Mono.
-
- * We need people to help write the documentation: you
- can start editing our XML files by hand, and once we
- have the ASP.NET tool, upgrade to that.
- </ul>
-
-@item July 31st, 2002: Flow Analysis
-
- Martin has checked into CVS the data flow analysis patch for
- MCS, this means that we now correctly implement definite
- assignment in the C# language.
-
-@item Jul 31st, 2002: Most ASP.NET controls render, Gtk# structs.
-
- Gonzalo <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-August/001234.html">posted
- an update</a> on the ASP.NET widgets that are still pending. Patrik is back, and he is
- working with Gonzalo to streamline the pipeline
-
- Rachel quietly committed to Gtk-Sharp support for marshaling
- structures (very important for Gtk#). This uses extensively
- the new marshaling code that Dietmar added to the runtime.
-
- Dietmar is also now sharing more code for P/Invoke using his
- intermediate representation. Another step to share more code, and
- simplify the porting and maintenance process.
-
-@item Jul 27th, 2002: NGEN tool for Mono.
-
- Zoltan <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-July/001117.html">announced</a>
- the availability of his CIL to C compiler. This allows your Mono assemblies to be pre-compiled
- and optimized by GCC in your platform, increasing the speed significantly of your code.
-
-@item Jul 26th, 2002: Mono 0.13 has been released.
-
- <b>Mono 0.13 has been released!</b> (details <a
- href="archive/mono-0.13">here</a>). Get
- your sources for the <a
- href="archive/mono-0.13.tar.gz">runtime</a> and
- <a href="archive/mcs-0.13.tar.gz">compiler and class libraries</a>.
- <p>
- Alp made Debian packages and they are <a
- href="http://www.atoker.com/mono/">here</a>. Cristophe made
- packages for Red Hat and they are <a
- href="http://mono.baselabs.org/software">here</a>.
- And Windows packages have been <a href="http://www.superin.formativ.net/mono/mono.htm">contributed</a>
-
-@item Jul 23rd, 2002: Mono Verifier, System.Web.Services, ASP.NET samples.
-
- Mono now has a verifier. It is used by the runtime, or you can invoke it manually to
- verify an image by using the `pedump' tool.
-
- Tim Coleman has started work on the System.Web.Services
- assembly (you can also track the status here on the web page).
- Contact him if you want to help in this assembly or with the
- associated web service tools.
-
- Various samples for ASP.NET have landed in CVS.
-
-@item Jul 20th, 2002: Spanish Mono Tutorial.
-
- A Spanish tutorial on using Mono is <a
- href="http://mono.es.gnome.org/tutoriales/mono-linux/">here</a>.
- Also the <a
- href="http://mono.es.gnome.org/tutoriales/mono-puf/">FAQ</a>
- has been translated as well.
-
-@item Jul 19th, 2002: File handle redirection, Embeddable Mono and Mono Linux compilation.
-
- Dick's code for file handle redirection is complete and has
- now landed on the CVS repository.
-
- The Mono runtime can now be embedded into your application
- (also known as "CLR hosting"). See the sample in
- mono/samples/embed. This allows your application to link with
- the Mono runtime, then your C code can call into the C#/CIL
- universe and back.
-
- Peter Williams and Martin contributed some Makefiles to
- compile all of Mono on Linux. Details are <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-July/000916.html">here</a>.
-
-@item Jul 17th, 2002
-
- The first documentary on Ximian's development team is now
- available online, from young director <a
- href="mailto:erik.pukinskis@uconn.edu">Erik Pukinskis</a>: <a
- href="http://www.ximian.com/devzone/projects/codemonkey.html">"Code
- Monkey At Work"</a>.
-
- A Tutorial on getting Mono installed from sources is now <a
- href="http://www.go-mono.com/mono-beginning/x70.html">online</a>.
-
- More progress on the ASP.NET front: user defined controls are
- now being rendered, as well as many of the sample programs
- from www.asp.net. Gonzalo's work can be found on module XSP
- (this implements the .aspx compiler).
-
- Sergey Chaban has got Gtk# working on Windows, you can see
- some screenshots: <a href="sshots/Gtksharp-1.jpg">sample apps</a> and
- <a href="sshots/Gtksharp-2.jpg">running with a Russian charset</a>.
-
-@item Jul 16th, 2002
-
- Paolo today got mono to complete host itself on Linux. This
- means that we can now compile the `corlib' using the Mono C#
- compiler and the Mono runtime.
-
- Compiling the corlib was rather tricky, because the types that
- the compiler uses during the compilation process will come
- from the source code it is compiling.
-
- After a few months of work, we have finally fleshed out all
- the remaining bugs. Now the next step is to update the makefiles
- to compile with the Mono tool-chain.
-
- A recapitulation:
- <ul>
- * The Mono C# compiler was able to compile itself on December 28th, 2001.
- The resulting image contained errors though.
-
- * The Mono C# compiler was able to self-compile in on
- January 3rd, 2002. Becoming a self-hosting compiler on Windows.
-
- * The Mono runtime matured enough by March 12, 2002 that it
- was able to bootstrap the Mono C# compiler on Linux using our interpreter.
- This means that our development tool was self sufficient.
-
- * On March 26th, the JIT engine was fixed, so we could use this to
- run the compiler on Linux.
-
- * Martin fixed the remaining bugs in the compiler that stopped it from
- compiling the `corlib'. The resulting image still contained errors though.
-
- * On July 8th, Radek got the PowerPC port to bootstrap
- the C# compiler. This is important, because it exposed
- various tricky issues in a big-endian system.
-
- * Today: we can bootstrap the compiler using libraries
- and the compiler compiled with itself on Linux. The process is complete.
- </ul>
-
- In the meantime, Dietmar has quietly implemented the remaining
- pieces of Marshalling in the Mono runtime. This is very
- important for the Gtk# guys to move on with their bindings.
-
- To make things more interesting, he replaced most of the
- architecture specific code generation for trampolines
- (delegates, invocations, function and p/invoke trampolines) to
- use CIL. This CIL is then compiled on the flight by the JIT
- Compiler engine. By doing this, we have reduced the burden to
- port the JITer to new architectures, and that our trampoline
- code is cross platform.
-
-@item Jul 9th, 2002
-
- Ajay was the first to notice <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-July/000641.html">
- Mono's first birthday</a>.
-
- In a year, we have achieved plenty:
- <ul>
- * 94 contributors with CVS access (84 non-Ximian developers).
- * A complete CLI implementation:
- <ul>
- <li> A fast and performing x86 JIT engine (inlining, constant propagation).
- <li> An interpreter for other systems (PPC, Sparc, StrongArm).
- </ul>
- * A self-hosting C# compiler, which can compile its class libraries.
- * 37,140 file changes in CVS.
- * 92,000 lines of C code.
- * 437,000 lines of C# code (compiler, classes, tests)
- * A working core for ASP.NET and ADO.NET.
- * Major subsystems are functional: RegularExpressions,
- System.XML, XML.Schema, System.Data, System.Web.
- * The Gtk# project, which is maturing rapidly.
- </ul>
-
- Thanks to everyone who has made Mono possible with their
- feedback, regression tests, their comments, their help on the mailing
- list, code contributions, complete classes, bug reporting, the
- countless hours of bug hunting. This project would not have
- been possible without every contribution.
-
- It has been a great year for everyone involved in the
- project. I think we have built a new and exciting community.
-
- Now we have a solid foundation to build on, so this next year
- looks even more exciting: not only because we will see more
- Mono applications, but we will begin using Mono as an
- `library' to be linked with applications that want to get
- scripting-like features; Gtk# is our ticket to create nice
- GNOME applications; And we will be developing CORBA bindings
- to integrate with other object systems.
-
- Also, for those interested in optimizations and tuning, this
- year we will get to play with more advanced optimizations and
- all kinds of interesting research ideas for improving Mono
- code generation.
-
- A special thanks to the Mono developers at Ximian for managing
- to survive their manager and a special thanks to our
- regression test marshal Nick Drochak, who has been hunting
- down, and fixing code in our class libraries and keeping us on
- track for so long.
-
-@item Jul 8th, 2002
-
- Radek today fixed the last bugs to get Mono to self host on
- Linux/PowerPC.
-
- Alp Toker has released version 0.5 of <a
- href="http://www.atoker.com/phonic/">Phonic</a>, a media
- player for .NET. Phonic makes extensive use of Mono-developed
- technologies such as Gtk# and csvorbis (Ogg player ported by
- Mark). Hopefully we will be seeing many more exciting
- applications like these in the near future.
-
- Dietmar has been moving a lot of the architecture specific
- code in the JIT engine to our internal representation. This
- means that porting the JIT is simpler now, as there is less
- architecture-specific code to maintain. The inliner, constant
- folder and constant propagation are also done at the
- architecture independent layer.
-
- Gonzalo is now running the sample ASP.NET applications on
- Linux with the Mono runtime. It still needs polishing though,
- and help with the various ASP.NET controls would be
- appreciated. The ASP.NET community seems more poor than the
- PHP community, we need to have a few open source controls to
- do things dynamic rendering (libart+gdk-pixbuf again can do
- most of the work), charts and components like the kind of
- thing you see in the PHP universe: to bring nice GPL code to
- the masses of Windows developers, lure them into the world of
- Linux.
-
- Dick has also got us the new Process implementation that
- implements the Win32 semantics. Now only redirection is
- missing.
-
-@item Jul 3rd, 2002
-
- Listen to Paolo Molaro do a talk on Mono at the WebIT
- conference in Padova, Italy this coming friday. Details are
- <a href="http://www.webbit2001.org/event/eventview/534/">here</a>
-
- You can also see a trip report from the Gnome in the South trip:
- <a href="http://primates.ximian.com/~miguel/sur.html">here</a>
-
- Miguel will be doing a couple of talks at the O'Reilly
- conference about Mono: status update, progress and developing
- applications with it. Details are <a
- href="http://conferences.oreillynet.com/cs/os2002/view/e_sess/2994">here</a>
- and <a
- href="http://conferences.oreillynet.com/cs/os2002/view/e_sess/2996">here</a>
-
-@item Jun 30, 2002
-
- Martin Baulig fixed the remaining bugs that prevented MCS to
- compile our corlib. The compilation was tricky because of the way
- MCS bootstraps the compile (internally mcs uses the types that are
- being defined at that point to perform compares).
-
- Martin and Paolo have been working hard on fixing the
- remaining issues. Currently 102 test pass and 15 fail with
- our resulting corlib.
-
- Jesus' SoapFormatter classes are now in CVS.
-
- I have been redoing the type lookup system for MCS. The
- interesting bit is that I did most of this work on an airplane
- using MCS itself. Which is a good test that the compiler is
- now a good development tool.
-
- Duncan, Mike and Rachel have been hard at work with Gtk#, now
- there are bindings for the GtkHTML widget (the one used by
- Evolution's composer). And Rachel also got the beginning of GNOME
- bindings, that should simplify application development.
-
- A big thanks goes to Dennis Hayes for getting the
- Windows.Forms work together, and committing so many stubs for Windows.Forms.
-
-@item Jun 25, 2002
-
- I am updating the Mono site from the UNESCO offices in
- Uruguay, the <a href="http://www.gnome.org/resources/calendar/roadshow/GNOMEenelSur.html">South-America trip</a>
- to promote free software is going very well.
-
- Many news in Mono-land this week so far:
-
- Mike Kestner got bindings for GtkHTML last night for Gtk#,
- this is using GtkHTML 2.0.
-
- On Monday Piers Haken <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-June/000380.html">contributed</a>
- the core to support XPath in Mono: most of the w3c spec is
- implemented (modulo a few pending bits).
-
- Dick checked in his implementation of the Process classes:
- process forking and waiting support committed, with some functions to
- query status. This was complex as we had to emulate the Win32
- environment, but this is another step to be fully compatible.
- This means for example that any process can check on the
- status of any other process (without the parent/child relationship)
-
- Of course, those interested
- in only the Unix semantics can always P/Invoke the Unix calls.
-
-@item Jun 24, 2002
-
-
- Duncan has written a few sample <a
- href="http://primates.ximian.com/~duncan/Mono">Gtk# demo
- applications</a> (<a
- href="http://primates.ximian.com/~duncan/Mono/img/ImageViewer.png">screen
- shot</a>, <a
- href="http://primates.ximian.com/~duncan/Mono/img/ImageBrowser.png">another</a>)
-
- Rachel also got the beginning of Gnome bindings (<a
- href="http://primates.ximian.com/~tvgm/gnome-hello.png">screenshot</a>).
- She also got some <a
- href="http://primates.ximian.com/~tvgm/gtk-sharp-docs/">documentation</a>
- up now.
-
-@item Jun 22, 2002
-
- Mono's ASP.NET has rendered its first page on Linux for the
- first time (Gonzalo and Paolo).
-
- Also, we are getting close to
- self hosting. Paolo posted a <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-June/000345.html">list
- of pending issues</a> which are now very small.
-
- Steam is picking up in <a
- href="http://gtk-sharp.sf.net">Gtk#</a> as the bindings become more
- complete and small applications are starting to emerge. Gtk#
- now compiles completely on Linux. This uses a lot of the XML
- libraries, which is nice to see.
-
-@item Jun 20, 2002
-
- Gonzalo has got the Mono ASP.NET implementation can now render all Html
- Controls, and 21 out of the 26 Web Controls. Session tracking is
- next. Look in xsp/test for a collection of tests that render with Mono.
-
- Ajay has been very busy improving and extending the
- XmlSerialization code. All fields had to be re-ordered to
- match the Microsoft implementation.
-
-@item Jun 19, 2002
-
- You can now download a fresh tarball of the libraries and the MCS
- compiler daily from <a href="http://www.atoker.com/mono/">Alp Toker's
- website</a>.
-
- New libgc RPMS for Redhat 7.3 are available on <a href="
- http://java.thn.htu.se/~toor/">Richard Torkar's site</a>.
-
-@item Jun 10, 2002
-
- Ajay <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-June/000128.html">announced</a>
- today that the reading code for XmlSchemas is almost complete.
-
-@item Jun 7, 2002
-
- <b>Mono 0.12 is out!</b> More classes! More working code!
- Better compiler! Faster runtime! Less bugs!
-
- You can get it <a
- href="download.html#jun-7">Here</a> (quick links: <a
- href="archive/mono-0.12.tar.gz">runtime</a> and <a
- href="archive/mcs-0.12.tar.gz">compiler/classes</a>).
-
-@item Jun 3rd, 2002
-
- CodeDOM implementation from Daniel Stodden has got C# output support.
-
-@item May 31, 2002
-
- Gonzalo got the Mono XSP page parser to render its first ASP.NET
- .aspx file today without using MS System.Web.Hosting classes.
- It is currently on its infancy. But very good news, now we need to
- upgrade our System.Web runtime to run natively on Linux.
-
- Sergey's code for architecture and size-specific CPBLK has
- been checked into CVS.
-
- Paolo has checked the configuration code for Mono (to map
- PInvoke dlls to other libraries).
-
- <a href="ado-net.html">ADO support</a>: Daniel has checked in
- a modified version of the MySQL data provider from Brad. And Rodrigo
- started the OleDB using LibGDA.
-
-@item May 27, 2002
-
- An <a href="index.rss">RSS feed</a> is now available for the
- Mono news. I find it surprising that there are so many tools
- that process this data.
-
- Binaries for <a href="http://www.superin.formativ.net/mono/mono.htm">Windows</a> are
- now location independent, do not require Cygwin and come with a Wizard.
-
-@item May 26, 2002
-
- Daniel Morgan checked in his Sql# Cli tool into the
- System.Data class library.
-
-@item May 24, 2002
-
- Ajay <a
- href="http://lists.ximian.com/archives/public/mono-patches/2002-May/003953.html">has
- checked in</a> a major update to the System.Xml.Schema namespace.
-
- Gonzalo moved XSP along this week: Added support for
- templates, columns inside DataGrid, HTML comments, code render
- and data binding tags, style properties in style tags,
- ListItem inside list controls, float and double properties.
-
-@item May 22, 2002
-
- <a href="http://monologo.sourceforge.net/">MonoLogo</a> runs
- on the Mono runtime. This <a
- href="http://monologo.sourceforge.net/gtk.png">screenshot</a> shows
- MonoLogo running Gtk#.
-
-@item May 21, 2002
-
- Martin has improved the debugging infrastructure in Mono, now
- it is possible to get <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-May/005717.html">line
- number</a> information on stack traces.
-
-@item May 20, 2002
-
- XSP <a href="asp-net">our ASP.NET</a> .aspx page parser is now
- available on the AnonCVS servers. This is part of the ASP.NET
- support in Mono. Gonzalo is the developer on charge of it.
-
- Many updates to the <a href="ado-net.html">ADO.NET
- implementation</a> from Dan, Tim and Rodrigo.
-
- Radek got the Mono C# compiler running on Linux/PPC and
- compiling most of our regression test suite.
-
- Lawrence has been working really hard in fixing, improving and
- polishing the underlying network infrastructure.
-
- The Rafael and Chris have committed the beginning of the
- VisualBasic.NET runtime support to CVS.
-
- Jesus has contributed the beginning of the SoapFormatter
-
-@item May 9, 2002
-
- Linear register allocator has been deployed in the Mono JIT
- engine. Read <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-May/005489.html">about
- it</a>
-
-@item May 5, 2002
-
- We are able to retrieve simple data from the database
- using our ADO.NET like functionality. Only string and integer data
- types are supported right now but more are in the works.
-
- You can find more information
- at <a href="http://www.go-mono.com/ado-net.html">The Mono ADO-NET Page</a>
-
- Thanks goes to Chris, Daniel, Duncan, Gonzalo, Miguel, Rodrigo, Tim,
- and others for these bits.
-
-@item May 4th, 2002
-
- Rodrigo Moya announced <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-May/005366.html">new
- LibGDA</a>: LibGDA is an ADO-like library for Unix systems.
- This one removes all the CORBA and GConf dependencies, which
- should make it easier to use and compile.
-
- This is another milestone for our <a
- href="ado-net.html">ADO.NET implementation plans</a>
-
- We have a little surprise for everyone tracking the news on Tuesday ;-)
-
-@item May 2nd, 2002
-
- Mark Crichton csvorbis port (C# port of Vorbis player) and
- Richard Hestilow's <a href="http://monologo.sf.net">MonoLogo compiler</a> are now
- on the CVS, and you can get them from AnonCVS.
-
- Dick implemented inter-process sharing of handles as well as
- simplifying the implementation of WaitForMultipleObjects, now
- we have a `handles' subsystem in Mono. This is needed to fully
- emulate the handle behavior that Win32 exposes, and that the .NET API
- expose to applications.
-
- News from the <a
- href="http://gtk-sharp.sourceforge.net">Gtk#</a> front: <a
- href="http://gtk-sharp.sourceforge.net/menu.png">Menu
- support</a>, Mike <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-May/000064.html">tells
- the story</a>
-
-@item May 1st, 2002
-
- Daily packages for <a href="http://www.debian.org">Debian</a> are available
- <a href="http://www.atoker.com/mono/">here</a>
-
-@item Apr 26, 2002
-
- Binary packages of Mono 0.11 are available for <a
- href="http://www.superin.formativ.net/mono/mono.htm">Windows</a>
- (Thanks to Johannes Roith) and for
- <a
- href="http://mono.baselabs.org/index.php/software/">Linux</a> (thanks
- to BaseLabs).
-
-@item Apr 24, 2002
-
- <b>Mono 0.11 is out!</b> Mostly performance improvements, bug
- fixes and more classes are included.
-
- A new version of the runtime, compiler and class libraries has
- been packaged for your download pleasure. Binaries are
- included. The <a href="archive/mono-0.11">Release Notes</a>
- are available.
-
- You can get it <a
- href="download.html#apr-24">Here</a> (quick links: <a
- href="archive/mono-0.11.tar.gz">runtime</a> and <a
- href="archive/mcs-0.11.tar.gz">compiler/classes</a>).
-
-@item Apr 23, 2002
-
- SharpDevelop 0.88a <a href="http://www.icsharpcode.net/OpenSource/SD">is out!</a>
-
- Congratulations to the developers behind SharpDevelop for
- their new release.
-
-@item Apr 20, 2002
-
- Some updates from the hacking lines:
-
- <b>The web:</b> Patrik Torstensson last week contributed the
- http runtime support and started work on thread pools. This
- is part of the ASP.NET support.
-
- <b>Docs:</b> John Barnette, John Sohn and Adam Treat have been
- hacking on MonoDoc.
-
- <b>ADO.NET:</b> Daniel Morgan and Rodrigo Moya have been
- working on the <a href="ado-net">ADO.NET</a> support, and got
- the first signs of life this week (we can connect, insert
- rows; do transactions: commit/rollback; SQL errors and
- exceptions work). Check <a
- href="mailing-lists.html">mono-patches</a> for all the
- goodies.
-
- <b>Optimizations:</b> A number of optimizations in the runtime
- made the compiler twice as fast this week:
-
- Early this week Patrik started the string
- rewrite in the runtime. Today Dietmar finished the
- constructors and deployed the new layout.
-
- Paolo got the JIT engine to generate profiles, which were in
- turn used to find hot spots in Reflection, which he improved.
-
- Daniel Lewis (of Regex fame) noticed the performance issues
- with our current array layout, and contributed a new array
- representation.
-
- At the same time Dietmar started the the JIT inline code and
- implemented constant propagation. These two optimizations
- together are very powerful.
-
- <b>Bug fixing:</b> And of course everyone has been helping out
- with the bug fixing (Duncan, Gonzalo, Jonathan, Miguel, Nick,
- Ravi, Sergey)
-
-
-@item Apr 18, 2002
-
- Dietmar's inlining for the JIT engine just landed into
- CVS. This is only a first cut and more improvements will come later.
-
- Patrik, Paolo, Dietmar and Gonzalo have been busy optimizing
- our class libraries and runtime engine to become faster. Many changes
- on CVS as well.
-
-@item Apr 11, 2002
-
- Gtk# 0.1 "ButtonHook" has been <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-April/000048.html">released</a>
-
- Binaries for the Mono Regression Test Suite are <a
- href="archive/mono-tests.tar.gz">available</a> for
- people porting the Mono Runtime to new platforms.
-
-@item Apr 6, 2002
-
- <a href="http://www.dotnetremoting.cc/book/AdvancedDotNetRemoting.asp">
- Advanced .NET Remoting</a> from Ingo Rammer is now available. Ingo
- helped us to implement the proxy support and the book is a valuable
- resource for anyone interested in remoting.
-
-@item Apr 5, 2002
-
- Transparent proxy support has been finished, congrats to
- Dietmar. Our JIT engine on CVS contains the implementation.
- This should enable people to test the remoting framework on
- Mono.
-
-@item Mar 28, 2002
-
- Debugging information is now generated by the compiler thanks
- to Martin's work. The resulting dwarf file can be used to
- single step C# code in GDB. A document will be shortly published with
- the details.
-
-@item Mar 27, 2002
-
- <b>Mono 0.10 is out!</b> The self hosting release of Mono has
- been released.
-
- A new version of the runtime, compiler and class libraries has
- been packaged for your download pleasure. Binaries are
- included. The <a href="archive/mono-0.10">Release Notes</a>
- are available.
-
- You can get it <a
- href="download.html#mar-27">Here</a> (quick links: <a
- href="archive/mono-0.10.tar.gz">runtime</a> and <a
- href="archive/mcs-0.10.tar.gz">compiler/classes</a>).
-
-@item Mar 26, 2002
-
- Paolo finally fixed the last bug in the JITer that stopped
- us from using it to run the Mono C# compiler. Goodies are on
- CVS.
-
- <a href="http://gtk-sharp.sourceforge.net">Gtk#</a> runs <a
- href="http://gtk-sharp.sourceforge.net/gtk-hello-world.png">Hello
- World</a>. Mike posted some <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-March/000034.html">details.</a>
-
-
-@item Mar 19, 2002
-
- Martin has been working on our debugging infrastructure, both
- on the JIT side of things (adding dward support) as well as on
- the class libraries (so that MCS can start generating
- debugging information).
-
- Jason and Kral keep working on the System.Xml namespace,
- allowing Mike to move more to self-hosting his Gtk# code.
-
- The System.Web classes are now part of the build (and they are
- also part of the class status now). Ajay contributed a large
- chunk of code to the System.Xml.Schema namespace
-
- Dan (of regex fame) has been working on internal calls
- support: moving more code from the old monowrapper to become
- internal calls.
-
- Paolo and Dietmar are working steadily on our runtime
- environment, fixing bugs, adding missing features and allowing
- us to run the compiler on Linux.
-
- Remember to post your bug reports.
-
- The nice class status on the right is brought to you by
- endless hacking hours from Piers and Nick. These status
- report pages have been helping us track down various mistakes
- in our classes (very useful, check it out for yourself)
-
-@item Mar 12, 2002
-
- At midnight, in Italy, Paolo got the Mono C# compiler to self
- host on Linux, the last bug has been squashed to self
- hostingness. We have now a fully self hosting compiler in Linux.
-
- A release will follow up shortly.
-
-@item Mar 9, 2002
-
- Updated the <a href="class-status.html">class status</a>, now
- it is possible to use the right-side menu to browse a specific
- assembly.
-
-@item Mar 7, 2002
-
- MCS compiles on Linux!
-
- Today Paolo got the <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-March/003726.html">MCS
- compiler compiling itself on Linux</a>
- completely for the first time! The resulting image still contains
- some errors, but the whole compiler process goes now. Later in the day
- and a couple of small optimizations and bug fixes, the compile
- speed was improved in 400%
-
- We are very close to have a complete self hosting environment now.
-
- Mono is temporarily using the Bohem GC garbage collector while
- we deploy the more advanced ORP one.
-
-@item Mar 5, 2002
-
- The CVS repository <a href="http://cvs.hispalinux.es/cgi-bin/cvsweb/?hidenonreadable=1&f=u&logsort=date&sortby=file&hideattic=1&cvsroot=Mono">can be browsed</a>
-
- Jason has got an incredible amount of work on the Xml
- classes during the weekend, and Gaurav is very close to have
- the complete System.Web.UI.WebControls namespace implemented.
-
- Martin and Duco have been killing bugs by using the recently
- revamped regression test suite.
-
- Piers has updated our <a href="class-status.html">class
- status</a> page again, with even more information available.
-
- The C# compiler has full constant folding implemented now and Ravi
- killed bugs of bugs in the <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FMCS&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=%27Importance%27&form_name=query">Mono Bug List</a>
-
-@item Mar 1, 2002
-
- RPMs of Mono 0.9 are available at <a href="http://mono.baselabs.org/#download">mono.baselabs.com</a>
-
-@item Feb 28, 2002
-
- <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-February/003464.html">Christophe</a>
- has setup his <a href="http://mono.baselabs.org">First Steps in Mono</a> web site, which
- shows you a step-by-step process on getting Mono running on your system.
-
- RPMs of Mono 0.9 are available at <a href="http://mono.baselabs.org/index.php/software/">mono.baselabs.org</a>
-
-@item Feb 27, 2002
-
- New <a href="class-status.html">class status</a> engine that
- provides detailed information about missing functionality in
- our class libraries. Nick built the cormissing tool and Piers
- did the XSLT and DHTML magic.
-
- More compiler progress on Linux: our support runtime now
- enables the compiler to compile `MIS' on Linux (MIS being
- Dick's Mono sample HTTP server ;-)
-
-@item Feb 26, 2002
-
- Paolo posted a list of <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-February/003266.html">ways
- you can help</a> if you do not have Windows right now. Sergey followed up with
- <a href="http://lists.ximian.com/archives/public/mono-list/2002-February/003268.html">his</a>
- suggestions.
-
-@item Feb 25, 2002
-
- StrongARM port from Sergey Chaban has been checked into CVS.
-
-@item Feb 24, 2002
-
- SPARC: 44 out of 74 tests pass now (Jeff)
-
- Power PC: delegates are working now (Radek)
-
-@item Feb 22, 2002
-
- <b>Mono 0.9 has been released!</b>
-
- A new version of the runtime, compiler and class libraries has
- been packaged for your download pleasure. The <a
- href="archive/mono-0.9">Release Notes</a>
-
- You can get it <a
- href="download.html#feb-22">Here</a> (quick links: <a
- href="archive/mono-0.9.tar.gz">runtime</a> and <a
- href="archive/mcs-0.9.tar.gz">compiler/classes</a>).
-
-@item Feb 21, 2002
-
- Paolo got our compiler natively to compile 117 of our tests.
- Self hosting is closer every day.
-
- Unsafe support is finished in the C# compiler.
-
-@item Feb 20, 2002
-
- Gaurav got DataGrid and DataGridItemCollection done.
-
- C# compiler: Unsafe support is mostly complete (only stackalloc is missing).
-
- New easy to run scripts for compiling Mono on Unix and Windows
- is <a href="download.html">available</a>. We can now easily compile
- Mono on Windows and Linux. If you had trouble before, use the
- above scripts which will get the setup right for you.
-
- There are now three machines that can provide AnonCVS, just
- use anoncvs.go-mono.com as the hostname for your CVSROOT and
- you will get one of the machines.
-
-@item Feb 19, 2002
-
- Do you want to see what <a href="http://people.debian.org/~lupus/mono/">Mono Looks Like?</a>
-
-@item Feb 18, 2002
-
- Application Domains now support the two LoaderOptimization
- modes: share code or do not share code, and you can control
- this with the --share-code command line option.
-
- Paolo has now 100+ test cases run on Linux now with our class
- libraries.
-
- PowerPC and SPARC ports are moving along (Radek and Jeff)
-
-@item Feb 13, 2002
-
- Excellent news since the 11th, here is a quick rundown:
-
- AppDomains have been deployed (Dietmar). Socket work is done
- (Dick). Corlib compiled with no refs to mscorlib (Dan). New
- comprehensive tests for corlib bits (David). Nick is driving the
- regression test suite efforts and class library completeness.
- New System.Data work (Chris). Bug fixes (Paolo, Duncan, Ravi, Miguel)
-
- Miguel is off to the <a
- href="http://www.fosdem.org">FOSDEM</a> conference in Brussels.
-
-@item Feb 11, 2002
-
- <b>Mono 0.8 has been released!</b>
-
- A new version of the runtime, compiler and class libraries has
- been packaged for your download pleasure.
-
- You can get it <a
- href="download.html#feb-11">Here</a> (quick links: <a
- href="archive/mono-0.8.tar.gz">runtime</a> and <a
- href="archive/mcs-0.8.tar.gz">compiler/classes</a>)
-
-@item Feb 11, 2002
-
- We would like to welcome all the new developers that have
- joined the project in the last couple of days. The classes
- are rapidly moving.
-
- An explanation of the relationship between <a
- href="http://mail.gnome.org/archives/gnome-hackers/2002-February/msg00031.html">GNOME
- and Mono</a>.
-
- Nick is still leading our test suite platform. I can not
- stress how important it is to have a good regression test suite
- for our platform, as buggy class libraries are what are
- stopping the compiler from running completely on Linux.
-
- We are of course psyched to see Mono run on
- non-Linux systems. Work is moving on native code generation
- for StrongARM, PowerPC, and SPARC as well as porting Mono to
- other systems.
-
- There are a couple of debates on the Mono list on implementing
- a set of web server classes for <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-February/002911.html">enabling
- ASP.NET</a> on Mono.
-
- Paolo also <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-February/002944.html">
- posted a list of pending tasks</a> to enable the compiler to run on Linux
-
-@item Feb 10, 2002
-
- Mike Kestner has posted an <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-February/000024.html">Update
- on his Gtk#</a> activities.
-
-@item Feb 4, 2002
-
- Adam has done <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-February/002808.html">Qt
- bindings</a> for .NET. Adam is cool.
-
-@item Jan 29, 2002
-
- Dan Lewis has contributed a major missing set of classes to
- Mono: <a
- href="http://lists.ximian.com/archives/public/mono-list/2002-January/002745.html">
- System.Text.RegularExpressions</a>.
-
- This is a fully .NET compatible implementation of the .NET regular expressions,
- fully Unicode aware. This contribution is very appreciated, as implementing this
- was not entirely trivial (supporting Unicode, plus a regex engine which is a super
- set of the Perl regex engine).
-
-@item Jan 28, 2002
-
- The Mono contributors have relicensed the Class Libraries under
- the terms of the
- <a href="http://www.opensource.org/licenses/mit-license.html">MIT X11</a> license.
-
- This license is an Open Source license, and is used by other projects
- (most notably, the XFree86 project).
-
- The runtime (JIT, metadata library, interpreter) remains under
- the LGPL and the C# compiler remains under the GPL.
-
- Our <a
- href="http://www.ximian.com/about_us/press_center/press_releases/mono_partners.html">Press
- Release</a>
-
- Press coverage: <a
- href="http://news.com.com/2100-1001-823734.html">CNet</a>, <a
- href="http://www.wired.com/news/technology/0,1282,50037-2,00.html">Wired</a>,
- <a href="http://www.infoworld.com/articles/hn/xml/02/01/28/020128hnopennet.xml">InfoWorld</a>,
- <a href="http://www.newsforge.com/article.pl?sid=02/01/27/2232231">NewsForge</a>.
-
-@item Jan 23, 2002
-
- New mailing list: <a href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>.
- This mailing list will receive automatically the patches that are submitted
- to the Mono CVS to any of its modules.
-
- This allows anyone who wants to participate in the peer-review of the
- code submitted to CVS to receive patches on e-mail. It should also
- expose to everyone the changes that are being done by the team every day.
-
-@item Jan 21, 2002
-
- Dick has got a simple web server running with Mono (`MIS: Mono
- Internet Server') that is mostly used to test our IO layer, a
- <a href="http://primates.ximian.com/~miguel/dick-mis-server.png">screenshot</a>
-
- Paolo and Dietmar are busy making our runtime self sufficient on
- non-Windows platforms.
-
- C# compiler front: A lot of focus in the past weeks after
- the C# became self hosting has been in making the compiler a useful
- tool for development: improve error handling, provide better error
- reports, fixing all known bugs, and finally profiling of the compiler
- has begun.
-
-@item Jan 8, 2002
-
- Our compiler has been self-supporting since January 3rd. In
- the meantime, we have been busy working on making it run on
- Linux. Today Paolo got more work done on Reflection.Emit and
- the compiler compiled `console.cs' (a sample Mono program) on
- Linux.
-
-@item Jan 4, 2002
-
- Dietmar landed the Unicode support patch. Class libraries and
- runtimes are now fully Unicode aware. The details are <a href=
- "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
- here</a>
-
- Last minute breaking news: Paolo got our compiler in Linux to
- compile fib.cs, patches are coming tomorrow once we have
- ChangeLog entries.
-
-@item Jan 4, 2002
-
- Mike Kestner posted an update on Gtk# <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
- year, new direction</i></a>.
-
- Gtk# will be our foundation on which we will be implementing
- System.Windows.Forms.
-
-@item Jan 3, 2002
-
- Mono C# compiler becomes self-sufficient. We can now continue
- development of the compiler with itself.
-
- Work on the class libraries is still underway for having a full
- self hosting system. We hope to achieve our goal of self-hosting
- on Linux before the end of the month.
-
- Join the fun by downloading either tonight's <a
- href="snapshots">snapshot</a> or getting your sources from our
- <a href="anoncvs.html">Anonymous CVS server</a>.
-
-@item Dec 28, 2001
-
- After a lot of work, the C# compiler can compile itself.
- There are still errors in the generated image, but they are
- being fixed quickly.
-
- We will soon have the first non-Microsoft C# implementation!
-
-@item Dec 18, 2001
-
- JIT: More work on our IO abstraction layer (Dick).
-
- JIT: exception handling for unmanaged code (Dietmar)
-
- System.Reflection: Support for PropertyInfo and
- PropertyBuilder as well as the various queries for MethodBase.
-
- C#: Pre-processor; Rewrite of MemberLookup which fixed many of
- the outstanding issues. More bug fixing allows it to compile
- more programs.
-
-@item Dec 14, 2001
-
- Dietmar has improved the register allocation and now Mono performs
- two to three times as fast as it did yesterday. Amazing.
-
- The compiler keeps moving along, explicit interface
- implementation is there.
-
-@item Dec 11, 2001
-
- The JIT engine can now run all the compiler regression tests as
- well as assorted other programs, many more opcodes added
- recently. Currently the JIT engine uses a very simplistic register
- allocator (just enough to allow us to focus on feature completeness)
- and that will be the next major task to improve performance and
- reduce spills and reloads.
-
- On the C# compiler front: language features are now pretty
- much complete. The big missing tasks are unsafe code support,
- visibility, explicit interface implementation plus static flow
- analysis. There are many small bugs that need to be addressed.
-
- You can get your copy of the <a href="snapshots">latest Mono</a>
-
- More work is also required on fixing the foundation class
- libraries, it is easy to find spots now since Nick got the
- `make test' going.
-
-@item Dec 1, 2001
-
- AnonCVS access to Mono is here (updated every hour). Thanks
- to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
- Climent for helping to set this up.
-
-@item Nov 30, 2001
-
- All tests from the mono runtime work with the JIT engine now
- (Dietmar).
-
- Recursive enumeration definition in the C# compiler are
- working now (Ravi).
-
- More work on the Web classes (Gaurav).
-
-@item Nov 28, 2001
-
- JIT land: Paolo got GDB support into the JIT engine while
- Dietmar added exceptions support to it.
-
- The C# compiler supports all array initializations now, and the
- switch statement as well as fixing many existing bugs. Many
- new more tests.
-
- Nick keeps working on improving our class library test suite.
-
- Dick has almost completed the Mono IO layer.
-
-@item Nov 16, 2001
-
-<blockquote>
- Mike Kestner has posted an <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
- on Gtk# development.
-</blockquote>
-
-@item Nov 14, 2001
-
-<blockquote>
- Paolo today got the Mono C# compiler running <a
- href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
- Linux</a>. It compiles a sample program and then the sample
- program is executed.
-
- Mutator unary operators (++ and --) in the compiler are fully
- functional, they used to only work on variables, and now they
- are complete.
-
- To sum things up: The Mono C# compiler is written in C# and
- uses the .NET classes to get its work done. To make this work
- on Linux work has to happen in various fronts:
-<ul>
- * The C# compiler is being worked on and can compile
- many programs now (our test suite at this point is
- made up of 40 tests).
-
- * The class libraries need to be mature enough to support
- the compiler, particularly System.Reflection.Emit (which is
- what Paolo has been working on lately).
-
- The compiler currently requires 103 classes from the
- .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
-
- * The interpreter should be mature enough to run the actual
- compiler byte codes and the corlib bytecodes.
-</ul>
-
- At the same time, Dietmar is working on the JIT engine which will
- replace our interpreter in production.
-</blockquote>
-
-@item Nov 12, 2001
-
-<blockquote>
- Dietmar got value types working on the JIT engine. Sean has
- got assembly loading in the runtime (required for NUnit).
-
- More progress on enumerations and attributes from Ravi.
-
- Nick keeps working on improving our class libraries.
-</blockquote>
-
-@item Nov 8, 2001
-
-<blockquote>
- Enumerations, array access and attributes for the C# compiler are into the CVS now.
-
- Full array support is not complete, but moving along.
-</blockquote>
-
-@item Nov 5, 2001
-
-<blockquote>
- Dietmar's new set of patches to the JIT have 20 out of 33
- tests running now.
-</blockquote>
-
-@item Nov 4, 2001
-
-<blockquote>
- Mike Kestner, main Gtk# contributor has posted a very interesting <a
- href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
- update</a> on his work on Gtk#.
-
- Ravi committed the initial support for Attributes in the
- compiler.
-
- Many HTML Controls from Leen checked into CVS.
-
- Paolo checked in his new System.Reflection and
- System.Reflection.Emit implementations. He has been working
- steadily on this huge task for a few weeks now. This is the
- foundation for the Mono C# compiler, and hence a very
- important piece of the puzzle.
-</blockquote>
-
-@item Nov 3, 2001
-
-<blockquote>
- Many clean ups have been going into the class library by Nick Drochak.
-
- Mega patch from Dietmar: he committed the flow analysis code
- for the JITer.
-
- A lot of work has been going into the WebControls by Gaurav (4
- new controls plus improved and bug fixed base classes).
-</blockquote>
-
-@item Nov 1, 2001
-
-<blockquote>
- Ravi committed the caller-side method selection of methods with
- variable length arguments. Now he depends on Miguel finishing
- the array handling support.
-</blockquote>
-
-@item Oct 27, 2001
-
-<blockquote>
- Lots of classes for System.Web from Gaurav were committed this
- morning.
-
- Some large recent developments:
-
- The Decimal implementation from Martin Weindel has been
- partially integrated (we need to put the internalcalls in
- place now and compile and link the decimal code).
-
- Derek Holden committed recently the IntegerFormatter code into
- the CVS, so we got a pretty comprehensive integer formatting
- engine that we can finally use all over the place.
-
- Compiler got support for lock as well as assorted bug fixes.
- Ravi is still working on array support (and then we can
- optimize foreach for the array case).
-
- Dietmar is busy working on flow analysis on the JITer, the
- previous mechanism of generating the forest was wrong. Paolo
- has been a busy bee reworking the System.Reflection.Emit
- support code, and we should have some pretty nice stuff next
- week. Dick on the other hand is still working on the
- WaitOne/WaitAll emulation code. WaitAll is like select on
- steroids: it can wait for different kinds of objects: files,
- mutexes, events and a couple of others.
-
- Mike Kestner is busy working on Gtk# which is now using the
- .defs files to quickly wrap the API.
-</blockquote>
-
-@item Oct 18, 2001
-
-<blockquote>
- Reworking expressions to support cleanly indexers and
- properties. <a href="http://www.nat.org/evolution.php3">11
- days</a> until Evolution 1.0 ships.
-
- Ximian users around the world <!--a
- href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
- recent C# compiler progress.
-</blockquote>
-
-@item Oct 17, 2001
-
-<blockquote>
- Delegate support has been checked into the compiler
- (definition and invocation); break/continue implemented.
-</blockquote>
-
-@item Oct 15, 2001
-
-<blockquote>
- JIT engine supports many of the object constructs now (object
- creation, vtable setup, interface table setup).
-
- The C# compiler now has almost full property support (only
- missing bit are pre-post increment/decrement operations),
- delegates are now created (still missing delegate invocation).
- try/catch/finally is also supported in the compiler now.
-
- System.Decimal implementation is in, as well as many crypto
- classes.
-</blockquote>
-
-@item Oct 5, 2001
-
-<blockquote>
- Sergey has released his first version of the <b>ilasm</b>
- assembler written in C#. You can get it from his web page:
- <a
- href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
-
- The plan is to integrate ildasm into the Mono CVS soon. This
- component should in theory also be reusable for SharpDevelop
- eventually.
-</blockquote>
-
-@item Oct 4, 2001
-
-<blockquote>
- Our System.Reflection.Emit implementation created its first
- executable today. This means that a very simple .NET program
- that was compiled on Windows was able to generate a .NET program
- while running on Linux using the Mono runtime.
-
- The various piece of the puzzle are starting to get together:
- the compiler can compile simple programs now and we are
- basically focusing on completeness now.
-</blockquote>
-
-@item Sep 28, 2001
-
-<blockquote>
- <a
- href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
- Develop 0.80</a> was released today.
-</blockquote>
-
-@item Sep 26, 2001
-
-<blockquote>
- More progress: more opcodes are working (Paolo); The compiler
- runs up to a point in Mint (Paolo); operator overloading works
- (both unary and binary) all over the place (Miguel); Completed decimal
- type conversions (Miguel); New build system in place based on
- Ant (Sean and Sergey); Refactored and documented the
- internals of the JIT engine (Dietmar); StatementExpressions
- handled correctly (Miguel).
-</blockquote>
-
-@item Sep 21, 2001
-
-<blockquote>
- A couple of news-worthy items: Dick got the initial thread
- support into mint; Paolo implemented many new opcodes; Dietmar
- got long operations and mul/div working on the JITer; Ravi rewrote
- the Method selector for expressions to be conformant; Miguel
- got i++ working. All in tonight's snapshot
-</blockquote>
-
-@item Sep 19, 2001
-
-<blockquote>
- Paolo has written a section on <a href="porting.html">Porting
- Mono</a> to other architectures.
-</blockquote>
-
-@item Sep 18, 2001
-
-<blockquote>
- <A a href="download.html#sep-18">Mono 0.7</a> has been
- released (runtime engine, class libraries
- and C# compiler). Check the <a href="archive/mono-0.7">Mono
- 0.7 announcement</a> for details
-</blockquote>
-
-@item Sep 17, 2001
-
-<blockquote>
- Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
- repository. Gtk# can run a simple hello world application.
- The binding is nice, as it maps Gtk+ signals to delegates in
- C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
-
- Gtk-sharp should be available on the next snapshot set.
-</blockquote>
-
-@item Sep 10, 2001
-
-<blockquote>
- Dietmar checked in his CIL tree/forest regeneration and most
- importantly, the x86 instruction selector burg grammar.
-</blockquote>
-
-
-@item Sep 5, 2001
-
-<blockquote>
- The MCS compiler <b>can compile the sample Hello World</b>
- application and generate a Windows/CIL executable that runs!
-
- This executable runs with the Mono Interpreter of course (see
- August 28)
-</blockquote>
-
-@item Sep 4, 2001
-
-<blockquote>
- Dietmar checked into CVS the `monoburg' architecture
- independent instruction selector for the JIT engine.
-</blockquote>
-
-@item Aug 28, 2001
-
-<blockquote>
- <b>.NET Hello World is working under Mono!</b> The latest snapshots
- will let you run it.
-
- Hello World consists of 1821 CIL instructions,
- performs 66 subroutine calls and loads 12 classes from the corlib.dll
-
- Good work Mono team!
-</blockquote>
-
-@item Aug 23, 2001
-
-<blockquote>
- Lloyd Dupont has announced his OpenGL bindings for C#, they
- are available here: <a
- href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
-</blockquote>
-
-@item Aug 22, 2001
-
-<blockquote>
- New version of the Mono Runtime, Compiler and Classes has been
- <a
- href="download.html#august-22">released.</a> Check the <a
- href="archive/mono-0.6">0.6 announcement</a>.
-</blockquote>
-
-@item Aug 20, 2001
-
-<blockquote>
- A new <a href="contributing.html#compile-service">Compilation
- service</a> has been made available by Derek to allow people
- without access to the <a
- href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">.NET SDK</a>
-</blockquote>
-
-@item Aug 3, 2001
-
-<blockquote>
- Daily snapshots of mcs and mono are now available, they will
- run every night at 10pm Boston time.
-</blockquote>
-
-@item Jul 29, 2001
-
-<blockquote>
- Mono Runtime 0.5 has been <a
- href="download.html#july-29">released.</a> Check the <a
- href="archive/mono-0.5">release notes</a>
-</blockquote>
-
-@item Jul 25, 2001
-
-<blockquote>
- The slides for <A href="Presentations/O-Reilly">my
- presentation</a> at <a href="http://www.oreilly.com">O'Reilly
- Open Source Software Convention</a>
-</blockquote>
-
-@item Jul 22, 2001
-
-<blockquote>
- Another release of the class libraries is out, check the <a
- href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
- get the new class libraries from <a
- href="download.html#july-22">here</a>
-</blockquote>
-
-@item Jul 19, 2001
-
-<blockquote>
- Another release of the class libraries is out, check the <a
- href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
- get the new class libraries from <a
- href="download.html#july-19">here</a>
-</blockquote>
-
-@item Jul 17, 2001
-
-<blockquote>
- Another release of the class libraries is out, check the <a
- href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
- get the new class libraries from <a
- href="download.html#july-17">here</a>
-
- Do not forget to check out the updated <a href="faq.html">FAQ</a>.
-
- Got Sean's new Class
- Status web pages up. These are a lot better than mine, and
- we are now keeping better track of contributors.
-</blockquote>
-
-@item Jul 15, 2001
-
-<blockquote>
- Another release of Mono is out, check the <a
- href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
- href="download.html#july-15">here</a>.
-</blockquote>
-
-@item Jul 14, 2001
-
-<blockquote>
- A <a
- href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
- release</a> of the
- runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
-</blockquote>
-
-@item Jul 12, 2001
-
-<blockquote>
- I keep getting questions about my opinion on Passport, even when
- Mono has <b>nothing</b> to do with it. I finally <a
- href="passport.html">wrote something.</a>
-</blockquote>
-
-@item Jul 9, 2001
-
-<blockquote>
- Project launched.
-</blockquote>
-
-@item O'Reilly
-
-<blockquote>
- Brian posted a story on <a
- href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>
-</blockquote>
diff --git a/doc/oledb b/doc/oledb
deleted file mode 100755
index 1dabe6244ed..00000000000
--- a/doc/oledb
+++ /dev/null
@@ -1,153 +0,0 @@
-* OLE DB Provider
-
-<ul>
- <li> Provides a OleDb-like provider for Mono
- using <a href="http://www.gnome-db.org/">GDA</a> as the data access layer.</li>
-
- <li> Exists in namespace System.Data.OleDb and assembly System.Data</li>
-
- <li>Created by Rodrigo Moya</li>
-
- <li>LibGDA has providers for:</li>
- <ul>
- <li><a href="http://www.mysql.com/">MySQL</a></li>
- <li><a href="http://www.postgresql.org/">PostgreSQL</a></li>
- <li>XML</li>
- <li>ODBC (via <a href="http://www.unixodbc.org/">unixODBC</a>)</li>
- <li><a href="http://www.oracle.com/">Oracle</a></li>
- <li><a href="http://www.borland.com/products/downloads/download_interbase.html">Interbase</a></li>
- <li><a href="http://www.sybase.com/downloads">Sybase</a> and
- <a href="http://www.microsoft.com/sql/default.asp">Microsoft SQL Server</a> (
- via <a href="http://www.freetds.org/">FreeTDS</a>)</li>
- <li><a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a></li>
- <li><a href="http://www.hwaci.com/sw/sqlite/download.html">SQL Lite</a></li>
- <li><a href="http://www.microsoft.com/office/access/default.asp">MS Access</a></li>
- (via <a href="http://mdbtools.sourceforge.net/">MDB Tools</a>)</li>
- </ul>
- </li>
-
- <li>Does not support trusted connections</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-
-</ul>
-
-** Current Status
- <ul>
- <li>The OleDb provider is working with libgda (an OLE-DB/ADO data access for Unix).
- The C-Sharp bindings to libgda currently work - meaning they can compile, run,
- and you can connect to a
- PostgreSQL database via libgda via the C-Sharp bindings to libgda.</li>
-
- <li>Basic
- functionality (execution of commands, data retrieval, transactions, etc) are
- now working.</li>
-
- <li>An inital implementation of GetSchemaTable() for
- the OleDbDataReader has been checked into cvs. GetSchemaTable() isn't correct for OleDb,
- but the foundation is there.</li>
- </ul>
-
-** Action Plan
- <ul>
- <li>Current focus is on filling up the missing pieces (Data adapters
- mainly) and schema support.</li>
-
- <li>We need help building libgda on Windows though. libgda
- builds find on linux though.</li>
-
- <li>Need to make the OleDb provider compatible with the OleDb provider in Microsoft .NET</li>
- </ul>
-
-** Testing OleDb with libgda's PostgreSQL provider
-
-<ul>
- <li>Requires a working mono and mcs</li>
- <li>Requires Linux because the OleDb provider uses libgda and libgda only
- works on Linux.</li>
- <li>Connection String format: "Provider=providerName;...". providerName is the
- name of the Provider you use, such as, PostgreSQL, MySQL, etc. The elipsis ...
- means that the connection parameters are dependent upon the provider being used and
- are passed to libgda for connecting. Such paramters, can be: Database, User ID, Password,
- Server, etc...</li>
- <li>See the test TestOleDb.cs found at mcs/class/System.Data/System.Data.OleDb</li>
- <li>C# Example for Mono's System.Data.OleDb:
-<pre>
- using System;
- using System.Data;
- using System.Data.OleDb;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- // there is a libgda PostgreSQL provider
- string connectionString =
- "Provider=PostgreSQL;" +
- "Addr=127.0.0.1;" +
- "Database=test;" +
- "User ID=postgres;" +
- "Password=fun2db";
- IDbConnection dbcon;
- dbcon = new OleDbConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
-</li>
-
-</ul>
-
diff --git a/doc/oracle b/doc/oracle
deleted file mode 100755
index 28d81bee4eb..00000000000
--- a/doc/oracle
+++ /dev/null
@@ -1,166 +0,0 @@
-* Oracle Data Provider
-
-<ul>
-
- <li>ADO.NET Data Provider for <a href="http://www.oracle.com/">Oracle</a> databases</li>
-
- <li>Exists in namespace System.Data.OracleClient and assembly System.Data.OracleClient</li>
-
- <li>Works on Windows and Linux</li>
-
- <li>Works with Oracle 8i and 9i.</li>
-
- <li>Uses the Oracle CLI (Call Level Interface) which is a C library (API) for the Oracle Client
- software</li>
-
- <li>Internally, the OracleClient provider has OCI abstracted to an object-oriented programming model</li>
-
- <li>Created by Daniel Morgan and Tim Coleman</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>OracleConnection can connect and disconnect to an Oracle 8i or 9i database on
- Windows and Linux via OCI (Oracle Call-level Interface)</li>
-
- <li>Can have multiple connections with different transactions where each transaction is
- separated from the others, so a rollback or commit in one transaction
- does not affect the other.</li>
-
- <li>Can execute simple DML SQL statements, such as,
- INSERT a row into the EMP table via the OracleCommand's ExecuteNonQuery method</li>
-
- <li>Can retrieve data via ExecuteReader and OracleDataReader. Currently,
- supports character, numeric, some date data types. ExecuteScalar
- also works.</li>
-
- <li>Simple input parameters (character and numeric data) can now
- be used in SQL queries. Output parameters do not yet work.</li>
-
- <li>OracleException and Error handling exists now.</li>
-
- <li>Message handling needs to be added for non-critical messages
- received from Oracle</li>
-
- <li>Handling of various data types need to be added.</li>
-
- <li>Data Adapter exists, and a DataSet can be filled using it.</li>
-
- <li>Lots of missing functionality and bugs.</li>
-
- <li>Works with SQL# command-line and GTK# GUI versions.</li>
-
-</ul>
-
-** Action Plan
-
-<ul>
- <li>Be able to retrieve results via a data reader (WORKING)</li>
- <li>Parameters support (IN PROGRESS)</li>
- <li>transactions (WORKING)</li>
- <li>Stored Procedures, Functions, and Packages support</li>
- <li>Be able to fill a DataTable in a DataSet via a data adapter (IN PROGRESS)</li>
- <li>Support for Oracle 8i and 9i (WORKING)</li>
- <li>Support LOBs</li>
- <li>Support all the data types</li>
- <li>Implement Connection pooling</li>
- <li>Security</li>
- <li>Once Oracle 10g is released, make sure Mono works with Oracle 10g.</li>
-
-</ul>
-
-** Testing System.Data.OracleClient
-
-<ul>
- <li>Have a working mono and mcs</li>
-
- <li>Have access to an Oracle 8i or 9i database or download it from
- <a href="http://www.oracle.com/">Oracle</a>. If you are connecting
- remotely to an Oracle database, you need the Oracle client software.
- Registration to the <a href="http://technet.oracle.com/">Oracle Technology Network</a> is free. If installing on Linux,
- I suggest you do a lot of searching to see how others installed Oracle on Linux.</li>
-
- <li>Make sure System.Data.OracleClient.dll assembly is built.</li>
-
- <li>Take a look at TestOracleClient.cs found at mcs/class/System.Data.OracleClient/Test</li>
-
- <li>The Data Source is an Oracle TNSNAME</li>
-
- <li>Has a connection string format:
-<pre>
-"Data Source=tnsname;User ID=userid;Password=password"
-</pre>
- </li>
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using System.Data.OracleClient;
-
- public class Test
- {
- public static void Main (string[] args)
- {
- string connectionString =
- "Data Source=testdb;" +
- "User ID=scott;" +
- "Password=tiger;";
- OracleConnection dbcon = null;
- dbcon = new OracleConnection (connectionString);
- dbcon.Open ();
- OracleCommand dbcmd = dbcon.CreateCommand ();
- string sql = "SELECT ename, job FROM scott.emp";
- dbcmd.CommandText = sql;
- OracleDataReader reader = dbcmd.ExecuteReader ();
- while (reader.Read ()) {
- string employeeName = (string) reader["ename"];
- string job = (string) reader["job"];
- Console.WriteLine ("Employee Name: {0} Job: {1}",
- employeeName, job);
- }
- // clean up
- reader.Close ();
- reader = null;
- dbcmd.CommandText = sql;
- dbcmd.ExecuteNonQuery ();
- dbcmd.Dispose ();
- dbcmd = null;
- dbcon.Close ();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r System.Data.OracleClient.dll
-</pre>
- </li>
- <li>Build on Windows:
-<pre>
- mcs TestExample.cs /r:System.Data.dll \
- /r:System.Data.OracleClient.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
diff --git a/doc/other b/doc/other
deleted file mode 100644
index 0c259caea7b..00000000000
--- a/doc/other
+++ /dev/null
@@ -1,36 +0,0 @@
-* International sites
-
- <ul>
-
- <li><a href="http://www.monohispano.org">Mono
- Hispano</a>: The spanish-speaking community of Mono
- developers and users. They have quite a number of
- unique documents and tutorials.
-
- <li><a href="http://www.go-mono.pl">Mono Poland</a>:
- Mono site for polish users.
-
- <li><a href="http://primates.ximian.com/~atsushi/mono-jp/">Mono Japanese Translation</a>:
- Mono site Japanese translation pages. Translated sources are maintained at <a href="http://forge.novell.com/modules/xfmod/project/?mono-jp">Novell Forge</a>.
- </ul>
-
-* User sites
-
- <ul>
-
- <li>Alp Toker's <a
- href="http://www.atoker.com/mono/">site</a>: He is an
- active Mono developer (gsirc, platano) and produces
- very nice Debian packages of Mono.
-
- <li>Brian Ritchie's <a
- href="http://www12.brinkster.com/brianr/">site</a>:
- Brian is a contributor to Mono's class library (ODBC
- provider and the database multiplexing assembly), and
- has built an application server for .NET and Mono.
- His site contains news, software, as well as his
- weblog.
-
- </ul>
-
-
diff --git a/doc/papers b/doc/papers
deleted file mode 100644
index 162f79d1637..00000000000
--- a/doc/papers
+++ /dev/null
@@ -1,101 +0,0 @@
-* JIT Compiler
-
- <a
- href="http://citeseer.nj.nec.com/vitek97efficient.html">
- Efficient Type Inclusion Tests: Jahn Vitek, R. Nigel Horspool, Andres
- Krall</a>
-
- <a
- href="http://citeseer.nj.nec.com/cytron91efficiently.html">
- Efficiently Computing Static Single Assignment Form and the Control
- Dependence Graph: Ron Cytron, Jeanne Ferrante</a>
-
- <a
- href="http://citeseer.nj.nec.com/193349.html">
- Practical Improvements to the Construction and Destruction of Static Single Assignment Form: Preston Briggs,
- Keith Cooper, Timothy Harvey, Taylor Simpson</a>
-
- <a
- href="http://citeseer.nj.nec.com/krall98efficient.html">
- Efficient JavaVM Just-in-Time Compilation: Andreas Krall</a>
-
- <a
- href="http://citeseer.nj.nec.com/452617.html">Java for
- Large-Scale Scientific Computations: Andreas Krall, Phillip Thomsich</a>
-
- <a
- href="http://citeseer.nj.nec.com/117522.html">
- Engineering Simple, Efficient Code Generator Generator: Christopher
- W. Fraser, David R. Hanson, Todd A. Proebsting</a>
-
- <a
- href="http://citeseer.nj.nec.com/proebsting92code.html">
- Code Generation Techniques: Todd Alan Proebsting</a>
-
- <a
- href="http://citeseer.nj.nec.com/74629.html">Fast,
- Effective Code Generation in a Just-In-Time Java Compiler: Ali-Reza
- Adl-Tabatabai Guei-Yuan Lueh, Vishesh M. Parikh, James M. Stichnoth...</a>
-
- <a
- href="http://citeseer.nj.nec.com/bodik00abcd.html">
- ABCD: Eliminating Array-Bounds Checks on Demand: Rastislav Bodik, Rajiv Gupta, Vivek Sarkar</a>
-
-* Register Allocation
-
- <a
- href="http://citeseer.nj.nec.com/poletto99linear.html">
- Linear Scan Register Allocation: Massimiliano Poletto, Vivek Sarkar</a>
-
- <a
- href="http://citeseer.nj.nec.com/traub98quality.html">
- Quality and Speed in Linear-scan Register Allocation: Omri Traub, Glenn
- Holloway, Michael D. Smith</a>
-
-* Loop Transformations
-
- <a
- href="http://citeseer.nj.nec.com/bacon93compiler.html">
- Compiler Transformations for High-Performance Computing: David Bacon</a>
-
-* Interpreter
-
- <a
- href="http://citeseer.nj.nec.com/470069.html">
- vmgen-A Generator of Efficient Virtual Machine Interpreters: M. Anton
- Ertl, David Gregg, Andreas Krall, Bernd Paysan</a>
-
-* Synchronization
-
- <a
- href="http://citeseer.nj.nec.com/krall98monitors.html">
- Monitors and Exceptions - How to implement Java efficiently: Andreas Krall,
- Mark Probst</a>
-
- <a
- href="http://citeseer.nj.nec.com/bacon98thin.html">
- Thin Locks: Featherweight Synchronization for Java: David Bacon</a>
-
- <a
- href="http://citeseer.nj.nec.com/278639.html">
- Featherweight Monitors with Bacon Bits: David Bacon</a>
-
-* Garbage Collection
-
- <a
- href="http://citeseer.nj.nec.com/wilson92uniprocessor.html">
- Uniprocessor Garbage Collection Techniques: Paul Wilson</a>
-
- <a
- href="http://citeseer.nj.nec.com/41666.html">
- A Language-Independent Garbage Collector Toolkit: Richard Hudson, Eliot Moss, Amer Diwan, Christopher Weight</a>
-
- <a
- href="http://citeseer.nj.nec.com/seligmann95incremental.html">
- Incremental Collection of Mature Objects: Richard Hudson, Eliot Moss</a>
-
-* Threads
-
- <a
- href="http://research.microsoft.com/~birrell/papers/ThreadsCSharp.pdf">
- Programming with Threads in C#: Andrew Birrell</a>
diff --git a/doc/passport b/doc/passport
deleted file mode 100644
index 3ffe0dfeef9..00000000000
--- a/doc/passport
+++ /dev/null
@@ -1,298 +0,0 @@
-* Updates
-
- <b>Sep 20, 2001:</b> Microsoft has just announced some changes
- to passport that are rather interesting. This document
- reflects the Passport system without taking into account the
- new changes.
-
- Read about it <a href="http://www.microsoft.com/presspass/features/2001/sep01/09-20passport.asp">here</a>.
-
- For an analysis of security problems with passport, check <a
- href="http://avirubin.com/passport.html">http://avirubin.com/passport.html</a>.
- The bottom line is that you should not put any sensitive
- information on passport.
-
- I have received many comments from people, and I have updated
- the page accordingly. From removing incorrect statements, to
- fixing typos, to include mentions to other software pieces.
-
- I also corrected my statement about IIS and a trojan horse, I
- should read a more educated press in the future. My apologies
- to Microsoft and its employees on this particular topic. IIS
- did not have a trojan horse built in.
-
-* Microsoft Hailstorm and Passport
-
- Microsoft Passport is a centralized database hosted by
- Microsoft that enhances the consumer experience with the Web
- by providing a single logon system that they can use across a
- number of participant web sites.
-
- As you might know by now from our extensive <a
- href="faq.html">FAQ</a>, the Mono project has nothing to do
- with Microsoft Hailstorm or <a
- href="http://www.passport.com">Microsoft Passport.</a>
-
- Still a lot of people have asked us our opinion on them.
-
-** Passport
-
- Passport is important not because of it being a breakthrough
- technologically speaking, but because the company is in a
- position to drive most people toward being suscribers of it.
-
- At the time of this writing passport is required to use the
- free mail service <a href="http://www.hotmail.com">Hotmail</a>
- to get customized support for the <a
- href="http://www.msn.com">MSN portal</a>, <a
- href="http://msdn.microsoft.com">Microsoft Developers
- Network</a> and according to the original announcement from
- Microsoft <a href="http://www.americanexpress.com">American
- Express</a> and <a href="http://www.ebay.com">EBay</a> will be
- adopting it.
-
- There is already a <a
- href="http://www.passport.com/Directory/Default.asp?PPDir=C&lc=1033">Large
- list</a> of participating sites.
-
- There are many current users of it and Microsoft will be
- driving more users towards Passport as it <a
- href="http://news.cnet.com/news/0-1003-200-6343275.html">integrates
- it</a> in their upcoming release of Windows.
-
- Microsoft has also <a
- href="http://www.passport.com/Business/JoinPassportNetwork.asp?lc=1033">developed
- a toolkit</a> to enable current web merchants to integrate
- their services with passport.
-
- To the end user, there is a clear benefit: they only have to
- log into a single network and not remember multiple passwords
- across sites on the internet. Companies that adopt passport
- will have a competition advantage over those that dont.
- Microsoft lists a list of <a
- href="http://www.passport.com/Business/Default.asp?lc=1033">benefits</a>
- to companies.
-
-
-** The problems of Passport
-
- There are a number of concerns that different groups have over
- Passport. Sometimes I have some, sometimes I do not. But
- overall, consumers and businesses can have better solutions.
-
- <ul>
- * <b>Single Point of Failure:</b> As more services and
- components depend on remote servers, functionality can
- grind to a halt if there is a failure on the
- centralized Passport system.
-
- Such a failure was predicted, and we recently <a
- href="http://news.cnet.com/news/0-1005-200-6473003.html">witnessed</a>
- got a lot of people worried.
-
- The outgage lasted for seven days. Think what this
- could do to your business.
-
- * <b>Trust:</b> Not everyone trusts Microsoft to keep
- their information confidential. Concerns are not only
- at the corporate level policy, but also the fact that
- the source code for Microsoft products is not
- available, means that trojans or worms could be built
- into the products by malicious engineers.
-
- Various government officials in non-US countries also
- have a policy that no state sensitive information can
- be held by foreign companies in foreign soil. A natural
- matter of national security to some.
-
- * <b>Security:</b> With a centralized system like
- Passport, imagine the repercussions of a malicious
- hacker gaining access to the Passport database.
- Personal information and credit card information about
- almost everyone using a computer could be stored there.
-
- Hackers have already <a
- href="http://slashdot.org/articles/00/10/27/1147248.shtml">broken
- into Microsoft</a> in the past. And the company was
- unable to figure out for how long their systems had
- been hacked.
-
- Security holes have been found in <a
- href="http://slashdot.org/articles/00/04/14/0619206.shtml">IIS
- in the past.</a> If all the world's data is stored on
- a central location, when a single security hole is
- detected, it would allow an intruder to install a
- backdoor within seconds into the corporate network
- without people ever noticing.
-
- Microsoft itself has been recently hit by worms,
- imagine if all your business depended on a single
- provider for providing all or your authentication
- needs
- </ul>
-
- Microsoft might or might not realize this. The idea behind
- Passport is indeed a good one (I can start to get rid of my
- file that keeps track of the 30 logins and passwords or so
- that I use across the various services on the net myself).
-
-** Alternatives to Microsoft Passport
-
- An alternative to Microsoft Passport needs to take the above
- problems into consideration. Any solution of the form `We
- will just have a competing offering' will not work.
-
- The system thus has to be:
-
- <ul>
- * <b>Distributed:</b> The entire authentication
- system should not create an internet `blackout' in the
- case of failure.
-
- A distributed system using different software
- platforms and different vendors would be more
- resistent to an attack, as holes in a particular
- implementation of the server software would not affect
- every person at the same time.
-
- A security hole attack might not even be relevant to
- other software vendors software.
-
- * <b>Allow for multiple registrars:</b> Users should
- be able to choose a registrar (their banks, local
- phone company, service provider, Swiss bank, or any
- other entity they trust.
-
- * <b>Mandate good security measures:</b> As a
- principle, only Open Source software should be used
- for servers in the registrar, and they should conform
- to a standard set of tools and software that can be
- examined by third parties.
- </ul>
-
- An implementation of this protocol could use the DNS or a
- DNS-like setup to distribute the information of users with the
- possibility of replicating and caching public information
- about the user.
-
- For instant messaging (another piece of the Hailstorm bit),
- you want to use a non-centralized system like Sun's <a
- href="http://www.jxta.org">JXTA</a>. Some people mailed me to
- mention Jabber as a messaging platform and other people
- pointed out to the <a
- href="http://java.sun.com/products/jms/">Java Message
- Service</a>. The JMS does support a number of very
- interesting features that are worth researching.
-
- It could also just use the user e-mail address as the `key' to
- choose the registrar (msn.com, hotmail.com -> passport.com;
- aol.com -> aol.passport.com; you get the idea).
-
- The <a
- href="http://www.soapware.org/xmlStorageSystem">xmlStorage</a>
- idea from <a href="http://www.scripting.com">Dave Winer</a>
- could be used to store the information.
-
- A toolkit for various popular web servers could be provided,
- authenticated and should be open sourced (for those of you who
- think that a binary program would give more security and would
- prevent people from tampering: you are wrong. You can always
- use a proxy system that "behaves" like the binary, and passes
- information back and forth from the real program, and snoops
- in-transit information).
-
- Good cryptographers need to be involved in this problem to
- figure out the details and the possible insecure pieces of a
- proposal like this.
-
-** Implementation: In short
-
- To keep it short: <b>DNS, JXTA, xmlStorage.</b>
-
-
-** Deploying it
-
- The implementation of such a system should be a pretty
- straightforward task once security cryptographers have
- designed such a beast.
-
- The major problems are:
-
- <ul>
- * <b>People might just not care:</b> In a poll to US
- citizens a couple of decades ago, it was found that
- most people did not care about the rights they were
- given by the Bill of Rights, which lead to a number of
- laws to be passed in the US that eliminated most of
- the rights people had.
-
- * <b>The industry will move way too slow:</b>
- Microsoft's implementation is out in the open now: it
- is being deployed, and soon it will be insinuated to
- many, many users. The industry needs to get together
- soon if they care about this issue.
-
- By the time the industry reacts, it might be too
- late.
- </ul>
-
-** Passport and Mono
-
- The .NET class libraries include a Passport class that
- applications might use to authenticate with Passport. Since
- we do not have information at this point on the exact protocol
- of Passport, it is not even feasible to implement it.
-
- If at some point the information is disclosed, it could be
- implemented.
-
- If a competing system to Passport existed, we could probably
- hide all the authentication information to use a number of
- different passport-like systems.
-
- If a user does not want to use Passport at all, he could
- always turn it off (or completely remove the class from the
- library). After all, this is free software.
-
- Currently, we are too far from the point where this is a real
- issue.
-
-** Passport and endangering Open Source.
-
- A few people have said: `Mono will allow Passport to be
- available for Linux and that is bad'. This is plain
- misinformation.
-
- Currently, you can obtain Passport for Linux from Microsoft
- itself and deploy it today on your Web server. Mono does not
- even enter the picture here. Go to passport.com and download
- the toolkit and you will see with your own eyes that passport
- is <B>already</b> available for Linux.
-
-** Disclaimer
-
- This is just a group of personal thoughts of mine that I have
- placed here because I get asked this question a lot lately.
- The views of this page are not a statement from my employer
- (Ximian, Inc).
-
- This is not part of Mono. We are not trying to deal with this
- problem.
-
- Nat Friedman (Ximian's co-founder) has his own ideas on how a
- competing system to Passport could be designed, but I will let
- <a href="http://www.nat.org/">him</a> post his own story.
-
-** Other Passport Comments
-
- An interesting study on the security of passport is available at: <a
- href="http://avirubin.com/passport.html">http://avirubin.com/passport.html</a>
-
-** Other Alternatives
-
- Some people have pointed out <a
- href="http://www.xns.org">XNS</a>
-
-Send comments to me: Miguel de Icaza (<a
- href="mailto:miguel@ximian.com">miguel@ximian.com</a>)
-
diff --git a/doc/pending b/doc/pending
deleted file mode 100644
index e243a10dedf..00000000000
--- a/doc/pending
+++ /dev/null
@@ -1,14 +0,0 @@
-** Microsoft and GNU and Linux.
-
-Q: Does this mean that Microsoft is better than Linux?
-
-A: Many of us are working on <a
- href="http://www.gnu.org/philosophy/free-sw.html">free software<a>
- and want to have an <a href="http://www.opensource.org">open
- source</a> environment that we can change, modify, improve, learn
- from, and share with others. Some of us also think that this will
- lead on the long run to better software: more efficient, faster,
- more robust and more.
-
- We are willing to take good ideas from any source they come from.
-
diff --git a/doc/performance b/doc/performance
deleted file mode 100644
index 15d0a837f5d..00000000000
--- a/doc/performance
+++ /dev/null
@@ -1,209 +0,0 @@
-* Writing better performing .NET and Mono applications
-
-<center>
-Miguel de Icaza (miguel@novell.com)<br>
-Ben Maurer (bmaurer@users.sourceforge.net)
-</center>
-
- The following document contains a few hints on how to improve
- the performance of your Mono/.NET applications.
-
- These are just guidelines, and you should still profile your
- code to find the actual performance problems in your
- application. It is never a smart idea to make a change with the
- hopes of improving the performance of your code without first
- measuring. In general, these guidelines should serve as ideas
- to help you figure out `how can I make this method run faster'.
-
- It is up to you to figure out, `Which method is running slowly.'
-
-** Using the Mono profiler
-
- So, how does one measure what method are running slowly? A profiler
- helps with this task. Mono includes a profiler that is built
- into the runtime system. You can invoke this profiler on your program
- by running with the --profile flag.
-
-<pre class="shell">
- mono --profile program.exe
-</pre>
-
- The above will instruct Mono to instrument your application
- for profiling. The default Mono profiler will record the time
- spent on a routine, the number of times the routine called,
- the memory consumed by each method broken down by invoker, and
- the total amount of memory consumed.
-
- It does this by asking the JIT to insert a call to the profiler
- every time a method is entered or left. The profiler times the
- amount of time elapsed between the beginning and the end of the
- call. The profiler is also notified of allocations.
-
- When the program has finished executing, the profiler prints the
- data in human readable format. It looks like:
-
-<pre class="shell">
-Total time spent compiling 227 methods (sec): 0.07154
-Slowest method to compile (sec): 0.01893: System.Console::.cctor()
-Time(ms) Count P/call(ms) Method name
-########################
- 91.681 1 91.681 .DebugOne::Main()
- Callers (with count) that contribute at least for 1%:
- 1 100 % .DebugOne::Main(object,intptr,intptr)
-...
-Total number of calls: 3741
-...
-Allocation profiler
-Total mem Method
-########################
- 406 KB .DebugOne::Main()
- 406 KB 1000 System.Int32[]
- Callers (with count) that contribute at least for 1%:
- 1 100 % .DebugOne::Main(object,intptr,intptr)
-Total memory allocated: 448 KB
-</pre>
-
- At the top, it shows each method that is called. The data is sorted
- by the total time that the program spent within the method. Then
- it shows how many times the method was called, and the average time
- per call.
-
- Below this, it shows the top callers of the method. This is very useful
- data. If you find, for example, that the method Data::Computate () takes
- a very long time to run, you can look to see if any of the calls can be
- avoided.
-
- Two warnings must be given about the method data. First,
- the profiler has an overhead associated with it. As such,
- a high number of calls to a method may show up as consuming
- lots of time, when in reality they do not consume much time
- at all. If you see a method that has a very high number of
- calls, you may be able to ignore it. However, do consider
- removing calls if possible, as that will sometimes help
- performance. This problem is often seen with the use
- of built in collection types.
-
- Secondly, due to the nature of the profiler, recursive calls
- have extremely large times (because the profiler double counts
- when the method calls itself). One easy way to see this problem
- is that if a method is shown as taking more time than the Main
- method, it is very likely recursive, and causing this problem.
-
- Below the method data, allocation data is shown. This shows
- how much memory each method allocates. The number beside
- the method is the total amount of memory. Below that, it
- is broken down into types. Then, the caller data is given. This
- data is again useful when you want to figure out how to eliminate calls.
-
- You might want to keep a close eye on the memory consumption
- and on the method invocation counts. A lot of the
- performance gains in MCS for example came from reducing its
- memory usage, as opposed to changes in the execution path.
-
-** Memory Management in the .NET/Mono world.
-
- Since Mono and .NET offer automatic garbage collection, the
- programmer is freed from having to track and dispose the
- objects it consumes (except for IDispose-like classes). This
- is a great productivity gain, but if you create thousands of
- objects, that will make the garbage collector do more work,
- and it might slow down your application.
-
- Remember, each time you allocate an object, the GC is forced
- to find space for the object. Each object has an 8 byte overhead
- (4 to tell what type it is, then 4 for a sync block). If
- the GC finds that it is running out of room, it will scan every
- object for pointers, looking for unreferenced objects. If you allocate
- extra objects, the GC then must take the effort to free the objects.
-
- Mono uses the Boehm GC, which is a conservative collector,
- and this might lead to some memory fragmentation and unlike
- generational GC systems, it has to scan the entire allocated
- memory pool.
-
-*** Boxing
- The .NET framework provides a rich hierarchy of object types.
- Each object not only has value information, but also type
- information associated with it. This type information makes
- many types of programs easier to write. It also has a cost
- associated with it. The type information takes up space.
-
- In order to reduce the cost of type information, almost every
- Object Oriented language has the concept of `primitives'.
- They usually map to types such as integers and booleans. These
- types do not have any type information associated with them.
-
- However, the language also must be able to treat primitives
- as first class datums -- in the class with objects. Languages
- handle this issue in different ways. Some choose to make a
- special class for each primitive, and force the user to do an
- operation such as:
-<pre class="shell">
-// This is Java
-list.add (new Integer (1));
-System.out.println (list.get (1).intValue ());
-</pre>
-
- The C# design team was not satisfied with this type
- of construct. They added a notion of `boxing' to the language.
-
- Boxing preforms the same thing as Java's <code>new Integer (1)</code>.
- The user is not forced to write the extra code. However,
- behind the scenes the <em>same thing</em> is being done
- by the runtime. Each time a primitive is cast to an object,
- a new object is allocated.
-
- You must be careful when casting a primitive to an object.
- Note that because it is an implicit conversion, you will
- not see it in your code. For example, boxing is happening here:
-
-<pre class="shell">
-ArrayList foo = new ArrayList ();
-foo.Add (1);
-</pre>
-
- In high performance code, this operation can be very costly.
-
-*** Using structs instead of classes for small objects
-
- For small objects, you might want to consider using value
- types (structs) instead of object (classes).
-
- However, you must be careful that you do not use the struct
- as an object, in that case it will actually be more costly.
-
- As a rule of thumb, only use structs if you have a small
- number of fields (totaling less than 32 bytes), and
- need to pass the item `by value'. You should not box the object.
-
-*** Assisting the Garbage Collector
-
- Although the Garbage Collector will do the right thing in
- terms of releasing and finalizing objects on time, you can
- assist the garbage collector by clearing the fields that
- points to objects. This means that some objects might be
- eligible for collection earlier than they would, this can help
- reduce the memory consumption and reduce the work that the GC
- has to do.
-
-** Common problems with <tt>foreach</tt>
-
- The <tt>foreach</tt> C# statement handles various kinds of
- different constructs (about seven different code patterns are
- generated). Typically foreach generates more efficient code
- than loops constructed manually, and also ensures that objects
- which implement IDispose are properly released.
-
- But foreach sometimes might generate code that under stress
- performs badly. Foreach performs badly when its used in tight
- loops, and its use leads to the creation of many enumerators.
- Although technically obtaining an enumerator for some objects
- like ArrayList is more efficient than using the ArrayList
- indexer, the pressure introduced due to the extra memory
- requirements and the demands on the garbage collector make it
- more inefficient.
-
- There is no straight-forward rule on when to use foreach, and
- when to use a manual loop. The best thing to do is to always
- use foreach, and only when profile shows a problem, replace
- foreach with for loops.
diff --git a/doc/plans b/doc/plans
deleted file mode 100755
index f53aecd4e95..00000000000
--- a/doc/plans
+++ /dev/null
@@ -1,15 +0,0 @@
-* Plans
-
- Here we are tracking some plans to particular pieces of
- technology that are part of Mono.
-
- This is just a repository of information that is handy for
- contributors.
-
- Currently you can read our plans for <a
- href="ado-net.html">ADO.NET</a>, <a
- href="asp-net.html">ASP.NET</a>, <a href="java.html">Java</a> and
- <a href="winforms.html">WinForms</a>.
-
-
-
diff --git a/doc/porting b/doc/porting
deleted file mode 100644
index a09ab69deaa..00000000000
--- a/doc/porting
+++ /dev/null
@@ -1,63 +0,0 @@
-* How to port Mono to your preferred architecture
-
-** Endian, 64 bits and unaligned access issues
-
- The first thing to do is to check that the metadata handling
- library works on your target processor. You may use the disassembler
- on simple programs and check that you get sensible results
- (assuming it compiles at all on your system:-).
-
- The main issue is to write macros that read unaligned
- little endian shorts/ints/longs/float/doubles: look into
- mono/metadata/endian.h. There may be other spots in the code that are
- unsafe at reading/writing to some datatypes that require special
- alignment, but there should be few such issues and they need to be fixed.
-
- Once this stuff is sorted out, you should be able to run the interpreter
- on simple programs that don't require delegates, P/Invoke functions etc..
-
-** Generating assembly bytecodes for the target processor
-
- Next, you need to provide the support code for generating assembly bytecode
- for your target platform (in mono/arch/{ppc,sparc,alpha,*}).
- The code should be more or less like the code in x86-codegen.h:
- macros that produce fast in-line code. You don't need to provide
- code to create every possible code, at first, just the code to
- create trampolines and execute them is fine (you'll need to research
- how the call convention works on your platform): that would be, for
- example, the prolog and epilog code in a function, code to pass function
- parameters and deal with the return value and so on.
-
- libffi in gcc or the xptcall sources in mozilla may be helpful to
- understand how the calling convention works, if you can't find a specification.
- You'd need a processor manual to know how to create the assembly binary data.
- This requires a lot of reading if you're not familiar with the assembly for your
- target platform. Manuals for many processors are available as PDF files on the
- web site of the respective vendors. Note that some processors require you to
- flush the I-cache before executing the code: have a look at how the same thing is
- done in GNU lightning.
-
-** Getting the interpreter to work
-
- Once you can generate binary code, you can start working on a
- mono_create_trampoline() function for your platform: this function will receive
- a MonoMethod that describes the arguments and the return type of a C function
- and will create the code to call such function. When this function is complete
- you'll be able to run more sample programs, that use System.IO, P/Invoke
- functions etc.
-
- To support delegates you'll need to write a mono_create_method_pointer()
- function that creates a native function: this can be used to call the
- method using the runtime's calling convention (it's basically the reverse
- of mono_create_trampoline()).
-
-** The final step: porting the JIT
-
- At this point you'd need to have a more complete code generation header file
- and you can start writing the machine description file for the monoburg
- system. This code (jit/tesjit.c) will require some machine specific tweaks,
- but hopefully all you have to do is create the grammar that emit assembly
- code from the IR tree. Work is at the early stages also for x86 on this stuff
- as we are still testing various solutions: you'd want to read about burg-like
- code-generator generators (the LCC book is a good starting point).
-
diff --git a/doc/postgresql b/doc/postgresql
deleted file mode 100644
index cbe6c2f87d8..00000000000
--- a/doc/postgresql
+++ /dev/null
@@ -1,604 +0,0 @@
-* PostgreSQL and Mono
-
- When it comes to Mono and PostgreSQL, there are many ways
- you can handle your data. You have many Mono Data Providers which can be used
- to access data from a application written for Mono.
- Then there is the future goal of having the ability to host Mono within PostgreSQL to
- have the applications run on the server which makes things much faster.
-
-* Hosting Mono in PostgreSQL
-
- There is a project to <a href="http://gborg.postgresql.org/project/plmono/projdisplay.php">host Mono within PostgreSQL</a>.
-
- plMono is a PostgreSQL language using the embedded Mono runtime. It provides support for writing functions in C#, or any other language that supports .NET.
-
-* Data Providers
-
- There are many ADO.NET data providers for <a href="http://www.postgresql.org/">PostgreSQL</a>:
-
- There are two providers created specifically for PostgreSQL included with Mono:
-
-<ul>
-
- <li><a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">Npgsql</a>
- <ul>
- <li>included with Mono</li>
-
- <li>a .NET Managed Data Provider for PostgreSQL</li>
-
- <li>Written in 100% C#</li>
-
- <li>does not require a client library</li>
-
- <li>works on Mono and Microsoft .NET</li>
-
- <li>created by Francisco Figueiredo jr. and has many developers working on it
-
- <li>works in the SQL# (command-line and GTK# GUI versions)</li>
-
- <li>in namespace Npgsql and assembly Npgsql and is found in mcs
- at mcs/class/Npgsql</li>
- </ul>
- </li>
-
- <li>Mono.Data.PostgreSQL (deprecated)
- <ul>
- <li>included with Mono</li>
-
- <li>Deprecated in favor of Npgsql</li>
-
- <li>Exists in namespace Mono.Data.PostgreSql and assembly Mono.Data.PostgreSql</li>
-
- <li>Is a Mono Data Provider for the <a href="http://www.postgresql.org/">PostgreSQL</a>
- client/server database management system.</li>
-
- <li>Written in C# and has C# bindings to the PostgreSQL C Client library pq.dll on Windows
- and libpq.so on Linux.</li>
- </ul>
- </li>
-
- <li><a href="http://sourceforge.net/projects/mysqlnet/">ByteFX.Data</a> has a provider for PostgreSQL too, but I do not know how well it works with Mono.</li>
-
- <li>There is another .NET data provider for PostgreSQL named <a href="http://sourceforge.net/projects/pgsqlclient/">PgSqlClient</a>, but I do not know if it works with Mono.</li>
-
- <li>If none of the above providers meet your needs. There is the ODBC and OLEDB providers included with Mono.</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-
-</ul>
-
- Below, see separate Testing sections for Npgsql and Mono.Data.PostgreSqlClient.
-
-** Current Status
-
-<ul>
- <li>Npgsql
- <ul>
- <li>Builds and Runs on both Microsoft .NET and Mono.</li>
- <li>Works using SQL# (command-line and GTK# versions)</li>
- <li>You can send insert, update, delete queries
- through NpgsqlCommand.ExecuteNonQuery() method.</li>
- <li>You can send queries like, select count(*) from table, select version()
- with NpgsqlCommand.ExecuteScalar() method.</li>
- <li>There is logging support. (Thanks Dave Page)
- To use it, place code like that in your program:</li>
-
-<pre>
- // Enable logging.
- NpgsqlEventLog.Level = LogLevel.Debug; // LogLevel.
- NpgsqlEventLog.LogName = "NpgsqlTests.LogFile"; // LogFile.
-</pre>
-
- <li>You can use Npgsql with Mono (Thanks Kristis Makris). It is not working perfectly.</li>
- <li>There is a winforms test suite (Thanks Dave Page).</li>
- <li>Clearer code in NpgsqlConnection removing *magic* numbers and constants. (Thanks Kristis Makris)</li>
- <li>Better support of ODBC-like ConnectionString in NpgsqlConnection (Thanks Dave Page)</li>
- <li>Thanks Ulrich Sprick for all discussion and ideas.</li>
-
- </ul>
- </li>
- <li>Mono.Data.PostgreSQL status
- <ul>
-
- <li>Deprecated in favor of Npgsql</li>
-
- <li>We are able to do simple CREATE TABLE, DROP TABLE, UPDATE, INSERT, and
- DELETE SQL commands using the ExecuteNonQuery method in PgSqlCommand.</li>
-
- <li>We can execute multiple queries and do a NextResult() in PgSqlDataReader()
- to get the next result set.</li>
-
- <li>We are also able to do simple aggregate functions,
- ie, count(), sum(), min(), and max()
- in a simple SELECT SQL query using the ExecuteScalar() now.</li>
-
- <li>We are also able to retrieve data with a simple SELECT SQL query
- using ExecuteReader() which returns a PgSqlDataReader. We are able to
- use GetSchemaTable() to get the meta data about the table columns.
- We are able to Read() to get each row from the result set.</li>
-
- <li>We are able to get
- String data (char, character, text, varchar), Int16 (smallint),
- Int32 (integer), Int64 (bigint), DateTime (time, date, timestamp),
- Boolean (boolean), Single (float), and Double (double).
- More data types will come later. Note, the types that do work still
- need thorough testing.</li>
-
- <li>Rows that are returned which contain columns that are NULL are handled now.
- The PgSqlDataReader method IsDBNull() needs to be called to determine
- if a field IS NULL before trying to read data from that field.</li>
-
- <li>Calling PostgreSQL stored procedures works. It does not work perfectly.
- It may not
- even work to specification - yet. If you want to test it yourself, look at
- TestSqlDataReader.cs or PostgresTest.cs in
- mcs/class/System.Data/Test.</li>
-
- <li>Below, I have some sample code you can
- use to call a PostgreSQL stored procedure named "version". This stored
- procedure returns a string containing the PostgreSQL server version. Notice
- the CommandType is StoredProcedure and the method ExecuteScalar() is called.</li>
-
- <li>ExecuteScalar() is a lightweight method in class PgSqlCommand that only returns
- one row and one column as one object - even if there is more than row or column.</li>
-
- <li>We have the beginnings of Parameters support PostgreSQL. Only
- Input Parameters are currently supported. Output, Input/Output,
- and Return parameters still need to be done.</li>
-
- <li>A lot of Exceptions need to be thrown for various exceptions. However,
- PgSqlException, PgSqlErrorCollection, and PgSqlError have been partially
- implemented.</li>
-
- <li>Tim Coleman and Rodrigo Moya got the beginnings of the
- PgSqlDataAdapter/DataSet/DataTable/DataRow to work. Currently,
- the PgSqlDataAdapter can Fill() relational data into a DataTable in a DataSet.
- See the test mcs/class/System.Data/Test/TestSqlDataAdapter.cs to see it in action.</li>
-
- <li>Works in the SQL# command-line version
- and the GTK# version on Linux. It only works in SQL# command-line version
- on Windows.</li>
-
- </ul>
- </li>
-
-</ul>
-
-** Action Plan
- <ul>
- <li>More testing and fixing bugs</li>
-
- <li>Better error handling</li>
-
- <li>More Data Types to use</li>
-
- <li>Any features for Npgsql should be implemented in Npgsql's main cvs repository at
- gborg.postgresql.org. Most bugs should be fixed in gborg.postgresql.org's cvs.
- Only bugs neccessary for building and running of Npgsql on Mono can be done in Mono cvs,
- but once applied they should be sent to Npgsql's mailing list
- at gborg.postgresql.org for inclusion into cvs there. Whenever there is
- a release of Npgsql (determined by Francisco Figueiredo jr. or a release
- of Mono (determined by Miguel de Icaza), then the Npgsql source
- in gborg.postgresql.org's cvs will be used to update the Npgsql source in
- Mono's cvs.
- </li>
-
- <li>Mono.Data.PostgreSqlClient even though deprecated can still
- accept bug fixes. This is because other areas, such as, ASP.NET examples
- may still use this provider.</li>
-
- <li>Add any missing functionality to Npgsql. If this funtionality works on
- .NET but not on Mono, implement the missing features or fix the bugs in Mono</li>
-
- <li>Npgsql has replaced Mono.Data.PostgreSqlClient as the provider of
- choice to use. However, Mono.Data.PostgreSqlClient will remain in a
- deprecated state until nobody uses it anymore - then it can be removed</li>
-
- <li>Implement more of PostgreSQL 7.3 features in Npgsql</li>
- </ul>
-
-** Testing Mono.Data.PostgreSqlClient
-
- <ul>
- * <p>In order to test Mono.Data.PostgreSqlClient, you will need to have
- access to a remote PostgreSQL DBMS, or you will have to install
- one locally. PostgreSQL was the first ADO.NET provider created in Mono.
-
- <p>Why use PostgreSQL? Because it is free software, has a client
- library that is easy to use, PostgreSQL is easy to install on
- Unix and Windows (using the Cygwin install program), not difficult to setup after
- installation, and it runs under: Linux,
- Windows (via cygwin and ipc-daemon), Unix, and
- others. This allowed us to create the
- System.Data functionality in Mono much quicker.
-
- <p>If you plan on using a remote PostgreSQL DBMS Server,
- than you will need to have the PostgreSQL client software on your
- local computer that includes libpq.so (pq.dll on Windows).
-
- <p>The System.Data tests use this connection string to connect
- to the PostgreSQL database named "test" at host "localhost" as
- user "postgres".
-
-<pre>
-"Server=localhost;Database=test;User ID=postgres;Password=fun2db"
- (or)
-"host=localhost;dbname=test;user=postgres;password=fun2db"
-</pre>
-</ul>
-
- <p>Installation instructions for PostgreSQL DBMS:
-
- <b>On Unix</b>
-
- <ul>
- * Read the PostgreSQL Installation Instructions
- at \usr\doc\postgresql-x.x.x\html\installation.html
-
- * Depending on your Unix system,
- PostgreSQL maybe already installed, a database user 'postgres' created,
- a linux user 'postgres' created and initdb ran. Or maybe not.
-
-<pre>
- su
- adduser postgres
- mkdir /usr/local/pgsql/data
- chown postgres /usr/local/pgsql/data
- su - postgres
- initdb -D /usr/local/pgsql/data
- postmaster -i -D /usr/local/pgsql/data
- createdb test
- psql test
-</pre>
-
- * Make sure you have a database user named postgres. It is best to install
- the PostgreSQL DBMS under linux user postgres. When you run the postmaster,
- run it under the user postgres as well. If this was not done, then you
- will need to create a user named postgres for the System.Data tests.
-
- * If you already installed PostgeSQL and you do not have a database
- user named postgres, then you can create user postgres using psql:
-
-<pre>
-psql test
-create user postgres with password 'fun2db';
-</pre>
-
- * The postmaster must be run with -i option.
-
- * In the /usr/local/pgsql/data/pg_hba.conf file, you need
- to have the AUTH_TYPE set to md5. You can read more on this at
- /usr/doc/postgresql-7.2.1/html/client-authentication.html
- or wherever your
- PostgreSQL html docs are located. See the 2nd line below,
- host 127.0.0.1 has an AUTH_TYPE md5 in pg_hba.conf.
-
-<pre>
- # TYPE DATABASE IP_ADDRESS MASK AUTH_TYPE
-
- local all trust
- host all 127.0.0.1 255.255.255.255 md5
-</pre>
-
- * If you can not find your PostgreSQL documentation locally or you
- did not install it, then you
- can get it <a href="http://www.postgresql.org/idocs/">here</a>.
-
- </ul>
-
- <b>On Windows</b>
-
- <ul>
- * Use the <a href="http://www.cygwin.com/">Cygwin</a> installer to
- install the PostgreSQL DBMS. It is
- found in the database category.
-
- * <p>Read the file postgres-x.x.README at /usr/doc/Cygwin and read
- the requirements to install PostgreSQL. Those requirements
- are included with cygwin except cygipc. A default installtion
- of cygwin does not install everything you will need, so on the
- safe side, just include everything when installing cygwin.
-
- * <p>The -x.x in postgres-x.x is the version of your PostgreSQL DBMS.
-
- * <p>Once Cygwin has installed the PostgreSQL DBMS on your computer,
- read the file FAQ_MSWIN which is available
- in /usr/doc/postgres-x.x
-
- * <p>Important notes from this file are:
-
- <ul>
- <p><b>2.</b> - Install the latest <a href="http://www.neuro.gatech.edu/users/cwilson/cygutils/cygipc/index.html">CygIPC</a> package.
- Cygwin includes a utility bunzip2 which can be used to unzip it. Now, change to
- the root directory by
- typing "cd /" then
- you can use "tar xvf cygipc.xxx.tar" to untar it
- in the root directory in cygwin.
-
- <p>The cygipc package contains the support to run ipc-daemon
- that you will need
- to run before you can
- run the PostgreSQL DBMS Server daemon (postmaster) or run
- initdb which initializes the PostgreSQL database.
-
- <p><b>3.</b> The Cygwin bin directory has to be placed in
- the path before the Windows program directories,
- for example, C:\cygwin\bin
-
- <p><b>My own note.</b> In the Windows control panel, I set
- the environment variables PATH to my cygwin /usr/local/bin,
- /usr/bin, and /bin. I also set my LD_LIBRARY_PATH to
- /usr/local/lib and /usr/lib. For example:
-
- <p>
-<pre>
-PATH=c:\cygwin\usr\local\bin;c:\cygwin\usr\bin;c:\cygwin\bin;
-LD_LIBRARY_PATH=c:\cygwin\usr\local\lib;c:\cygwin\usr\lib;
-</pre>
-
- <p><b>4.</b> Start the ipc-daemon that came with the cygipc
- package. There
- are two ways to do this: run it from the command line as:
-
- <p>
-<pre>
-ipc-daemon &
-</pre>
- <p>or you can set it up as a Windows service. See the
- file cygrunsrv.README at /usr/doc/Cygwin on how to do this
- for ipc-daemon and postmaster. Note the
- troubleshooting section at the end of
- the cygrunsrv.README file.
-
- <p>To install ipc-daemon as a service,
- you just have to run
-
- <p>
-<pre>
-ipc-daemon --install-as-service' (--remove-as-service)
-</pre>
-
- <p>and then run
-
-<pre>
-net start ipc-daemon
-</pre>
- </ul>
-
- <p>Read the installation.html file
- at /usr/doc/postgresql-x.x/html/installation.html
-
- <p>You will see in this file that you will need to
- run the following commands:
-
- <p>
-<pre>
-mkdir /usr/local/pgsql/data
-initdb -D /usr/local/pgsql/data
-postmaster -D /usr/local/pgsql/data
-createdb test
-psql test
-</pre>
-
- <p>When you need to connect to the database,
- you will need ipc-daemon and postmaster running. Start ipc-daemon
- before any of the command above. If you restart your computer, you
- need to start ipc-daemon and postmaster either manually or as a
- service.
-
- <p>psql is a command-line PostgreSQL client tool to
- enter and run SQL commands and queries.
-
- <p>If there is no database user named postgres, create a user named
- postgres with the following SQL command in the client tool psql:
-
- <p>
-<pre>
-psql test
-create user postgres with password 'fun2db';
-</pre>
- <p>The only reason I say this is so you can easily use the System.Data tests
- without having to change the database, userid, etc.
- </ul>
-
- <p>In the path mcs/class/System.Data/Test
- there is a test for Mono.Data.PostgreSqlClient named
- PostgreTest.cs. Thanks goes to Gonzalo for creating the original
- PostgreSQL test.
-
- <p>
- To compile the PostgresTest.cs program, do:
-
- <p>
-<pre>
- mcs PostgresTest.cs \
- -r System.Data.dll \
- -r Mono.Data.PostgreSqlClient.dll
-</pre>
-
- <p>If there are compile errors, such as, can not convert IDbConnection
- to PgSqlConnection, then you need to run mcs like:
-
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- PostgresTest.cs \
- -r System.Data.dll \
- -r Mono.Data.PostgreSqlClient.dll
-</pre>
-
- <p>
- To run using mint, do:
-
- <p>
-<pre>
-mint PostgresTest.exe
-</pre>
-
- <p>
- To run using mono, do:
-<pre>
-mono PostgresTest.exe
-</pre>
-
- <p>C# Example for Mono.Data.PostgreSqlClient:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.PostgreSqlClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=test;" +
- "User ID=postgres;" +
- "Password=fun2db;";
- IDbConnection dbcon;
- dbcon = new PgConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname" +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Mono.Data.PostgreSqlClient.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Mono.Data.PostgreSqlClient.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
-</li>
-</ul>
-
-** Testing Npgsql
-
-<ul>
- <li>Have a working mono and mcs</li>
-
- <li>Get <a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">Npgsql</a>
- and make sure the binary assembly Npgsql.dll is installed in the same place that the
- mono class libraries are located.
-
- <li>Read the Testing notes for Mono.Data.PostgreSqlClient too
-
- <li>C# Example for Npgsql:
-<pre>
- using System;
- using System.Data;
- using Npgsql;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=test;" +
- "User ID=postgres;" +
- "Password=fun2db;";
- IDbConnection dbcon;
- dbcon = new NpgsqlConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["firstname"];
- string LastName = (string) reader["lastname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Npgsql.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Npgsql.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
-</li>
-</ul>
-
diff --git a/doc/ppc b/doc/ppc
deleted file mode 100644
index 81580e03cd0..00000000000
--- a/doc/ppc
+++ /dev/null
@@ -1,40 +0,0 @@
-
-* Mono PowerPC Port
-
-** Status
-
- It passes and compiles the same amount of mono tests as on the x86 architecture.
-
- mcs is self hosting on Linux/PPC.
-
-*** Interpreter
-
- Up to date.
-
-*** Jitter
-
- Works on MacOS X 10.2 and Linux/PPC.
-
- There are known problems on MacOS 10.3
-
-** Documentation
-
-*** PowerPC architecture:
-
- <A HREF="http://e-www.motorola.com/brdata/PDFDB/docs/MPCFPE32B.pdf">PowerPC Programming environments manual</A><BR>
- <A HREF="http://e-www.motorola.com/brdata/PDFDB/docs/MPC7410UM.pdf">G4 (7410) User's manual</A>
-
- There's a very nice introduction to PowerPC assembly language
- at <a
- href="http://www-106.ibm.com/developerworks/library/l-ppc/">http://www-106.ibm.com/developerworks/library/l-ppc/</a>.
-
-*** Calling conventions:
-
- Linux on PPC32 uses the <a
- href="http://refspecs.freestandards.org/elf/elfspec_ppc.pdf">The
- PowerPC SystemV ABI specification</a>.
-
- On MacOS X, the conventions are documented in the <a
- href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachORuntime/MachORuntime.pdf">Mach-O
- Runtime Architecture</a>.
-
diff --git a/doc/print-stack b/doc/print-stack
deleted file mode 100755
index 1bf79581801..00000000000
--- a/doc/print-stack
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-MANAGED_CALLS=`gdb -silent $1 -pid $2 << EOF | awk '/.* in \?\? \(\)/ {printf("call print_method_from_ip(%s)\n", $2);}'
-set height 0
-thread apply all bt
-quit
-EOF`
-
-gdb -silent $1 -pid $2 << EOF
-set height 0
-thread apply all bt
-$MANAGED_CALLS
-quit
-EOF
-
diff --git a/doc/projects b/doc/projects
deleted file mode 100755
index 8f4a40a275c..00000000000
--- a/doc/projects
+++ /dev/null
@@ -1,22 +0,0 @@
-* Open Projects
-
- The .NET framework is a good first in terms of a new
- development foundation, but it falls short of providing
- higher-level components or building blocks for people to
- reuse.
-
- A few ideas of projects and classes that would be useful to
- develop applications follows:
-
-** EOG component
-
-* Gtk# related projects
-
- Gnome Canvas Bindings.
-
- Bezier Canvas Item Binding.
-
-* Graphical bindings
-
- Binding for the Libart library
-
diff --git a/doc/provider-factory b/doc/provider-factory
deleted file mode 100755
index 37309ec4324..00000000000
--- a/doc/provider-factory
+++ /dev/null
@@ -1,156 +0,0 @@
-* Provider Factory
-
-<p>Brian Ritchie contributed a Provider Factory and Data Tools for Mono ADO.NET<br>
-which gives us a foundation for abstract data provider access within Mono
-
-** Here are the deails:
-
-<ul>
- <li>The Provider information is seperate from the connection string information.<br>
- This allows the list of providers to be stored in the machine.config file.</li>
- <li>Provider and ProviderCollection objects are available to access <br>
- the list of providers and modify them at runtime.</li>
- <li>The ProviderFactory object is used to create new connections, commands,<br>
- dataadapters, parameters, etc.</li>
-</ul>
-
-** Overview of the ProviderFactory object model:
-
-<ul>
- <li><b>ProviderFactory</b>: used to create new Connections, Commands,<br>
- DataAdapters, or Commands. All objects are returned using <br>
- the provider interfaces such as IDbConnection, IDbCommand,<br>
- IDbDataAdapter, or IDataParamter</li>
-
- <li><b>DataTools</b>: static methods for doing <br>
- common tasks like filling a DataSet <br>
- with the contents of a select statement.</li>
-
- <li><b>ProviderCollection</b>: list of providers configured <br>
- in the system. Initially loaded from app.config, but can <br>
- be modified at run-time.</li>
-
- <li><b>Provider</b>: represents a given provider (factory) <br>
- and holds information needed to <br>
- create the types.</li>
-
- <li><b>ProviderSectionHandler</b>: works behind the <br>
- scenes to load the list of <br>
- providers from the app.config into a ProviderCollection.</li>
-</ul>
-
-** C# source code samples for creating a connection:
-
-<pre>
- // Create connection using enhanced connection string
- // The factory attribute specifies which provider
- // to use. The factory attribute is parsed out, the
- // object is created, and then the rest of the
- // connection string is passed into the provider. The
- // providers are defined in
- // the app.config (or machine.config).
- IDbConnection conn;
- string connectionString =
- "factory=System.Data.SqlClient;" +
- "server=speedy;database=pubs;uid=sa";
- conn = ProviderFactory.CreateConnection(connectionString);
-
- // Create connection specifying provider
- // and standard connection string
- IDbConnection conn;
- string provider = "System.Data.SqlClient";
- string connectionString = "server=speedy;database=pubs;uid=sa";
- conn = ProviderFactory.CreateConnection(provider,connectionString);
-
- // Create connection using connection string stored
- // in app.config under &lt;appSettings&gt;
- IDbConnection conn;
- string appSetting = "PubsConnStr";
- conn = ProviderFactory.CreateConnectionFromConfig(appSetting);
-</pre>
-
-
-<p>C# Sample for Creating a DataAdapter and filling a DataSet.
-
-<pre>
-// Create Connection
-IDbConnection conn =
-ProviderFactory.CreateConnectionFromConfig("PubsConnStr");
-
-// Select command
-IDbCommand cmd=conn.CreateCommand();
-cmd.Text="select * from author";
-
-// Data Adapter
-DataSet ds=new DataSet();
-IDbDataAdapter adapter=ProviderFactory.CreateDataAdapter(cmd);
-adapter.Fill(ds, "Table1");
-</pre>
-
-<p>Creating a DataAdapter and filling a DataSet. <br>
-The super lazy method for people like me.
-<pre>
-// Create Connection
-IDbConnection conn =
-ProviderFactory.CreateConnectionFromConfig("TdsPubsConnStr");
-
-// Data Adapter
-DataSet ds=DataTools.FillDataSet(conn, "select * from author");
-</pre>
-
-
-<p>Here's some sample code on displaying a list <br>
- of configured ADO.NET providers:
-<pre>
-Console.WriteLine("Configured Providers:");
-foreach (Provider p in ProviderFactory.Providers)
- Console.WriteLine(p.Description);
-</pre>
-
-<p>A Super lazy overload to the FillDataSet method (in <br>
-DataTools.cs) that will fill a dataset in one line of code.
-
-<pre>
-DataSet ds=DataTools.FillDataSet("PubsConnStr", "select * from authors");
-</pre>
-
-** About Configuration Files
-
-<p>Information about <a href="http://msdn.microsoft.com/library/en-us/vbcon/html/vboriintroductiontoapplicationsettingstorage.asp?frame=true">app.config</a> files
-can be found at <a href="http://msdn.microsoft.com/">MSDN</a>.
-
-<p>See the mcs/class/Mono.Data/app.config for sample configuration file in<br>
-mcs source. Basically, if your application is named blah.exe, <br>
-you would create an app.config file named blah.exe.config
-
-<p>Here's a sample app.config file showing the provider <br>
-declarations along with sample connection strings:
-
-<pre>
-
-&lt;?xml version="1.0" encoding="utf-8" ?&gt;
-&lt;configuration&gt;
- &lt;configSections&gt;
- &lt;sectionGroup name="mono.data"&gt;
- &lt;section name="providers" type="Mono.Data.ProviderSectionHandler,Mono.Data" /&gt;
- &lt;/sectionGroup&gt;
- &lt;/configSections&gt;
- &lt;appSettings&gt;
- &lt;add key="PubsConnStr" value="factory=System.Data.SqlClient;server=speedy;database=pubs;uid=sa;pwd=" /&gt;
- &lt;/appSettings&gt;
- &lt;mono.data&gt;
- &lt;providers&gt;
- &lt;provider name="System.Data.SqlClient" connection="System.Data.SqlClient.SqlConnection" adapter="System.Data.SqlClient.SqlDataAdapter" assembly="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
- &lt;provider name="System.Data.OleDb" connection="System.Data.OleDb.OleDbConnection" adapter="System.Data.OleDb.OleDbDataAdapter" assembly="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
- &lt;provider name="System.Data.Odbc" connection="System.Data.Odbc.OdbcConnection" adapter="System.Data.OleDb.OdbcDataAdapter" assembly="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;
- &lt;provider name="Mono.Data.TdsClient" connection="Mono.Data.TdsClient.TdsConnection" adapter="Mono.Data.TdsClient.TdsDataAdapter" assembly="Mono.Data.TdsClient" /&gt;
- &lt;provider name="Mono.Data.MySql" connection="Mono.Data.MySql.MySqlConnection" adapter="Mono.Data.MySql.MySqlDataAdapter" assembly="Mono.Data.MySql" /&gt;
- &lt;provider name="Mono.Data.PostgreSqlClient" connection="Mono.Data.PostgreSqlClient.PgSqlConnection" adapter="Mono.Data.PostgreSqlClient.PgSqlDataAdapter" assembly="Mono.Data.PostgreSqlClient" /&gt;
- &lt;provider name="Mono.Data.SqliteClient" connection="Mono.Data.SqliteClient.SqliteConnection" adapter="Mono.Data.SqliteClient.SqliteDataAdapter" assembly="Mono.Data.SqliteClient" /&gt;
- &lt;provider name="Mono.Data.SybaseClient" connection="Mono.Data.SybaseClient.SybaseConnection" adapter="Mono.Data.SybaseClient.SybaseDataAdapter" assembly="Mono.Data.SybaseClient" /&gt;
- &lt;/providers&gt;
- &lt;/mono.data&gt;
-&lt;/configuration&gt;
-
-</pre>
-
diff --git a/doc/rationale b/doc/rationale
deleted file mode 100644
index 91cd3c7af7b..00000000000
--- a/doc/rationale
+++ /dev/null
@@ -1,199 +0,0 @@
-
-* The Mono Project
-
-** Background.
-
- The GNOME project goal was to bring missing technologies to
- Unix and make it competitive in the current market place for
- desktop applications. We also realized early on that language
- independence was important, and that is why GNOME APIs were
- coded using a standard that allowed the APIs to be easily
- wrapped for other languages. Our APIs are available to most
- programming languages on Unix (Perl, Python, Scheme, C++,
- Objective-C, Ada).
-
- Later on we decided to use better methods for encapsulating
- our APIs, and we started to use CORBA to define interfaces to
- components. We complemented it with policy and a set of
- standard GNOME interfaces for easily creating reusable,
- language independent components, controls and compound
- documents. This technology is known as <a
- href="http://developer.ximian.com/articles/whitepapers/bonobo">Bonobo</a>.
- Interfaces to Bonobo exist for C, Perl, Python, and
- Java.
-
- CORBA is good when you define coarse interfaces, and most
- Bonobo interfaces are coarse. The only problem is that
- Bonobo/CORBA interfaces are not good for small interfaces.
- For example, an XML parsing Bonobo/CORBA component would be
- inefficient compared to a C API.
-
-** Another explanation
-
- I recently explained our motivations to Dave Winer, and he posted
- it <a
- href="http://scriptingnews.userland.com/stories/storyReader$1275">here</a>
-
-** Microsoft's .NET
-
- The Microsoft .NET initiative is confusing because it is a
- company wide effort that ranges from development tools to end
- user applications. .NET is a branding formative that
- has been applied to:
-
- <ul>
- * The .NET development platform, a new platform for
- writing software.
-
- * Web services.
-
- * Microsoft Server Applications.
-
- * New tools that use the new development platform.
-
- * Hailstorm, the Passport centralized single-signon
- system that is being integrated into Windows XP.
-
- </ul>
-
- Mono is an implementation of the .NET development platform.
-
-** The Common Language Infrastructure platform.
-
- Microsoft has created a new development platform. The
- highlights of this new development platform are:
-
- <ul>
- * A runtime environment that provides garbage
- collection, threading and a virtual machine
- specification (The Virtual Execution System, VES)
-
- * A comprehensive class library.
-
- * A new language, C#. Very similar to Java, C#
- allows programmers to use all the features available
- on the .NET runtime.
-
- * A language specification that compilers can
- follow if they want to generate classes and code
- that can interoperate with other programming
- languages (The Common Language Specification: CLS)
- </ul>
-
- The Common Language Infrastructure platform is similar to the
- goals we had in GNOME of giving language independence to
- programmers. It is more mature, documented, larger in scope,
- and has a consistent design.
-
- Any API that is written using a CLS provider language can be
- used by any language that is a CLS consumer. Compilers
- generate code in a format called Common Intermediate Language
- (CIL) which is an intermediate representation of a compiled
- program and is easy to compile to native code or compiled
- using Just-in-Time (JIT) engines. The restrictions placed by
- the runtime on the CIL byte codes ensures that it is possible
- to do a good job at optimizing the code in a JIT compiler.
-
- There is not really a lot of innovation in this platform: we
- have seen all of these concepts before, and we are all
- familiar with how these things work.
-
- What makes the Common Language Infrastructure development
- platform interesting is that it is a good mix of technologies
- that have been nicely integrated.
-
- The .NET development platform is essentially a new foundation
- for program development that gives Microsoft a room to grow
- for the coming years.
-
-** ECMA standards.
-
- Microsoft has submitted the
- specifications of C#, the runtime, the metadata and the
- other various bits of the .NET development platform to the
- <a href="http://www.ecma.ch">ECMA</a> for standarization.
-
- You can get a copy of the specifications submitted to ECMA
- from: <a href="http://www.dotnetexperts.com/ecma">http://www.dotnetexperts.com/ecma</a>
-
-** Mono: an Open Source Common Language Infrastructure implementation.
-
- Ximian has begun work on Mono, a project that aims to bring
- the Common Language Infrastructure platform to free systems.
-
- When the GNU project was launched, they picked the best
- operating system that was available out there, and they
- began to clone it: Unix.
-
- The .NET development platform is a very rich, powerful, and
- well designed platform that would help improve the free
- software development platform. Just like the GNU project
- began to clone Unix sixteen years ago, we will be cloning the
- .NET development platform because it is a great platform to
- build on.
-
-** What makes up Mono?
-
- There are various pieces that make up Mono today:
-
- <ul>
- * A C# compiler.
-
- * The Virtual Execution System: that has the
- Just-in-Time compiler, garbage collector, loader,
- threading engine.
-
- A byte code interpreter is provided for quickly
- porting Mono to new systems and debugging the JIT
- purposes, but it is not intended to be the ideal
- execution environment.
-
- * An implemenation of the .NET class libraries:
- Remoting, Reflection, Reflection.Emit, Xml, Xpath,
- Xslt, Xml Serialization, Web Services support.
-
- * Cross platform class libraries for data access:
- Postgress, MySQL, DB2, TDS, Sybase, Oracle, ODBC and
- Gnome's GDA.
-
- * Unix class libraries: Mono.Posix
-
- * Gnome-specific class libraries: The Gtk# family.
-
- * A code pre-compiler to generate native code ahead of
- time.
-
- * Gtk# a toolkit to develop GNOME applications on Unix
- and Windows.
-
- * An implementation of the Remoting infrastructure in
- .NET
- </ul>
-
- Other work-in-progress components:
-
- <ul>
- * A VB.NET compiler and JScript compilers are in the works.
-
- * Web services on the server side.
-
- * We are planning to include Remoting.CORBA as part of
- Mono standard distribution.
- </ul>
-
-** Why use GNOME components?
-
- GNOME is an umbrella project that consists of infrastructural
- components (GUI toolkit, XML libraries, CORBA implementation,
- printing architecture, imaging system), a desktop environment,
- and productivity applications.
-
- The GNOME infrastructural components can be used to quickly
- implement various pieces of the class libraries without reinventing
- the wheel, and since all those components are licensed under
- the terms of the GNU LGPL it is a perfect fit.
-
- Libart will be used to implement the Drawing.2D API; Gtk+ and
- the GNOME libraries will be used to implement the WinForms
- API and of course Glib and libxml will be used in various
- places. \ No newline at end of file
diff --git a/doc/release-notes/mono-0.3 b/doc/release-notes/mono-0.3
deleted file mode 100644
index 4976037b957..00000000000
--- a/doc/release-notes/mono-0.3
+++ /dev/null
@@ -1,46 +0,0 @@
-To: mono-list@ximian.com, mono-announce-list@ximian.com
-Subject: July 12 snapshots.
-FCC: ~/Mail/outbox.txt
-X-Windows: Sometimes you fill a vacuum and it still sucks.
---text follows this line--
-
-Hey!
-
- July 12 snapshots of class libraries, the compiler and the mono
-runtime are available.
-
-New on this release:
-
- * Runtime (module: mono)
-
- The beginning of a simple interpreter that Paolo started
- workign on (can run really simple .NET programs).
-
- Disassembler copes with more elements of the binary format and
- more tokens are decoded. Paolo is working now on moving some
- of these to the metadata library.
-
- More tables are dumped.
-
- * Class libraries (module: mcs/class)
-
- Many new more classes are in from Joe, Vladimir, Jeff, Sean
- and yours truly.
-
- Sean fixed the build process, and it is now possible to
- compile with a single command the assemblies. We will be
- revisiting this mechanism in the future to compile per-OS
- assemblies (ie, Unix, Windows, MacOS, etc).
-
- * Compiler (module mcs/mcs)
-
- Not much done this week, just a few fixes here and there, and
- more work to make it easy to compiler.
-
- * Documentation (module: mono/doc)
-
- All the changes to the web site are there for your browsing
- pleasure. We still need to integrate the status system in
- there.
-
-Miguel.
diff --git a/doc/release-notes/mono-0.4 b/doc/release-notes/mono-0.4
deleted file mode 100644
index 1d7e1cea5f1..00000000000
--- a/doc/release-notes/mono-0.4
+++ /dev/null
@@ -1,43 +0,0 @@
-To: mono-list@ximian.com
-Subject: Sunday snapshot available.
-Gcc: mail.2001-07
---text follows this line--
-
-Hey guys,
-
- I promise I will not be doing these so often once we have the CVS
-server up. In the meantime:
-
- * MCS
-
- Sean got the classes to compile in a single go. You
- will need CygWin (www.cygwin.org) to compile though
- (GNU make and stuff is required).
-
- System.Xml.XmlReader contribution from Jason
- (WOOHHOO!!). It also contains a nice test-suite for
- his functions, and in his new code bit, his
- implementation is faster than Microsoft's
-
- We now ship `jay' as part of the distribution to allow
- you to compile the compiler with the same `make'
- command. Small fixes to the parser as well were
- introduced.
-
- * Mono 0.4
-
- Paolo's interpreter supports call instructions and has
- the test suite program that he posted about.
-
-
- All documentation ships now in the mono-0.4.tar.gz
-
-Notes:
-
- As usual, MCS is targeted to be compiled on a Windows machine
- (you will need Cygwin).
-
- Mono is targeted to be compiled on a Unix machine or a Windows
- machine running Cygwin.
-
-Miguel. \ No newline at end of file
diff --git a/doc/resources b/doc/resources
deleted file mode 100644
index 9588bdc9829..00000000000
--- a/doc/resources
+++ /dev/null
@@ -1,235 +0,0 @@
-
-* Resources
-
- There are a number of resources available for those of you who
- want to contribute to the Mono project. Here are a few links.
-
- If you want to send suggestions for links, address them to <a
- mailto="web-mono@ximian.com">web-mono@ximian.com</a>.
-
-** Microsoft .NET
-
- The <a href="http://msdn.microsoft.com/netframework">Microsoft.NET site.</a>
-
- The Microsoft .NET Framework can be downloaded <a
- href="http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp">here</a>
-
- New methods that are not documented in 1.0, are documented <a
- href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/framewrkaddend.asp">here</a>
-
- The changes between .NET 1.0 and .NET 1.1 are available <a href="http://www.csharphelp.com/archives2/archive406.html">here</a>
-
-** IRC
-
- Various Mono contributors get together on channel #mono on
- irc.gnome.org
-
-** Mono related sites.
-
- The Mono Tutorial:
-
- <a href="http://go-mono.com/tutorial/">GNOME.NET Tutorial</a>
-
- and other useful tutorials (Gtk#, Glade#, Embeded, etc) (in Spanish) at
-
- <a href="http://www.monohispano.org">The Mono Hispano site</a>.
-
- Community site for Mono at <a href="http://www.gotmono.com">Got Mono</a>
-
- Wikis: <a href="http://www.nullenvoid.com/gtksharp/wiki">Gtk# Wiki</a>
- and <a href="http://www.nullenvoid.com/mono/wiki">Mono Wiki</a>.
-
- Sergey's web page on Mono resources:
-
- <a href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>
-
- Got Dot Net:
-
- <a href="http://www.gotdotnet.com">Got Dot Net</a>
-
- Got Mono:
-
- <a href="http://www.gotmono.com">Got Mono</a>
-
- MonoMail:
-
- <a href="http://sourceforge.net/projects/monomail/">http://sourceforge.net/projects/monomail/</a>
-
- Zip classes:
-
- Mike's port to .NET: <a
- href="http://www.icsharpcode.net/OpenSource/NZipLib/default.asp">NZipLib</a>
-
- .NET Security:
-
- A nice overview paper on the <a
- href="http://www.foundstone.com/pdf/dotnet-security-framework.pdf">.NET
- security architecture</a>.
-
-** Development Tools
-
- A tool to compare two assemblies:
-
- <ul>
- <li><a href="http://www.gotdotnet.com/userarea/keywordsrch.aspx?keyword=winchurn">http://www.gotdotnet.com/userarea/keywordsrch.aspx?keyword=winchurn</a>
- </ul>
-
-** ECMA Documentation.
-
- You can get the documentation for the ECMA specs from:
-
- <ul>
- * <a href="http://www.ecma-international.org/publications/standards/Ecma-334.HTM">C# Language Specification</a>
- * <a href="http://www.ecma-international.org/publications/standards/Ecma-335.HTM">Common Language Infrastructure</a>
- </ul>
-
-
- Older copies of the standard are available here:
-
- <ul>
- * <a href="http://msdn.microsoft.com/net/ecma">At MSDN</a>
- * <a href="http://www.dotnetexperts.com">Dot Net Experts</a>
- * <a href="http://lightning.csse.monash.edu.au/.net/CLI">Monash University</a>
- </ul>
-
- These contain specifications for the assembler, the metadata,
- byte codes supported by the CLI virtual machine, the C#
- language and the core class libraries.
-
- For details on the .NET class libraries, you can
- visit the Microsoft's Developer Network:
-
- <ul>
- * <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/cpref_start.asp">.NET Framework Class Library</a>
- </ul>
-
- You can also get this information if you install the Beta2
- release of the .NET Framework.
-
-** Discussion Groups.
-
- <ul>
-
- * <a href="http://www.oreillynet.com">O'Reilly
- Network</a> has a <a
- href="http://www.oreillynet.com/dotnet">section devoted to
- .NET</a>
- * <a
- href="http://msdn.microsoft.com/newsgroups">MSDN</a> also
- lists various newsgroups related to .NET</ul>
- </ul>
-
-** Other .NET related projects
-
- There are a number of related projects to Mono:
-
- <li><b>Development tools</b></li>
- <ul>
- * <a
- href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
- Develop:</a> an IDE for the C# language written in C#.
-
- * <a href="http://nunit.sourceforge.net">NUnit:</a> A
- testing framework for .NET classes.
-
- * <a
- href="http://xmarks.sourceforge.net/doc.html">XMarks DOC.NET:</a> For
- creating online documentation you can browse for your own classes.
-
- * <a
- href="http://www.cl.cam.ac.uk/~jds31/research/gccnet/">GCC .NET backend</a>.
-
- Jeremy Singer has developed a .NET backend for GCC. This is research work.
- </ul>
-
- <li><b>Class Libraries</b></li>
- <ul>
- * <a href="http://cs-sdl.sourceforge.net/">SDL for
- .NET:</a> Bindings for the popular SDL graphics library.
-
-
- * C# bindings for OpenGL and SDL are available here: <a
- href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
-
- * <a
- href="http://qtcsharp.sourceforge.net">Qt#:</a>
- C# bindings for the Qt toolkit.
-
- * <a
- href="http://codigolivre.org.br/projects/monoqle">Project MonoQLE:</a> a C# Message Queue Server.
- Sorry only in portuguese, for now.
-
- </ul>
-
- <li><b>Programming languages:</b></li>
- <ul>
- * <a
- href="http://janet-js.sourceforge.net/">Janet:</a>
- an implemention of ECMAScript (the standarized
- version of JavaScript) in C#
- </ul>
-
- <li><b>Other projects</b></li>
- <ul>
- * <a
- href="http://www.improve-technologies.com/alpha/esharp/">Eclipse
- Plugin for C#</a>
-
- * <a href="http://www.kaffe.org">Kaffe:</a> A popular
- Free Software JIT engine for Java.
-
- * <a href="http://www.intel.com/research/mrl/orp">ORP:</a> A research
- JIT/VM/GC system from Intel.
-
- * <a
- href="http://www.southern-storm.com.au/portable_net.html">Portable.NET:</a>
- Another implementation of the CLI and C# compiler.
- </ul>
-
-** GNOME Documentation
-
- Documentation on GNOME, and the GNOME APIs is available from
- the <a href="http://developer.gnome.org">developer</a> site at
- GNOME:
-
- <ul>
- * <a href="http://developer.gnome.org/doc/API/">GNOME
- API documentation</a>
-
- * <a href="http://developer.gnome.org/doc/books">GNOME
- Online books</a>
-
- * <A
- href="http://developer.gnome.org/arch/">Architecture Overview</a>
- </ul>
-
-** Assembly Language Manuals online
-
- <ul>
- * <a href="http://www.agner.org/assem/#optimize">
- Pentium optimization tutorial</a> by Agner Fog
-
- * <a href="http://webster.cs.ucr.edu/">
- Art of Assembly</a> (x86 only)
-
- * Documentation for various CPUs
- (<a href="http://www.mit.edu/afs/sipb/contrib/doc/specs/ic/cpu/">
- x86, IA64, MIPS, ARM, Alpha</a>)
-
- * <a href="http://www.heyrick.co.uk/assembler/">
- ARM Assembler</a> tutorial
-
- * PowerPC
- <a href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">
- Compiler Writer's Guide</a>
-
- * <a href="http://www.lightsoft.co.uk/Fantasm/Beginners/begin1.html">
- Beginners Guide to PowerPC Assembler</a>
- </ul>
-
-** Win32
-
- <ul>
- * Win32 <a href="http://www.jorgon.freeserve.co.uk/ExceptFrame.htm">
- Structured Exception Handling (SEH)</a> internals (x86 specific)
- </ul>
diff --git a/doc/resources-pending b/doc/resources-pending
deleted file mode 100644
index fd9b9073d64..00000000000
--- a/doc/resources-pending
+++ /dev/null
@@ -1,30 +0,0 @@
-** MacOS Documentation
-
-** Assembly Language Manuals online
- Intel
- MIPS
- SPARC
-
-** Microsoft
- msdn.microsoft.com/net
- Research.microsoft.com
-
-** Related Technologies
-
- <ul>
-
- * The CLI allows people to create Web Services using the SOAP
- protocol. SOAP is based on XML, XML schemas an the HTTP
- protocol.
- <ul>
- * XML specification.
- * XML Namespaces.
- * XML Schemas.
- * SOAP Specification.
- </ul>
- </ul>
-
-** Compiler Information
- GCC
- GCC Sample front-end tutorial
-
diff --git a/doc/roadmap b/doc/roadmap
deleted file mode 100644
index 6cdfa1366a8..00000000000
--- a/doc/roadmap
+++ /dev/null
@@ -1,12 +0,0 @@
-* Roadmap
-
- We are working on the following three projects at Ximian:
-
- The C# Compiler (mcs/mcs)
-
- A .NET compatible Class Library (mcs/class)
-
- The JIT/interpreter (mono)
-
-
- \ No newline at end of file
diff --git a/doc/runtime b/doc/runtime
deleted file mode 100644
index c2ecdf425a8..00000000000
--- a/doc/runtime
+++ /dev/null
@@ -1,203 +0,0 @@
-* The Mono runtime
-
- The Mono runtime engine is considered feature complete.
-
- It implements a Just-in-Time compiler engine for the CIL
- virtual machine, the class loader, the garbage collector,
- threading system and metadata access libraries.
-
- We currently have two runtimes:
-
- <ul>
- * <b>mono:</b> Our Just-in-Time and Ahead-of-Time code
- generator for maximum performance.
-
- * <b>mint:</b> The Mono interpreter. This is an
- easy-to-port runtime engine.
- </ul>
-
- We are using the Boehm conservative garbage collector.
-
- The Mono runtime can be used as a stand-alone process, or it
- can be <a href="embedded-api.html">embedded into applications</a> (see
- the documentation in mono/samples/embed for more details).
-
- Embedding the Mono runtime allows applications to be extended
- in C# while reusing all of the existing C and C++ code.
-
- Paolo Molaro did a presentation on the current JIT engine and
- the new JIT engine. You can find his <a
- href="http://primates.ximian.com/~lupus/slides/jit/">slides
- here</a>
-
-** Current JIT Engine: technical details (<b>updated, June 28th, 2003</b>)
-
- We have re-written our JIT compiler. We wanted to support a
- number of features that were missing:
-
- <ul>
- * Ahead-of-time compilation.
-
- The idea is to allow developers to pre-compile their code
- to native code to reduce startup time, and the working
- set that is used at runtime in the just-in-time compiler.
-
- Although in Mono this has not been a visible problem, we
- wanted to pro-actively address this problem.
-
- When an assembly (a Mono/.NET executable) is installed in
- the system, it would then be possible to pre-compile the
- code, and have the JIT compiler tune the generated code
- to the particular CPU on which the software is
- installed.
-
- This is done in the Microsoft.NET world with a tool
- called ngen.exe
-
- * Have a good platform for doing code optimizations.
-
- The design called for a good architecture that would
- enable various levels of optimizations: some
- optimizations are better performed on high-level
- intermediate representations, some on medium-level and
- some at low-level representations.
-
- Also it should be possible to conditionally turn these on
- or off. Some optimizations are too expensive to be used
- in just-in-time compilation scenarios, but these
- expensive optimizations can be turned on for
- ahead-of-time compilations or when using profile-guided
- optimizations on a subset of the executed methods.
-
- * Reduce the effort required to port the Mono code
- generator to new architectures.
-
- For Mono to gain wide adoption in the Unix world, it is
- necessary that the JIT engine works in most of today's
- commercial hardware platforms.
- </ul>
-
- The JIT engine implements a number of optimizations:
-
- <ul>
- * Opcode cost estimates (our architecture allows
- us to generate different code paths depending
- on the target CPU dynamically).
-
- * Inlining.
-
- * Constant folding, copy propagation, dead code elimination.
-
- Although compilers typically do
- constant folding, the combination of inlining with
- constant folding gives some very good results.
-
- * Linear scan register allocation. In the past,
- register allocation was our achilles heel, but now
- we have left this problem behind.
-
- * SSA-based framework. Various optimizations are
- implemented on top of this framework
- </ul>
-
- There are a couple of books that deal with this technique: "A
- Retargetable C Compiler" and "Advanced Compiler Design and
- Implementation" are good references. You can also get a
- technical description of <a
- href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">lbrug</a>.
-
- The new JIT engines uses three intermediate representations:
- the source is the CIL which is transformed into a forest of
- trees; This is fed into a BURS instruction selector that
- generates the final low-level intermediate representation.
-
- The instruction selector is documented in the following
- papers:
-
- <ul>
- * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/interface.pdf&pub=wiley">A code generation interface for ANSI C</a>
-
-
- * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">Engineering efficient code generators using tree matching and dynamic programming.</a>
-
- </ul>
-
-** Garbage Collection
-
- We are using the Boehm conservative GC. We might consider
- adopting other GC engines in the future, like the Intel ORP GC
- engine. The Intel ORP GC engine as it provides a precise
- garbage collector engine, similar to what is available on the
- .NET environment.
-
- <ul>
- * Garbage collection list and FAQ:<br>
- <a href="http://www.iecc.com/gclist/">http://www.iecc.com/gclist/</a>
-
- * "GC points in a Threaded Environment":<br>
- <a href="http://research.sun.com/techrep/1998/abstract-70.html">
- http://research.sun.com/techrep/1998/abstract-70.html</a>
-
- * "A Generational Mostly-concurrent Garbage Collector":
- <a href="http://research.sun.com/techrep/2000/abstract-88.html">
- http://research.sun.com/techrep/2000/abstract-88.html</a>
-
- * Details on The Microsoft .NET Garbage Collection Implementation:<br>
- <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI.asp</a>
- <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp</a>
- </ul>
-
-** IO and threading
-
- The ECMA runtime and the .NET runtime assume an IO model and a
- threading model that is very similar to the Win32 API.
-
- Dick Porter has developed WAPI: the Mono abstraction layer
- that allows our runtime to execute code that depend on this
- behaviour.
-
-** Useful links
-
- Paolo Molaro found a few interesting links:
-
- <ul>
- * On compilation of stack-based languages:<br>
- <a href="http://www.complang.tuwien.ac.at/projects/rafts.html">
- http://www.complang.tuwien.ac.at/projects/rafts.html</a>
-
- * A paper on fast JIT compilation of a stack-based language:<br>
- <a href="http://www.research.microsoft.com/~cwfraser/pldi99codegen.pdf">
- http://www.research.microsoft.com/~cwfraser/pldi99codegen.pdf</a>
-
- * Vmgen generates much of the code for efficient virtual machine (VM)
- interpreters from simple descriptions of the VM instructions:<br>
- <a href="http://www.complang.tuwien.ac.at/anton/vmgen/">
- http://www.complang.tuwien.ac.at/anton/vmgen</a>
- </ul>
-
-** PInvoke
-
- PInvoke is the mechanism we are using to wrap Unix API calls
- as well as talking to system libraries.
-
- Initially we used libffi, but it was fairly slow, so we have
- reused parts of the JIT work to create efficient PInvoke
- trampolines.
-
-** Remoting
-
- Mono has support for remoting and proxy objects, just like
- .NET does. The runtime provides these facilities.
-
-** Porting
-
- If you are interested in porting the Mono runtime to other
- platforms, you might find the pre-compiled <a
- href="archive/mono-tests.tar.gz">Mono regression test
- suite</a> useful to debug your implementation.
-
-* COM and XPCOM
-
- We plan on adding support for XPCOM on Unix and COM on Microsoft
- Windows later in our development process.
-
diff --git a/doc/screenshots b/doc/screenshots
deleted file mode 100644
index 25cc06998d7..00000000000
--- a/doc/screenshots
+++ /dev/null
@@ -1,229 +0,0 @@
-* Screenshots
-
-** Mono Debugger
-
- Some shots of the <a href="jit-debug.html">Mono Debugger</a>
-
- <table border=1>
- <tr>
- <td>
- <a href="images/Screenshot-Debugger-1.png"><img src="images/Screenshot-Debugger-1-thumb.png"></a>
- </td>
- </tr>
- <tr>
- Debugger showing the source code view.
- </tr>
- </table>
- <table>
- <tr>
- <td>
- <a href="images/Screenshot-Debugger-2.png"><img src="images/Screenshot-Debugger-2-thumb.png"></a>
- </td>
- </tr>
- <tr>
- Debugger showing the CPU view.
- </tr>
- </table>
-
-** Mono Documentation Browser
-
- The Mono Documentation Browser is available from <a
- href="anoncvs.html">CVS</a>, module `monodoc'.
-
- <table border=1>
- <tr>
- <td>
- <a href="images/Screenshot-B2.png"><img src="images/Screenshot-B2-thumb.png"></a>
- </td>
- </tr>
- <tr>
- Mono Documentation Browser rendering a method description.
- </tr>
- </table>
- <table>
- <tr>
- <td>
- <a href="images/Screenshot-MethodSummary.png"><img src="images/Screenshot-MethodSummary-thumb.png"></a>
- </td>
- </tr>
- <tr>
- Mono Documentation Browser rendering the class method summary
- </tr>
- </table>
-
-** Eclipse running with Mono
-
- Zoltan Varga made the Java VM for .NET <a
- href="http://www.ikvm.net">IKVM</a> run <a
- href="http://www.eclipse.org">Eclipse</a>, the IBM Open Source IDE.
-
- <a href="images/ikvm-screenshot.png"><img src="images/ikvm-screenshot-thumb.png"></a>
-
-** Mono Basic
-
- The Mono Basic compiler ships with the Mono distribution.
-
- <table border=1>
- <tr>
- <td>
- <a href="images/gtk-vb.png"><img src="images/gtk-vb-thumb.png"></a>
- </td>
- </tr>
- <tr>
- Mono Basic running a sample Gtk# application.
- </tr>
- </table>
-
-** Platano Media Player
-
- Alp's <a href="http://www.atoker.com/platano/">Platano</a>
- Media Player is written with Gtk# (with GStreamer support):
-
- <table border=1>
- <tr>
- <td>
- <img src="images/platano_s.png"></a>
- </td>
- </tr>
- <tr>
- Platano startup.
- </tr>
- </table>
- <table>
- <tr>
- <td>
- <img src="images/platano-playing_s.png">
- </td>
- </tr>
- <tr>
- Platano playing the <a
- href="http://developer.ximian.com/projects/third_party/codemonkey/index.html">Code
- Monkey At Work</a> video.
- </tr>
- </table>
-
-** GSIRC
-
- Alp's <a href="http://www.atoker.com/gsirc/">GSIRC</a>
- Gtk-Sharp IRC written with Gtk#
-
- <table border=1>
- <tr>
- <td>
- <a href="http://go-mono.com/images/gsirc-0.2a_overview.jpg"><img src="images/gsirc-0.2a_overview-thumb.jpg"></a>
- </td>
- </tr>
- <tr>
- GSIRC is shown with the preferences dialog and chatting on some channels (rooms).
- </tr>
- </table>
-
-** SQL# For GTK#
-
- Daniel Morgan's SQL query tool that runs on Mono on Linux and Windows. It is
- written in C# and allows you to connect to various Mono ADO.NET providers and
- enter SQL commands.
-
- <table border=1>
- <tr>
- <td>
- <img src="http://go-mono.com/images/sqlsharp.png">
- </td>
- </tr>
- <tr>
- SQL# For GTK# is shown retrieving data from a Microsoft SQL Server 2000 database.
- </tr>
- </table>
-
-** Type Reflector
-
- Type Reflector is a tool included in Mono to inspect your assemblies.
-
- <table border=1>
- <tr>
- <td>
- <img src="images/type-reflector.png">
- </td>
- </tr>
- </table>
-
-** Object Browser
-
- Radek Doulik's Object Browser (in Mono CVS) is a useful tool
- to inspect existing assemblies and their source code:
-
- <table border=1>
- <tr>
- <td>
- <img src="images/Screenshot-ObjectBrowserDemo.png">
- </td>
- </tr>
- </table>
-
-** Windows.Forms
-
- Windows.Forms running with Wine on Linux:
-
- <table border=1>
- <tr>
- <td>
- <a href="http://go-mono.com/images/monomdi.jpg"><img src="http://go-mono.com/images/monomdi-thumb.jpg"></a>
- </td>
- </tr>
- </table>
-
- <table border=1>
- <tr>
- <td>
- <a href="http://go-mono.com/images/WINESWF.JPG"><img src="http://go-mono.com/images/WINESWF-thumb.JPG"></a>
- </td>
- </tr>
- </table>
-
-** Mono running on the iPaq
-
- <table border=1>
- <tr>
- <td>
- <img src="images/familiar-mint-hello.png">
- </td>
- </tr>
- </table>
-
-
-** Mono Certificate Viewer
-
- <table border=1>
- <tr>
- <td>
- <img src="images/swf-certview.png">
- </td>
- </tr>
- <tr>
- <td>
- running on Windows using SWF
- </td>
- </tr>
- <tr>
- <td>
- <img src="images/gtk-certview.png">
- </td>
- </tr>
- <tr>
- <td>
- running on Linux (RH9) using GTK#
- </td>
- </tr>
- </table>
-
-** SkyNET
-
- SkyNET is written in C# and uses GTK# for displaying a star chart.
-
- <table border=1>
- <tr>
- <td>
- <img src="http://go-mono.com/images/skynet.png">
- </td>
- </tr>
- </table>
diff --git a/doc/sqlclient b/doc/sqlclient
deleted file mode 100755
index c5eb1f9cc40..00000000000
--- a/doc/sqlclient
+++ /dev/null
@@ -1,222 +0,0 @@
-* Microsoft SQL Server Provider
-
-<ul>
- <li>ADO.NET Provider for Microsoft SQL Server 7/2000 databases</li>
-
- <li>Exists in namespace System.Data.SqlClient and assembly System.Data</li>
-
- <li>Created by Tim Coleman</li>
-
- <li>Used the <a href="http://www.freetds.org/">FreeTDS</a> and
- <a href="http://jtds.sourceforge.net/">jTDS</a> projects as resources.</li>
-
- <li>Implemented in 100% C#</li>
-
- <li>Is similar to the Mono.Data.TdsClient and Mono.Data.SybaseClient providers.</li>
-
- <li>Requires the assembly Mono.Data.Tds.dll which implements the TDS protocol in 100% C#.</li>
-
- <li>Uses TDS Protocol Version 7.0</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-
-** Current Status
-
-
-<ul>
- <li>Thanks to Sebastien Pouliot, we now have NT Authentication (Integrated Security) support. This support was
- added after the release of Mono 0.29. So, you either get it from cvs or wait for the Mono 0.30 release.</li>
-
- <li>Able to connect to Microsoft SQL Server 7/2000 databases via SQL Server authentication and NT Authentication.</li>
-
- <li>Connection pooling works.</li>
-
- <li>Stored Procedures work.</li>
-
- <li>Parameters work.</li>
-
- <li>Prepare works.</li>
-
- <li>SQL commands can be executed
- via ExecuteNonQuery() of a SqlCommand.</li>
-
- <li>SQL aggregates can be executed and a single row and single column
- result can be retrieved via ExecuteScalar() of a SqlCommand</li>
-
- <li>SQL queries can be executed via ExecuteReader() and results
- can be retrieved via SqlDataReader.</li>
-
- <li>a DataTable with schema info about a result can be gotten via GetSchemaTable()
- in a SqlDataReader</li>
-
- <li>XML can be read via ExecuteXmlReader in a SqlCommand.</li>
-
- <li>Data can be filled in a DataTable in a DataSet via a SqlDataAdapter</li>
-
- <li>Uses TDS Protocol Version 7.0</li>
-
- <li>Works in the SQL# command-line and GTK# GUI version</li>
-</ul>
-
-** Action plan
-
-<ul>
- <li>Connection timeouts is being developed now</li>
-
- <li>Needs more testing</li>
-
- <li>Start work on TDS Protocol Version 8.0 support</li>
-
- <li>Add support for .NET 1.2 and 2.0 and Microsoft SQL Server (Yukon) support</li>
-
-</ul>
-
-** Testing
-
-<ul>
- <li>Have a working mono and mcs installed</li>
-
- <li>Have access to a Microsoft SQL Server database
- or either download it:
- <ul>
- <li><a href="http://www.microsoft.com/sql/default.asp">Microsoft SQL Server</a></li>
- </ul>
- </li>
-
- <li><b>IMPORTANT:</b> If using Microsoft SQL Server 2000, make sure
- you are using at least Service Pack 3 for Microsoft SQL Server 2000. If using
- MSDE 2000, make sure you have the special Service Pack 3 for MSDE 2000. You
- can get it from <a href="http://www.microsoft.com/sql/downloads/2000/sp3.asp">here</a></li>
-
- <li>For those that only have MSDE installed. You can change the authentication mode
- from Windows Only Authentication to SQL Server and Windows Authentications (also knows as Mixed-mode authentication)
- via the <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q322336&sd=tech#4">registry</a></li>. It is
- the LoginMode you need to change. By default,
- MSDE is installed with Windows Only Authentication. For SqlClient to work with MSDE, you will
- need to change the setting.</a>
-
- <li>If using MSDE, you might need to create a new user with password. Give
- this user access to various databases in this MSDE instance. Also, for each
- database, give this new user at least SELECT access to the various tables you want
- to retrieve data from.</li>
-
- <li>If you have Enterprise Manager, you can easily change the authentication mode
- for both MSDE and Microsoft SQL Server. To change the authentication mode in
- Enterprise Mananger, select the instance, right-click on it, and select properites.
- The SQL Server properties dialog for that instance will pop up. Choose the Security
- tab. Change the authentication from Windows Only to SQL Server and Windows. If
- the instance of your database does not show up in Enterprise Manager, Register first
- by selecting the Action menu and choosing New SQL Server Registration.</li>
-
- <li>Located at mcs/class/System.Data/Test is a test for System.Data.SqlClient
- named SqlTest.cs and you could use this as a basis for your test.</li>
-
- <li>Mono's SqlClient does not support trusted connections
- nor integrated security. You can not use this when connecting. You need
- to explicitly use a User ID and Password
- authenticated by SQL Server.</li>
-
- <li>Has a connection string format for SQL Server Authentication:
-<pre>
- Server=hostname;Database=databaseName;User ID=userid;Password=password
-</pre>
- </li>
- <li>Has a connection string format for NT Authentication:
-<pre>
- Server=hostname;Database=databaseName;User ID=windowsUserid;Password=windowsPassword;Integrated Security=SSPI
-</pre>
- </li>
-
- <li>The Server part can be used three ways:
-
- <table border=1>
- <tr>
- <td><b>Server Definition</b></td> <td><b>Example</b></td>
- </tr>
-
- <tr>
- <td>hostname</td> <td>Server=MYHOST</td>
- </tr>
-
- <tr>
- <td>hostname,port</td> <td>Server=MYHOST,1433</td>
- </tr>
-
- <tr>
- <td>hostname\\instance</td> <td>Server=MYHOST\\NETSDK</td>
- </tr>
- </table>
- </li>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using System.Data.SqlClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=pubs;" +
- "User ID=myuserid;" +
- "Password=mypassword;";
- IDbConnection dbcon;
- dbcon = new SqlConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- string sql =
- "SELECT fname, lname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["fname"];
- string LastName = (string) reader["lname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs -r System.Data.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
diff --git a/doc/sqlite b/doc/sqlite
deleted file mode 100755
index 89dace1c929..00000000000
--- a/doc/sqlite
+++ /dev/null
@@ -1,143 +0,0 @@
-* SQL Lite Data Provider
-
-<ul>
- <li>ADO.NET Data Provider for
- the <a href"http://www.hwaci.com/sw/sqlite/">SQL Lite</a> which
- is an embeddable SQL database engine</li>
-
- <li>From the SQL Lite web page: SQLite is a C library that
- implements an embeddable SQL database engine. Programs that link with
- the SQLite library can have SQL database access without
- running a separate RDBMS process. The distribution
- comes with a standalone command-line access program (sqlite) that
- can be used to administer an SQLite database and which serves
- as an example of how to use the SQLite library. SQLite is not a client library
- used to connect to a big database server. SQLite is the server. The SQLite
- library reads and writes directly to and from the database files on disk.</li>
-
- <li>SQL Lite can be downloaded
- from <a href"http://www.hwaci.com/sw/sqlite/download.html">here</a>.
- binaries exist for Linux and Windows. sqlite.dll on Windows
- and sqlite.so on Linux. The source code is available too.</li>
-
- <li>Exists in namespace and assembly Mono.Data.SqliteClient</li>
-
- <li>Created by Vladimir Vukicevic so he could have a database of
- thumbnail images for mPhoto. mPhoto is GUI application
- for cataloging images. mPhoto runs on Mono
- and uses <a href="http://www.go-mono.com/gtk-sharp.html">GTK#</a> for its GUI.</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>Able to connect, execute commands, and retrieve data...</li>
-
- <li>Works in mPhoto by providing access to a SQL Lite database to store images.</li>
-</ul>
-
-** Action Plan
-
-<ul>
- <li>Create a DataAdapter for SQL Lite named SqliteDataAdapter that can be used to
- Fill a DataTable in a DataSet</li>
-
- <li>Get the method GetSchemaTable() in class SqliteDataReader to return a DataTable
- that works</li>
-</ul>
-
-** Testing
-
-<ul>
- <li>Have a working mcs and mono</li>
-
- <li>Make sure Mono.Data.SqliteClient.dll was built and is installed
- in the same place as the mono class libraries.</li>
-
- <li>If you do not have <a href"http://www.hwaci.com/sw/sqlite/download.html">SQL Lite</a>,
- download it. There are binaries for Windows and Linux.</li>
-
- <li>There is a test named SqliteTest.cs found at mcs/class/Mono.Data.SqliteTest/Test</li>
-
- <li>Has a connection string format of "URI=file:some/path". For example,
- the connection string "URI=file:SqliteTest.db" will use the database file
- named SqliteTest.db, if it does not exist, the file will be created.</li>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.SqliteClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString = "URI=file:SqliteTest.db";
- IDbConnection dbcon;
- dbcon = new SqliteConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- // requires a table to be created named employee
- // with columns firstname and lastname
- // such as,
- // CREATE TABLE employee (
- // firstname varchar(32),
- // lastname varchar(32));
- string sql =
- "SELECT firstname, lastname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader[0];
- string LastName = (string) reader[1];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Mono.Data.SqliteClient.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll \
- -r Mono.Data.SqliteClient.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
diff --git a/doc/status b/doc/status
deleted file mode 100644
index 64948ba312f..00000000000
--- a/doc/status
+++ /dev/null
@@ -1,40 +0,0 @@
-* Project Status
-
-
- Pieces of Mono that have been implemented:
-
- <ul>
- * C# compiler: The C# compiler is mostly complete, a
- few features are still missing (for a list, check the
- <a href="c-sharp.html">C# compiler</a> web page.
-
- * The Mono JIT engine (<b>mono</b>. The JIT engine is
- the real
- virtual machine that we support. It is
- currently functional, and we are improving its speed,
- and making it feature complete.
-
- * A CIL bytecode interpreter (<b>mint</b>). This
- currently can be used to run most .NET programs
- (modulo the fact that our class libraries are not
- complete enough).
-
- <b>mint</b> can currently run the Mono C# compiler and
- the compiler generates valid code.
-
- We use <b>mint</b> as a reference implementation of
- the runtime environment and to quickly support
- non-Intel platforms.
-
- * Metadata library: Can currently parse
- and load information from .NET modules (executables
- and DLL files).
-
- * Disassembler: Can disassemble .NET modules. Still
- lacking exception handling as well as useful debugging
- tools (hex dumping, token dumping).
-
- * Class Libraries: You can check the current status in the
- <a href="class-status.html">Class Status page</a>.
- </ul>
-
diff --git a/doc/sybase b/doc/sybase
deleted file mode 100755
index 85deca1a67c..00000000000
--- a/doc/sybase
+++ /dev/null
@@ -1,153 +0,0 @@
-* Sybase Data Provider
-
-<ul>
- <li>ADO.NET Provider for Sybase SQL Server databases</li>
-
- <li>Exists in namespace Mono.Data.SybaseClient and assembly Mono.Data.SybaseClient</li>
-
- <li>Created by Tim Coleman</li>
-
- <li>Used the <a href="http://www.freetds.org/">FreeTDS</a> and
- <a href="http://jtds.sourceforge.net/">jTDS</a> projects as resources.</li>
-
- <li>Implemented in 100% C#</li>
-
- <li>Is similar to the Mono.Data.TdsClient and System.Data.SqlClient providers.</li>
-
- <li>Requires the assembly Mono.Data.Tds.dll which implements the TDS protocol in 100% C#.</li>
-
- <li>Uses TDS Protocol Version 5.0</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-
-</ul>
-
-** Current Status
-
-<ul>
- <li>Able to connect to Sybase databases</li>
-
- <li>SQL commands can be executed
- via ExecuteNonQuery() of a SybaseCommand.</li>
-
- <li>SQL aggregates can be executed and a single row and single column
- result can be retrieved via ExecuteScalar() of a SybaseCommand</li>
-
- <li>SQL queries can be executed via ExecuteReader() and results
- can be retrieved via SybaseDataReader.</li>
-
- <li>a DataTable with schema info about a result can be gotten via GetSchemaTable()
- in a SybaseDataReader</li>
-
- <li>Data can be filled in a DataTable in a DataSet via a SybaseDataAdapter</li>
-</ul>
-
-** Action plan
-
-<ul>
- <li>Connection timeouts is being developed now.
-
- <li>Needs more testing...
-
-</ul>
-
-** Testing
-
-<ul>
- <li>Have a working mono and mcs installed</li>
-
- <li>Have access to a Sybase database
- or either download it:
- <ul>
- <li><a href="http://www.sybase.com/downloads">Sybase</a></li>
- </ul>
- </li>
-
- <li>Located at mcs/class/System.Data/Test is a test for System.Data.SqlClient
- named SqlTest.cs and you could use this as a basis for your test.</li>
-
- <li>Has a connection string format:
-<pre>
- Server=hostname;Database=databaseName;User ID=userid;Password=password
-</pre>
- </li>
- <li>The Server part can be used two ways:
- <ul>
- <li>hostname - "Server=MYHOST"</li>
- <li>hostname,port - "Server=MYHOST,1533"</li>
- </ul>
- </li>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.SybaseClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=pubs;" +
- "User ID=myuserid;" +
- "Password=mypassword;";
- IDbConnection dbcon;
- dbcon = new SybaseConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- string sql =
- "SELECT fname, lname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["fname"];
- string LastName = (string) reader["lname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Mono.Data.SybaseClient.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Mono.Data.SybaseClient.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-
-</ul>
-
diff --git a/doc/tds-providers b/doc/tds-providers
deleted file mode 100644
index 6442e69601a..00000000000
--- a/doc/tds-providers
+++ /dev/null
@@ -1,164 +0,0 @@
-* Design of the Microsoft SQL Server, Sybase, and TDS Data Providers in Mono
-
- <ul>
- * After much discussion among the Mono ADO.NET developers,
- we have come up with the design of implementing a Sybase, Microsoft
- SQL Server, and TDS Generic ADO.NET providers. These providers have
- been created and are actively developed by Tim Coleman.
-
- * Since Sybase and Microsoft SQL Server databases both
- use the TDS protocol for data access, and other implementations
- of TDS (FreeTDS and jTDS) have included support for multiple
- versions of the TDS, we have decided to do the same.
-
- * The TdsClient ADO.NET provider will be Mono's first provider
- written completely in C# without any dependencies except
- the usual suspects: corlib.dll, System.dll, and System.Xml.dll.
- </ul>
-
-* New ADO.NET Providers
-
-<p>There will be three ADO.NET providers that will use TDS.
-
- <ol>
- <li><p>Mono.Data.SybaseClient namepace and assembly will
- hold the ADO.NET provider for Sybase SQL Server database.
- This provider uses TDS version 5.0 which
- can only be used with Sybase databases.
-
- <li><p>System.Data.SqlClient namespace and System.Data assembly
- will hold the ADO.NET provider
- for Microsoft SQL Server 7.0/2000 databases. This provider is to be
- compatible with SqlClient in Microsoft .NET and uses TDS version 7.0
- which only supports Microsoft SQL Server 7.0/2000.
- There is TDS version 8.0
- which we will need to support as well, but it is used for
- Microsoft SQL Server 2000 databases.
-
- <li><p>Mono.Data.TdsClient namespace and assembly is a generic
- provider for older TDS databases. This provider will default to
- using TDS version 4.2 which can be used by older Sybase and
- Microsoft SQL Server databases.
- </ol>
-
-* Building The New Providers
-
- <p> All three providers will use common internal code
- at Mono.Data.TdsClient.Internal. Any classes in
- Mono.Data.TdsClient.Internal will have the internal
- keyword and will be built with the assembly of that provider.
- <ol>
- <li><p>SqlClient will build its assembly System.Data using files
- from System.Data, System.Data.SqlClient, System.Data.SqlTypes,
- System.Data.Common, and Mono.Data.TdsClient.Internal.
-
- <p>SqlClient
- will only reference the usual
- suspects: corlib.dll, System.dll, and System.Xml.dll. SqlClient will be
- a wrapper around TdsClient.Internal, but provide specific functionality to
- Microsoft SQL Server 7.0/2000 databases.
-
- <p>SqlClient build example:
-
-<pre>
- mcs -target:library -out:System.Data.dll \
- System.Data.SqlClient/*.cs \
- ..\Mono.Data.TdsClient\Mono.Data.TdsClient.Internal\*.cs \
- [any other classes in System.Data assembly...] \
- -r corlib.dll -r System.dll -r System.Xml.dll
-</pre>
-
- <li><p>SybaseClient will build its assembly Mono.Data.SybaseClient using
- files from Mono.Data.SybaseClient and Mono.Data.TdsClient.Internal.
- SybaseClient will reference
- the usual suspects plus System.Data.dll SybaseClient will
- be a wrapper around TdsClient.Internal, but provide specific
- functionality to Sybase.
-
- <p>SybaseClient build example:
-
-<pre>
- mcs -target:library -out:Mono.Data.SybaseClient.dll \
- Mono.Data.SybaseClient\*.cs \
- ..\Mono.Data.TdsClient\Mono.Data.TdsClient.Internal\*.cs
- -r corlib.dll -r System.dll -r System.Xml.dll -r System.Data.dll
-</pre>
-
- <li><p>TdsClient will build its assembly Mono.Data.TdsClient
- using files from Mono.Data.TdsClient
- and Mono.Data.TdsClient.Internal. TdsClient will reference the
- usual suspects plus System.Data.dll TdsClient is a wrapper
- provider around TdsClient.Internal used for generic
- unit tests. TdsClient will a wrapper around TdsClient.Internal
- as a generic TDS provider
- and allow TDS configuration options not exposed in SqlClient
- nor SybaseClient, such as, TdsVersion will be exposed in TdsClient
- but not in SqlClient nor SybaseClient.
-
- <p>TdsClient build example:
-
-<pre>
-mcs -target:library -out:Mono.Data.TdsClient.dll \
- Mono.Data.TdsClient\*.cs \
- Mono.Data.TdsClient.Internal\*.cs \
- -r corlib.dll -r System.dll -r System.Xml.dll -r System.Data.dll
-</pre>
- </ol>
-
-* Classes in Mono.Data.TdsClient.Internal will:
-
- <ul>
- <li>use the internal keyword to prevent exposing these classes
- to the System.Data.dll assembly.
-
- <li> implement the ADO.NET interfaces just like any other ADO.NET provider, such as,
- IDbConnection, IDbCommand, IDataReader, IDataRecord, IDataAdapter, etc...
-
- <li> be sealed just like other providers
-
- <li> provide features to be directly used by the SqlClient and SybaseClient
- providers, such
- as, setting the default TDS version: SqlClient to 7.0 and SybaseClient
- to 5.0 and TdsClient to 4.2.
-
- <li> be written completely in C# or IL assembly language (if need be).
-
- <li> implement the TDS protocol version 4.2, 5.0, 7.0, and 8.0. This
- is where most of the
- work will take place.
-
- <li> be an internal ADO.NET provider to the public ADO.NET providers:
- System.Data.SqlClient, Mono.Data.SybaseClient, and Mono.Data.TdsClient.
- </ul>
-
-* Implementation Details of the TDS Protocol
-
- <ul>
- * will be implemented in pure C# from scratch
-
- * will reside in Mono.Data.TdsClient.Internal
-
- * will use FreeTDS and jTDS as rerferences.
- </ul>
-
-* More Information
-
- <ul>
- * <a href="http://www.freetds.org/">FreeTDS</a> is C API that implements
- the TDS protocol. Has libraries for tds, ctlib, and dblib. It builds
- and runs on Windows, Linux, and other platforms. FreeTDS provides
- data access to Microsoft SQL Server and Sybase databases.
-
- * <a href="http://jtds.sf.net/">jTDS</a> is a 100% Java JDBC provider
- for Microsoft SQL Server and Sybase databases.
-
- * <a href="http://www.freetds.org/tds.html">TDS Protocol</a>
- </ul>
-
-* Contribute
-
- <p>Anybody willing to help? If so,
- contact any of the people working on the ADO.NET support
- in Mono: Rodrigo Moya, Tim Coleman, Daniel Morgan, Brian Ritchie,
- Vladimir Vukicevic, Ville Palo, Franklin Wise, and others.
-
diff --git a/doc/tdsclient b/doc/tdsclient
deleted file mode 100755
index 2c58aea698f..00000000000
--- a/doc/tdsclient
+++ /dev/null
@@ -1,157 +0,0 @@
-* TDS Generic Provider
-
-<ul>
- <li>ADO.NET Provider for older Sybase and Microsoft SQL Server databases</li>
-
- <li>Exists in namespace Mono.Data.TdsClient and assembly Mono.Data.TdsClient</li>
-
- <li>Created by Tim Coleman</li>
-
- <li>Used the <a href="http://www.freetds.org/">FreeTDS</a> and
- <a href="http://jtds.sourceforge.net/">jTDS</a> projects as resources.</li>
-
- <li>Implemented in 100% C#</li>
-
- <li>Is similar to the Mono.Data.SybaseClient and System.Data.SqlClient providers.</li>
-
- <li>Requires the assembly Mono.Data.Tds.dll which implements the TDS protocol in 100% C#.</li>
-
- <li>Uses TDS Protocol Version 4.2 by default</li>
-
- <li>Bugs with Mono or the data provider should be reported
- in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
- do not have Bugzilla user account, it is free
- and easy to
- create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
-
-</ul>
-
-** Current Status
-
-
-<ul>
- <li>Only builds on Windows currently due to mcs does not support modules and mcs
- has problems with code that is internal.</li>
-
- <li>Able to connect to Microsoft SQL Server and Sybase databases</li>
-
- <li>SQL commands can be executed
- via ExecuteNonQuery() of a TdsCommand.</li>
-
- <li>SQL aggregates can be executed and a single row and single column
- result can be retrieved via ExecuteScalar() of a TdsCommand</li>
-
- <li>SQL queries can be executed via ExecuteReader() and results
- can be retrieved via TdsDataReader.</li>
-
- <li>a DataTable with schema info about a result can be gotten via GetSchemaTable()
- in a TdsDataReader</li>
-
- <li>Data can be filled in a DataTable in a DataSet via a TdsDataAdapter</li>
-</ul>
-
-** Action plan
-
-<ul>
- <li>Connection timeouts is being developed now.</li>
-
- <li>TODO</li>
-</ul>
-
-** Testing
-
-<ul>
- <li>Have a working mono and mcs installed</li>
-
- <li>Have access to a Sybase or Microsoft SQL Server database
- or either download it:
- <ul>
- <li><a href="http://www.microsoft.com/sql/default.asp">Microsoft SQL Server</a></li>
- <li><a href="http://www.sybase.com/downloads">Sybase</a></li>
- </ul>
- </li>
- <li>If using Microsoft SQL Server 2000, make sure
- you are using at least Service Pack 3 for Microsoft SQL Server 2000</li>
-
- <li>Located at mcs/class/System.Data/Test is a test for System.Data.SqlClient
- named SqlTest.cs and you could use this as a basis for your test.</li>
-
- <li>Has a connection string format:
-<pre>
- Server=hostname;Database=databaseName;User ID=userid;Password=password
-</pre>
- </li>
- <li>The Server part can be used two ways:
- <ul>
- <li>hostname - "Server=MYHOST"</li>
- <li>hostname,port - "Server=MYHOST,1533"</li>
- </ul>
- </li>
-
- <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.TdsClient;
-
- public class Test
- {
- public static void Main(string[] args)
- {
- string connectionString =
- "Server=localhost;" +
- "Database=pubs;" +
- "User ID=myuserid;" +
- "Password=mypassword;";
- IDbConnection dbcon;
- dbcon = new TdsConnection(connectionString);
- dbcon.Open();
- IDbCommand dbcmd = dbcon.CreateCommand();
- string sql =
- "SELECT fname, lname " +
- "FROM employee";
- dbcmd.CommandText = sql;
- IDataReader reader = dbcmd.ExecuteReader();
- while(reader.Read()) {
- string FirstName = (string) reader["fname"];
- string LastName = (string) reader["lname"];
- Console.WriteLine("Name: " +
- FirstName + " " + LastName);
- }
- // clean up
- reader.Close();
- reader = null;
- dbcmd.Dispose();
- dbcmd = null;
- dbcon.Close();
- dbcon = null;
- }
- }
-</pre>
- </li>
- <li>Building C# Example:
- <ul>
- <li>Save the example to a file, such as, TestExample.cs</li>
- <li>Build on Linux:
-<pre>
- mcs TestExample.cs -r System.Data.dll \
- -r Mono.Data.TdsClient.dll
-</pre>
- </li>
- <li>Build on Windows via Cygwin:
-<pre>
- mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
- TestExample.cs \
- -lib:C:/cygwin/home/MyHome/mono/install/lib \
- -r System.Data.dll -r Mono.Data.TdsClient.dll
-</pre>
- </li>
- </ul>
- </li>
- <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
- </li>
-</ul>
-
diff --git a/doc/testing b/doc/testing
deleted file mode 100644
index d8504b1f34c..00000000000
--- a/doc/testing
+++ /dev/null
@@ -1,269 +0,0 @@
-* Testing
-
- Testing is an important part of the Mono project: every one of its
- three major components has a test suite tailored for its needs. This
- is very helpful, because in the course of developing the software it
- is very common to introduce bugs in existing code. A test suite
- helps us fix the bugs as soon as they are introduced.
-
- There are various kinds of tests in Mono:
- <ul>
- <li><a href="#unit"><b>Class Library Unit
- Tests:</b></a> These are used to test the class
- libraries.
-
- <li><a href="#compiler"><b>Compiler tests</b></a>: Both
- tests that should pass and tests that should fail are included.
-
- <li><a href="#runtime"><b>Runtime tests</b></a>: Tests for
- the virtual machine.
-
- <li><a href="#aspnet"><b>ASP.NET tests</b></a>: ASP.NET tests.
-
- <li><a href="#ws"><b>Web Services tests</b></a>: Web Services
- client/server tests.
- </ul>
-
-<a name="unit"></a>
-* Class Library Tests
-
- All classes in Mono libraries should have comprehensive unit test
- suites to go with them. Unit testing is a software engineering
- methodology that makes it easier to build correct code. Every
- method in every class should have a set of tests to verify
- that they work correctly. Mono also needs a testing framework
- to make it easy to write and run lots of tests.
-
- In some classes, we might also provide standalone tests because of
- some reasons such as too huge testcases, another downloading and so on.
- (For example, managed XSLT has standalone test which downloads and
- expands some megabytes of OASIS test suite.)
-
- Here I list them up as long as I know. If you are going to add another
- standalone tests, please add one line here. It is also recommended that
- you add some notes on how to build and run tests.
-
- <ul>
-
- * Mono.Data/test/
- * System.Data/Test, and some individual ADO.NET libraries:
- there are some standalone tests. See the bottom of <a href="ado-net.html">
- ADO.NET page</a> for detail.
- * System.Web/Test/TestMonoWeb : see README
- * System.Web.Services/Test/standalone : see README
- * System.Windows.Forms/SWFTest/
- * System.XML/Tests/System.Xml.Schema/standalone_tests : see README
- * System.XML/System.Xml.Serialization/standalone_tests/
- * System.XML/Tests/System.Xml.Xsl/standalone_tests : see README
-
- </ul>
-
-** Getting started
-
- If you are new to writing NUnit tests, there is a template you may use
- to help get started. The file is:
-
- <b>mcs/class/doc/TemplateTest.cs</b>
-
- Save a copy of this file in the appropriate test subdirecty
- (see below), and replace all the {text} markers with
- appropriate code. Comments in the template are there to guide
- you. You should also look at existing tests to see how other
- people have written them.
- mcs/class/corlib/Test/System.Collections/CollectionBaseTest.cs
- is a small one that might help.
-
- The directory that will contain your new file depends on the
- assembly/namespace of the class for which you are creating the
- tests. Under mcs/class there is a directory for each
- assembly. In each assembly there is a Test directory,
- e.g. mcs/class/corlib/Test. In the Test directory there are
- sub-directories for each namespace in the assembly,
- e.g. mcs/class/corlib/Test/Sytem. Put your new test file in
- the appropriate sub-directory under Test for the class you are
- testing.
-
- Once all of that is done, you can do a 'make test' from the top mcs
- directory. Your test class needs also to be listed in the
- .sources file at the top of the Test directory.
-
-* Tips on writing Unit tests.
-
- You should look at the <a href="http://nunit.org">NUnit documentation</a>,
- as it is a fantastic product, and includes fantastic documentation,
- but here are some tips for those of you who are already reading
- this web page.
-
-
-** Provide an unique error message for Assert()
-
- Include an unique message for each Assert() so that when the assert
- fails, it is trivial to locate it in the source. Otherwise, it may be
- difficult to determine which part of the test is failing. A good way
- to ensure unique messages is to use something like #A01, #A02 etc.
-
- Ok:
- <pre>
-
- AssertEquals("array match", compare[0], i1[0]);
- AssertEquals("array match", compare[1], i1[1]);
- AssertEquals("array match", compare[2], i1[2]);
- AssertEquals("array match", compare[3], i1[3]);
- </pre>
-
- Excellent:
- <pre>
- AssertEquals("#A01", compare[0], i1[0]);
- AssertEquals("#A02", compare[1], i1[1]);
- AssertEquals("#A03", compare[2], i1[2]);
- AssertEquals("#A04", compare[3], i1[3]);
- </pre>
-
- Once you used such a number in an Assert(), don't change it later on -
- people might use it it identify the test in bug reports or in mailing
- lists.
-
-** Use AssertEquals() to compare things, not Assert().
-
- Do not compare two values with Assert() - if the test fails,
- people have no idea what went wrong while AssertEquals()
- reports the failed value.
-
- Ok:
- <pre>
- Assert ("A01", myTicks[0] == t1.Ticks);
- </pre>
-
- Excellent:
- <pre>
- AssertEquals ("A01", myTicks[0], t1.Ticks);
- </pre>
-
-** Test your test with the Microsoft runtime
-
- If possible, try to run your testsuite with the Microsoft runtime on
- .NET on Windows and make sure all tests in it pass. This is especially
- important if you're writing a totally new testcase - without this
- check you can never be sure that your testcase contains no bugs ....
-
- Don't worry if you're writing your test on Linux, other people can
- test it for you on Windows.
-
- Sometimes you may discover that a test doesn't show the expected
- result when run with the Microsoft runtime - either because there is a
- bug in their runtime or something is misleading or wrong in their
- documentation. In this case, please put a detailed description of the
- problem to mcs/class/doc/API-notes and do also report it to the
- <a href="mailing-lists.html">mailing list</a> - we'll forward this to the
- Microsoft people from time to time to help them fix their documentation
- and runtime.
-
-** Unit tests.
-
- Why do unit testing? It becomes simple to run automated tests
- for the whole library. Unit tests are a safety net - you can
- change part of the code and verify that you haven't broken
- anything. Ideally, tests are written before the actual library
- code itself. And every time a bug is discovered, a test should
- be written to demonstrate the bug and its fix. Then, if
- you ever reintroduce the bug, you will know immediately. For
- more info, read <a
- href="http://junit.sourceforge.net/doc/testinfected/testing.htm">
- JUnit Test Infected: Programmers Love Writing Tests</a>.
-
-
-** Getting Started
-
- We welcome all contributions to the Class Libary Test Suite.
-
- There is information to help you get started in CVS at
- mcs/class/doc/NUnitGuidelines. Once you have written your test, please
- post it to <a href="mailing-lists.html">mono-list</a>.
-
- Someone will make sure to add the file or apply the patch as
- appropriate. If you plan to be an on-going contributor and
- would like to get cvs account, email <a href="mailto:miguel@ximian.com">miguel</a>.
-
- Normally, after you send a couple of well-written new files
- and/or patches to the list, you will be given cvs access.
-
-<a name="compiler"></a>
-* Compiler tests
-
- Mono ships with three compilers: C#, VB.NET and JScript. The
- tests are ran by running the makefile target `make
- run-test-local' in the appropriate directory.
-
- The C# compilation tests live in mcs/tests, and the C# error
- tests live in mcs/errors.
-
- The VB.NET compilation tests live in mcs/btests.
-
-<a name="runtime"></a>
-* Runtime Tests
-
- These tests verify the virtual machine, to run these tests, do:
-
-<pre>
- cd mono/mono/tests
- make test
-</pre>
-
-<a name="aspnet"></a>
-* ASP.NET tests
-
- XSP, the Mono ASP.NET server has tests for ASP.NET pages. It uses
- <a href="http://nunitasp.sourceforge.net">NUnitAsp</a>. Right now
- it only has standalone tests, ie., tests that do not need their own
- global.asax or web.config files.
-
- If you want to run them, get the xsp CVS module and install it. Then:
-<pre>
- cd xsp/nunit-tests
- make
- cd standalone
- xsp
-</pre>
-
- And from another terminal:
-<pre>
- cd xsp/nunit-tests/standalone
- nunit-console standalone-tests.dll
-</pre>
-
-<a name="ws"></a>
-* Web Services tests
-
- The Test directory for the System.Web.Services assembly contains a
- standalone test suite for testing web services. It tests:
-
- <ul>
- <li>Proxy generation using the wsdl tool</li>
- <li>Access to web services using the generated client proxies</li>
- <li>Execution of web services in the server</li>
- </ul>
-
- This suite not only tests web services running on XSP, but it can also test
- services running on other platforms and that are available in internet. This
- will help track down interoperability issues.
-
- To build the test suite, just run:
-
-<pre>
- cd mcs/class/System.Web.Services/Test/standalone
- xsp --root server
-</pre>
-
- And from another terminal:
-<pre>
- cd mcs/class/System.Web.Services/Test/standalone
- make
- nunit-console testclient.dll
-</pre>
-
- This will download the wsdl documents, generate the proxies, build a dll with
- the proxies, and build the nunit tests. Then you can use nunit-console or
- gnunit to run the tests (the nunit dll is testclient.dll).
-
- Read the README file in mcs/class/System.Web.Services/Test/standalone for
- more info.
diff --git a/doc/thanks b/doc/thanks
deleted file mode 100644
index 5f2df36f9cd..00000000000
--- a/doc/thanks
+++ /dev/null
@@ -1,6 +0,0 @@
-* Thanks
-
- We would like to thank Tim O'Reilly, Brian Jepson and Nathan
- Torkington for their help.
-
- Dave Winer for provided interesting comments and a to read.
diff --git a/doc/todo b/doc/todo
deleted file mode 100644
index 178950afe0d..00000000000
--- a/doc/todo
+++ /dev/null
@@ -1,53 +0,0 @@
-** System.Windows.Forms
-
- Progress on Windows.Forms has been good, but we need more work
- on this area. Currently redrawing of controls is not
- funcional.
-
-** Languages work
-
- Mono has work-in-progress implementations of JScript and the
- VB.NET languages
-
- <ul>
- <li>Write positive tests for those languages.
-
- <li>Write negative tests for those languages.
-
- <li>Mono-devel-list is the mailing list to discuss
- improvements and fixes to those compilers.
- </ul>
-
-** Debugger
-
- <ul>
- <li>The Mono debugger needs some better widgets to
- provide a useful environment, many of those have been
- authored for Anjuta/gIDE, we should wrap those for the
- debugger
-
- <li>Design a small tool-command-language like Tcl to
- build the debugger on top of it.
-
- <li>Design work: a new UI design must be done
- for the debugger and later implemented.
- </ul>
-
-** Research topics
-
- <ul>
- <li>Design and implement a command processor like the
- Unix shell, but which uses .NET objects as commands.
- This shell would be a CLS consumer ideally, and only
- later a CLS producer. This should make it simple for
- people to explore the .NET API interactively.
- </ul>
-
-** IDE development
-
- Mono lacks an IDE, and we depend on third-parties to work on
- these.
-
- <ul>
- Sharp
- </ul> \ No newline at end of file
diff --git a/doc/tools b/doc/tools
deleted file mode 100644
index eabef48bb88..00000000000
--- a/doc/tools
+++ /dev/null
@@ -1,67 +0,0 @@
-* Tools
-
- We need a number of tools to make people productive using a
- Mono-based solution. Some of these tools can be developed on
- Windows before Mono is fully finished.
-
- All of these tools should be written using C#.
-
- For the tools that are typically command line tools: Try to
- write these as components that could load their input from
- streams or collections of streams, and implement the command
- line tools as wrappers around those classes.
-
- For example, we will be making the C# compiler a component
- that could be reused by applications that might have a use for
- the various bits of the compiler (either to embed the
- compiler, or reuse the code generator part of it).
-
- This is important so that these components (compiler,
- assembler, linker, etc) can be integrated later into the
- visual development environment (hopefully with the help of the
- SharpDevelop hackers).
-
-TODO=ilasm,IL Assembler
-** IL Assembler.
-
- This assembler should basically take as input a file
- containing IL bytecodes as specified in the `Partition II' of
- the ECMA spec, and produce a binary file.
-
-TODO=al,Assembly Linker
-** Assembly Linker.
-
- This tool is used to construct assemblies, which are basically
- deployment units for CLI executables.
-
-TODO=debugger,Debugger
-** Debugger
-
- We will need a debugging API to debug CLI applications and
- then a debugger component that can be used in an IDE
- environment.
-
-TODO=ide,Integrated Development Environment
-** Integrated Development Environment
-
- There is already a project to create a C# development
- environment: <a
- href="http://www.icsharpcode.net/OpenSource/SD/default.asp">SharpDevelop</a>.
- People should work with the SharpDevelop hackers to produce a
- unified development environment.
-
- Please work with the SharpDevelop hackers to build a good IDE.
- We will work on creating an embedable compiler component and
- an embeddable debugger component that can be used withing
- SharpDevelop
-
-TODO=hbrowser,Help Browser
-** Help Browser
-
- We need a good help browser that can be used to browse
- documentation. Ideally this help browser can accept as input
- XML Docbook input and an assorted set of file formats
- (Microsoft Help, Unix manual pages, Unix Info pages)
-
- Look at the GNOME DevHelp for a good set of ideas on how to
- implement this. \ No newline at end of file
diff --git a/doc/web/.cvsignore b/doc/web/.cvsignore
deleted file mode 100644
index a023a6f9c7c..00000000000
--- a/doc/web/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.src
-*.html
diff --git a/doc/web/commands b/doc/web/commands
deleted file mode 100644
index e31dbb1e5c2..00000000000
--- a/doc/web/commands
+++ /dev/null
@@ -1,78 +0,0 @@
-0,Home,index.html,index.src
-1,Roadmap,mono-roadmap.html
-1,FAQ,faq.html,faq.src
-1,Screenshots,screenshots.html,screenshots.src
-1,Team,team.html,team.src
-1,Other sites,other.html,other.src
-1,Old News,oldnews.html,oldnews.src
-1,Bug Reporting,bugs.html,bugs.src
-0,Mono,rationale.html,rationale.src
-1,Runtime,runtime.html,runtime.src
-2,Embedding,embedded-api.html,embedded-api.src
-1,Classes,class-library.html,class-library.src
-1,Gtk#,gtk-sharp.html,gtk-sharp.src
-1,ASP.NET,asp-net.html,asp-net.src
-1,ADO.NET,ado-net.html,ado-net.src
-1,C# Compiler,c-sharp.html,c-sharp.src
-1,VB Compiler,mbas.html,mbas.src
-0,Download,download.html,download.src
-1,CVS access,ccvs.html,ccvs.src
-1,AnonCVS access,anoncvs.html,anoncvs.src
-1,Forge,forge.html,forge.src
-1,Compiling,compiling.html,compiling.src
-0,Contributing,contributing.html,contributing.src
-1,Hackers,hackers.html,hackers.src
-1,Documentation,documentation.html,documentation.src
-1,Class Docs,classlib-doc.html,classlib-doc.src
-1,Test Suite,testing.html,testing.src
-1,Mono TODO,mono-todo.html,mono-todo.src
-1,Tools,tools.html,tools.src
-1,Porting,porting.html,porting.src
-2,PowerPC,ppc.html,ppc.src
-1,HOWTO,mono-contribution-howto.html,mono-contribution-howto.src
-0,Resources,resources.html,resources.src
-1,Beginning,mono-beginning.html,mono-beginning.src
-1,Mailing Lists,mailing-lists.html,mailing-lists.src
-1,Blogs,http://www.go-mono.com/monologue/
-1,Ideas,ideas.html,ideas.src
-1,Passport,passport.html,passport.src
-1,Books,books.html,books.src
-1,Papers,papers.html,papers.src
-1,Languages,languages.html,languages.src
-1,Debugging,jit-debug.html,jit-debug.src
-1,Performance,performance.html,performance.src
-0,Plans,plans.html,plans.src
-1,Drawing,drawing.html,drawing.src
-1,ADO.NET,ado-net.html,ado-net.src
-2,ProviderFactory,provider-factory.html,provider-factory.src
-2,Firebird Interbase,firebird.html,firebird.src
-2,IBM DB2,ibmdb2.html,ibmdb2.src
-2,Microsft SQL Server,sqlclient.html,sqlclient.src
-2,MySQL,mysql.html,mysql.src
-2,ODBC,odbc.html,odbc.src
-2,OLE DB,oledb.html,oledb.src
-2,Oracle,oracle.html,oracle.src
-2,PostgreSQL,postgresql.html,postgresql.src
-2,SQL Lite,sqlite.html,sqlite.src
-2,Sybase,sybase.html,sybase.src
-2,TDS Generic,tdsclient.html,tdsclient.src
-2,TDS Providers,tds-providers.html,tds-providers.src
-1,Crypto,crypto.html,crypto.src
-1,Java,java.html,java.src
-1,Windows.Forms,winforms.html,winforms.src
-1,XML Classes,xml-classes.html,xml-classes.src
-0,Class Status,class-status.html,class-status.src,cm/cormissing.css,cm/cormissing.js
-1,corlib,class-status-corlib.html,class-status-corlib.src,cm/cormissing.css,cm/cormissing.js
-1,System,class-status-System.html,class-status-System.src,cm/cormissing.css,cm/cormissing.js
-1,Xml,class-status-System.Xml.html,class-status-System.Xml.src,cm/cormissing.css,cm/cormissing.js
-1,Data,class-status-System.Data.html,class-status-System.Data.src,cm/cormissing.css,cm/cormissing.js
-1,Drawing,class-status-System.Drawing.html,class-status-System.Drawing.src,cm/cormissing.css,cm/cormissing.js
-1,Web,class-status-System.Web.html,class-status-System.Web.src,cm/cormissing.css,cm/cormissing.js
-1,Web.Services,class-status-System.Web.Services.html,class-status-System.Web.Services.src,cm/cormissing.css,cm/cormissing.js
-1,Microsoft.VisualBasic,class-status-Microsoft.VisualBasic.html,class-status-Microsoft.VisualBasic.src,cm/cormissing.css,cm/cormissing.js
-1,Windows.Forms,class-status-System.Windows.Forms.html,class-status-System.Windows.Forms.src,cm/cormissing.css,cm/cormissing.js
-1,DirectoryServices,class-status-System.DirectoryServices.html,class-status-System.DirectoryServices.src,cm/cormissing.css,cm/cormissing.js
-1,Formatters.Soap,class-status-System.Runtime.Serialization.Formatters.Soap.html,class-status-System.Runtime.Serialization.Formatters.Soap.src,cm/cormissing.css,cm/cormissing.js
-1,Cscompmgd,class-status-Cscompmgd.html,class-status-Cscompmgd.src,cm/cormissing.css,cm/cormissing.js
-1,System.Security,class-status-System.Security.html,class-status-System.Security.src,cm/cormissing.css,cm/cormissing.js
-0,Contact,contact.html,contact.src
diff --git a/doc/web/deploy/.cvsignore b/doc/web/deploy/.cvsignore
deleted file mode 100755
index 2d19fc766d9..00000000000
--- a/doc/web/deploy/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/doc/web/deploy/cm/c.gif b/doc/web/deploy/cm/c.gif
deleted file mode 100644
index 02c347efd0b..00000000000
--- a/doc/web/deploy/cm/c.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/cormissing.css b/doc/web/deploy/cm/cormissing.css
deleted file mode 100644
index 1f22da54273..00000000000
--- a/doc/web/deploy/cm/cormissing.css
+++ /dev/null
@@ -1,182 +0,0 @@
-.y IMG
-{
- border: 0px;
- padding: 0px;
- margin: 0px;
- margin-right: 4px;
- vertical-align: middle;
-}
-
-.y, .y_,
-.n, .n_,
-.c, .c_,
-.c, .c_,
-.d, .d_,
-.en, .en_,
-.i, .i_,
-.s, .s_,
-.e, .e_,
-.f, .f_,
-.m, .m_,
-.o, .o_,
-.p, .p_,
-.r, .r_,
-.x, .x_
-{
- FONT: 10px 'Verdana';
- margin-left: 20px;
-}
-
-.y_ .n,
-.y_ .n_,
-.n_ .c,
-.n_ .c_,
-.n_ .s,
-.n_ .s_,
-.n_ .d,
-.n_ .d_,
-.n_ .en,
-.n_ .en_,
-.n_ .i,
-.n_ .i_,
-.c_ .c,
-.c_ .c_,
-.c_ .e,
-.c_ .e_,
-.c_ .f,
-.c_ .f_,
-.c_ .m,
-.c_ .m_,
-.c_ .o,
-.c_ .o_,
-.c_ .p,
-.c_ .p_,
-.c_ .r,
-.c_ .r_,
-.c_ .x,
-.c_ .x_,
-.c_ .i,
-.c_ .i_,
-.d_ .c,
-.d_ .c_,
-.d_ .e,
-.d_ .e_,
-.d_ .f,
-.d_ .f_,
-.d_ .m,
-.d_ .m_,
-.d_ .o,
-.d_ .o_,
-.d_ .p,
-.d_ .p_,
-.d_ .r,
-.d_ .r_,
-.d_ .x,
-.d_ .x_,
-.en_ .c,
-.en_ .c_,
-.en_ .e,
-.en_ .e_,
-.en_ .f,
-.en_ .f_,
-.en_ .m,
-.en_ .m_,
-.en_ .o,
-.en_ .o_,
-.en_ .p,
-.en_ .p_,
-.en_ .r,
-.en_ .r_,
-.en_ .x,
-.en_ .x_,
-.i_ .c,
-.i_ .c_,
-.i_ .e,
-.i_ .e_,
-.i_ .f,
-.i_ .f_,
-.i_ .m,
-.i_ .m_,
-.i_ .o,
-.i_ .o_,
-.i_ .p,
-.i_ .p_,
-.i_ .r,
-.i_ .r_,
-.i_ .x,
-.i_ .x_,
-.i_ .i,
-.i_ .i_,
-.s_ .c,
-.s_ .c_,
-.s_ .e,
-.s_ .e_,
-.s_ .f,
-.s_ .f_,
-.s_ .m,
-.s_ .m_,
-.s_ .o,
-.s_ .o_,
-.s_ .p,
-.s_ .p_,
-.s_ .r,
-.s_ .r_,
-.s_ .x,
-.s_ .x_,
-.s_ .i,
-.s_ .i_,
-
-.e_ .r,
-.e_ .r_,
-.e_ .o,
-.e_ .o_,
-.f_ .r,
-.f_ .r_,
-.f_ .o,
-.f_ .o_,
-.m_ .r,
-.m_ .r_,
-.m_ .o,
-.m_ .o_,
-.o_ .r,
-.o_ .r_,
-.o_ .o,
-.o_ .o_,
-.p_ .r,
-.p_ .r_,
-.p_ .o,
-.p_ .o_,
-.r_ .r,
-.r_ .r_,
-.r_ .o,
-.r_ .o_,
-.x_ .r,
-.x_ .r_,
-.x_ .o,
-.x_ .o_
-{
- display: none;
-}
-
-.t
-{
- cursor: pointer;
- margin-right: 8px;
-}
-
-.filter
-{
- cursor: pointer;
- vertical-align: middle;
-}
-
-
-.st
-{
- margin-left: 20px;
-}
-
-.l
-{
- cursor: pointer;
-}
diff --git a/doc/web/deploy/cm/cormissing.js b/doc/web/deploy/cm/cormissing.js
deleted file mode 100644
index 2f2e74dcb85..00000000000
--- a/doc/web/deploy/cm/cormissing.js
+++ /dev/null
@@ -1,395 +0,0 @@
-function toggle (elt)
-{
- if (elt == null)
- return;
-
- var eltLink = elt.firstChild;
- if (eltLink != null && eltLink.className == 't') // toggle
- {
- var ich = elt.className.indexOf ('_');
- if (ich < 0)
- {
- eltLink.src = 'cm/tp.gif';
- elt.className += '_';
- }
- else
- {
- eltLink.src = 'cm/tm.gif';
- elt.className = elt.className.slice (0, ich);
- }
- }
-}
-
-function setView (elt, fView)
-{
- var eltLink = elt.firstChild;
- if (eltLink != null && eltLink.className == 't') // toggle
- {
- var ich = elt.className.indexOf ('_');
- if (ich < 0 && !fView)
- {
- eltLink.src = 'cm/tp.gif';
- elt.className += '_';
- }
- else if (ich >= 0 && fView)
- {
- eltLink.src = 'cm/tm.gif';
- elt.className = elt.className.slice (0, ich);
- }
- }
-}
-
-function trimSrc (strSrc)
-{
- return strSrc.slice (strSrc.lastIndexOf ('/') + 1, strSrc.lastIndexOf ('.'));
-}
-
-function getChildrenByTagName (elt, strTag)
-{
- strTag = strTag.toLowerCase ();
- var rgChildren = new Array ();
- var eltChild = elt.firstChild;
- while (eltChild)
- {
- if (eltChild.tagName && eltChild.tagName.toLowerCase () == strTag)
- rgChildren.push (eltChild);
- eltChild = eltChild.nextSibling;
- }
- return rgChildren;
-}
-
-function viewAll (elt, dictTypes)
-{
- var fView = false;
- var rgImages = getChildrenByTagName (elt, 'IMG');
- var cImages = rgImages.length;
- for (var iImage = 0; iImage < cImages; iImage++)
- {
- var strImage = trimSrc (rgImages [iImage].src);
- if (dictTypes [strImage])
- {
- fView = true;
- break;
- }
- }
- var rgElts = getChildrenByTagName (elt, 'DIV');
- var cElts = rgElts.length;
- if (cElts != 0)
- {
- var iElt;
- for (iElt = 0; iElt < cElts; iElt ++)
- fView |= viewAll (rgElts [iElt], dictTypes);
- }
- elt.style.display = fView ? '' : 'none';
- return fView;
-}
-
-function getView (elt)
-{
- var eltLink = elt.firstChild;
- if (eltLink != null && eltLink.className == 't') // toggle
- {
- var ich = elt.className.indexOf ('_');
- if (ich < 0)
- return true;
- }
- return false;
-}
-
-function getParentDiv (elt)
-{
- if (elt)
- {
- do
- {
- elt = elt.parentNode;
- }
- while (elt && elt.tagName != 'DIV');
- }
-
- return elt;
-}
-
-function getName (elt)
-{
- var rgSpans = getChildrenByTagName (elt, 'SPAN');
- for (var iSpan = 0; iSpan < rgSpans.length; iSpan ++)
- {
- var span = rgSpans [iSpan];
- if (span.className == 'l') // label
- {
- if (span.innerText)
- return span.innerText;
- else
- return span.firstChild.nodeValue;
- }
- }
- return null;
-}
-
-function clickHandler (evt)
-{
- var elt;
- if (document.layers)
- elt = evt.taget;
- else if (window.event && window.event.srcElement)
- {
- elt = window.event.srcElement;
- evt = window.event;
- }
- else if (evt && evt.stopPropagation)
- elt = evt.target;
-
- if (!elt.className && elt.parentNode)
- elt = elt.parentNode;
-
- if (elt.className == 'l') // label
- {
- var strClass;
- var strField;
- var strNamespace;
- var strAssembly;
-
- elt = getParentDiv (elt);
- var strEltClass = elt.className;
- if (strEltClass.charAt (strEltClass.length - 1) == '_')
- strEltClass = strEltClass.slice (0, strEltClass.length - 1);
-
- if (strEltClass == 'x') // constructor
- {
- strField = 'ctor';
- elt = getParentDiv (elt);
- }
- else
- if (strEltClass == 'm' || // method
- strEltClass == 'p' || // property
- strEltClass == 'e' || // event
- strEltClass == 'f') // field
- {
- strField = getName (elt).toLowerCase ();
- var match = strField.match ( /[\.A-Z0-9_]*/i );
- if (match)
- strField = match [0];
- elt = getParentDiv (elt);
-
- }
-
- var strEltClass = elt.className;
- if (strEltClass.charAt (strEltClass.length - 1) == '_')
- strEltClass = strEltClass.slice (0, strEltClass.length - 1);
-
- if (strEltClass == 'c' || // class
- strEltClass == 's' || // struct
- strEltClass == 'i' || // struct
- strEltClass == 'd' || // delegate
- strEltClass == 'en') // enum
- {
- strClass = getName (elt);
- if (strEltClass == 'en')
- strField = null;
- elt = getParentDiv (elt);
- }
-
- var strEltClass = elt.className;
- if (strEltClass.charAt (strEltClass.length - 1) == '_')
- strEltClass = strEltClass.slice (0, strEltClass.length - 1);
-
- if (strEltClass == 'n')
- {
- strNamespace = getName (elt);
- elt = getParentDiv (elt);
- }
-
- var strEltClass = elt.className;
- if (strEltClass.charAt (strEltClass.length - 1) == '_')
- strEltClass = strEltClass.slice (0, strEltClass.length - 1);
-
- if (strEltClass == 'y')
- {
- strAssembly = getName (elt);
- }
-
- if (evt.ctrlKey)
- {
- var strRoot = 'http://cvs.hispalinux.es/cgi-bin/cvsweb/mcs/class/';
- var strExtra = '?cvsroot=mono';
-
- if (strAssembly)
- {
- if (strAssembly == 'mscorlib')
- strAssembly = 'corlib';
-
- strRoot = strRoot + strAssembly + '/';
- if (strNamespace)
- {
- strRoot = strRoot + strNamespace + '/';
- if (strClass)
- {
- strRoot += strClass + '.cs';
- strExtra += '&rev=1';
- }
- }
- window.open (strRoot + strExtra, 'CVS');
- }
- }
- else if (strNamespace)
- {
- var re = /\./g ;
- strNamespace = strNamespace.toLowerCase ().replace (re, '');
- if (strClass)
- strNamespace += strClass.toLowerCase () + 'class';
- if (strField)
- strNamespace += strField;
- if (strClass || strField)
- strNamespace += 'topic';
-
- window.open ('http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrf' + strNamespace + '.asp', 'MSDN');
- }
- }
- else
- {
- if (elt.parentNode && elt.parentNode.className == 't') // toggle
- elt = elt.parentNode;
- else if (elt.className != 't') // toggle
- return;
-
- while (elt != null && elt.tagName != 'DIV')
- elt = elt.parentNode;
-
- if (evt.shiftKey)
- {
- var rgElts = getChildrenByTagName (elt, 'DIV');
- var cElts = rgElts.length;
- if (cElts != 0)
- {
- var fView = false;
- var iElt;
- for (iElt = 0; iElt < cElts; iElt ++)
- {
- if (getView (rgElts [iElt]))
- {
- fView = true;
- break;
- }
- }
- for (iElt = 0; iElt < cElts; iElt ++)
- {
- setView (rgElts [iElt], !fView);
- }
- }
- }
- else if (evt.ctrlKey)
- {
- setView (elt, true);
- var eltParent = getParentDiv (elt);
- while (eltParent)
- {
- var rgSiblings = getChildrenByTagName (eltParent, 'DIV');
- var cSiblings = rgSiblings.length;
- for (var iSibling = 0; iSibling < cSiblings; iSibling++)
- {
- var eltSibling = rgSiblings [iSibling];
- if (eltSibling != elt)
- {
- setView (eltSibling, false);
- }
- }
- elt = eltParent;
- eltParent = getParentDiv (elt);
- }
- }
- else
- toggle (elt);
- }
-
- return false;
-}
-
-function filterTree ()
-{
- var eltMissing = document.getElementById ('missing');
- var eltTodo = document.getElementById ('todo');
- var eltExtra = document.getElementById ('extra');
- var eltErrors = document.getElementById ('errors');
-
- var dictTypes = new Object ();
- if (eltMissing.checked)
- dictTypes ['sm'] = true;
- if (eltTodo.checked)
- dictTypes ['st'] = true;
- if (eltErrors.checked)
- dictTypes ['se'] = true;
- if (eltExtra.checked)
- dictTypes ['sx'] = true;
-// dictTypes ['sc'] = true;
-
- viewAll (document.getElementById ('ROOT'), dictTypes);
-}
-
-function selectMissing ()
-{
- toggleFilter ('missing');
-}
-
-function selectTodo ()
-{
- toggleFilter ('todo');
-}
-
-function selectExtra ()
-{
- toggleFilter ('extra');
-}
-
-function selectErrors ()
-{
- toggleFilter ('errors');
-}
-
-function toggleFilter (strFilter)
-{
- var eltTodo = document.getElementById ('todo');
- var eltMissing = document.getElementById ('missing');
- var eltExtra = document.getElementById ('extra');
- var eltErrors = document.getElementById ('errors');
-
- var eltToggle = document.getElementById (strFilter);
- if (window && window.event && window.event.shiftKey)
- {
- eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = false;
- eltToggle.checked = true;
- }
- else
- if (!eltTodo.checked && !eltMissing.checked && !eltExtra.checked && !eltErrors.checked)
- {
- eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = true;
- eltToggle.checked = false;
- }
- filterTree ();
-}
-
-function onLoad ()
-{
- var eltMissing = document.getElementById ('missing');
- var eltTodo = document.getElementById ('todo');
- var eltExtra = document.getElementById ('extra');
- var eltErrors = document.getElementById ('errors');
- eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = true;
-}
-
-if (document.layers)
-{
- document.captureEvents (Event.MOUSEUP);
- document.onmouseup = clickHandler;
-}
-else if (document.attachEvent)
-{
- document.attachEvent('onclick', clickHandler);
-}
-else if (document.addEventListener)
-{
- document.addEventListener('click', clickHandler, false);
-}
-else
- document.onclick = clickHandler;
-
diff --git a/doc/web/deploy/cm/d.gif b/doc/web/deploy/cm/d.gif
deleted file mode 100644
index c9735952f33..00000000000
--- a/doc/web/deploy/cm/d.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/e.gif b/doc/web/deploy/cm/e.gif
deleted file mode 100644
index 1137246bfae..00000000000
--- a/doc/web/deploy/cm/e.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/en.gif b/doc/web/deploy/cm/en.gif
deleted file mode 100644
index 00026b77300..00000000000
--- a/doc/web/deploy/cm/en.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/f.gif b/doc/web/deploy/cm/f.gif
deleted file mode 100644
index f78a2f53bbc..00000000000
--- a/doc/web/deploy/cm/f.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/i.gif b/doc/web/deploy/cm/i.gif
deleted file mode 100644
index 56cd032a565..00000000000
--- a/doc/web/deploy/cm/i.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/m.gif b/doc/web/deploy/cm/m.gif
deleted file mode 100644
index 75fe3586d48..00000000000
--- a/doc/web/deploy/cm/m.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/n.gif b/doc/web/deploy/cm/n.gif
deleted file mode 100644
index f6fa746304d..00000000000
--- a/doc/web/deploy/cm/n.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/p.gif b/doc/web/deploy/cm/p.gif
deleted file mode 100644
index b79d0dd7edb..00000000000
--- a/doc/web/deploy/cm/p.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/r.gif b/doc/web/deploy/cm/r.gif
deleted file mode 100644
index a3ef0f38ef0..00000000000
--- a/doc/web/deploy/cm/r.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/s.gif b/doc/web/deploy/cm/s.gif
deleted file mode 100644
index f2fd5c8aee2..00000000000
--- a/doc/web/deploy/cm/s.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/sc.gif b/doc/web/deploy/cm/sc.gif
deleted file mode 100644
index b02afd9b2e0..00000000000
--- a/doc/web/deploy/cm/sc.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/se.gif b/doc/web/deploy/cm/se.gif
deleted file mode 100644
index 1c46eaa5887..00000000000
--- a/doc/web/deploy/cm/se.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/sm.gif b/doc/web/deploy/cm/sm.gif
deleted file mode 100644
index 0c7194786d5..00000000000
--- a/doc/web/deploy/cm/sm.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/st.gif b/doc/web/deploy/cm/st.gif
deleted file mode 100644
index 067582cb398..00000000000
--- a/doc/web/deploy/cm/st.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/sx.gif b/doc/web/deploy/cm/sx.gif
deleted file mode 100644
index 2c8ca547929..00000000000
--- a/doc/web/deploy/cm/sx.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/tb.gif b/doc/web/deploy/cm/tb.gif
deleted file mode 100644
index ee68c5a356b..00000000000
--- a/doc/web/deploy/cm/tb.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/tm.gif b/doc/web/deploy/cm/tm.gif
deleted file mode 100644
index 3c8f18aecea..00000000000
--- a/doc/web/deploy/cm/tm.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/tp.gif b/doc/web/deploy/cm/tp.gif
deleted file mode 100644
index 8b7435361b7..00000000000
--- a/doc/web/deploy/cm/tp.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/cm/y.gif b/doc/web/deploy/cm/y.gif
deleted file mode 100644
index 08f00d4ea11..00000000000
--- a/doc/web/deploy/cm/y.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/bgsquares.gif b/doc/web/deploy/images/bgsquares.gif
deleted file mode 100644
index 864bcd44038..00000000000
--- a/doc/web/deploy/images/bgsquares.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/bgsquares.png b/doc/web/deploy/images/bgsquares.png
deleted file mode 100644
index a9e2bb94dbb..00000000000
--- a/doc/web/deploy/images/bgsquares.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/bgsquares.xcf.gz b/doc/web/deploy/images/bgsquares.xcf.gz
deleted file mode 100644
index 200b5805615..00000000000
--- a/doc/web/deploy/images/bgsquares.xcf.gz
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/mono.gif b/doc/web/deploy/images/mono.gif
deleted file mode 100644
index 298976a07b7..00000000000
--- a/doc/web/deploy/images/mono.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/mono.png b/doc/web/deploy/images/mono.png
deleted file mode 100644
index 21709009d60..00000000000
--- a/doc/web/deploy/images/mono.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/pixel.gif b/doc/web/deploy/images/pixel.gif
deleted file mode 100644
index a4f37d7e02e..00000000000
--- a/doc/web/deploy/images/pixel.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/deploy/images/pixel.png b/doc/web/deploy/images/pixel.png
deleted file mode 100644
index 85cfd14929a..00000000000
--- a/doc/web/deploy/images/pixel.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/htmlify b/doc/web/htmlify
deleted file mode 100644
index 46fe4ce4212..00000000000
--- a/doc/web/htmlify
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/perl
-$q = 1;
-
-while (<>){
- chop;
- if (/^\* (.*)$/){
- print "<h1>$1</h1>\n";
- } elsif (/^\*\* (.*)$/) {
- print "<h3>$1</h3>\n";
- } elsif (/^\*\*\* (.*)$/) {
- print "<h3>$1</h3>\n";
- } elsif (/^\*\*\*\* (.*)$/) {
- print "<h4>$1</h4>\n";
- } elsif (/^$/) {
- print "<p>\n";
- } elsif (/^\t\t\* (.*)$/) {
- print "<li>$1\n";
- } elsif (/^\@item (.*)$/){
- $name = $link = $1;
- $link =~ s/ //g;
- print "<a name=\"$link\">\n";
- print "<h3>$name</h3>\n";
- } elsif (/^Q: (.*)$/){
- print "<p><a name=\"q$q\"></a><b>Question $q:</b> $1\n";
- $q++;
- } elsif (/^A: (.*)$/){
- print "$1\n";
- } elsif (/^TODO=(.*),$/){
- print "<a name=\"$1\">\n";
- } else {
- print "$_\n";
- }
-}
diff --git a/doc/web/icaza.pl b/doc/web/icaza.pl
deleted file mode 100644
index ce8b87c44da..00000000000
--- a/doc/web/icaza.pl
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/perl
-$q = 1;
-
-# Modified by Edwin Lima (edwinlima@hotmail.com; edwin.lima@nec-computers.com)
-# Date: 08/21/01, The Netherlands
-# $f: Variable used as a flag to create the list of questions on top of the question-answers set. This
-# is the only way that I found to scan the questions which have a <CR><LF>, in such a way that I will not
-# scan the answer together at same time.
-# @aname: Buffer used to store the question-answers set to print them out just after the print of the
-# questions.
-# @href: Buffer used to store the anchors (only questions) to the questions-answers set on the bottom
-# of the page.
-# I opened explicitly the file for input (input.txt) but U can change this as it was originally.
-#
-#
-
-#comment this line if you are not open the file explicitly
-#open(IN, "input.txt") || die "cannot open file input.txt" ;
-
-print("<A name=TOP>") ;
-
-#Uncomment line bellow to make it work as it was originally.
-while (<>){
-
-#comment line bellow
-
-#while (<IN>){
- chop;
- if (/^\* (.*)$/){
- push(@aname,"<h1>$1</h1>\n");
-# print $body;
- } elsif (/^\*\* (.*)$/) {
- push(@aname, "<h2>$1</h2>\n");
- push(@href, "<h2>$1</h2>\n");
- } elsif (/^\*\*\* (.*)$/) {
- push(@aname, "<h3>$1</h3>\n");
-
- } elsif (/^$/) {
- push(@aname, "<p>\n");
-# push(@href, "<p>\n"); NOT NEEDED
- } elsif (/^\t\t\* (.*)$/) {
- push(@aname, "<li>$1\n");
- } elsif (/^Q: (.*)$/){
- push(@aname, "<p><a name=\"q$q\"></a><b>Question $q:</b> $1\n");
- push(@href,"<p><a href=\"#q$q\"><b>Question $q:</b></a> $1\n");
- $f=1;
- $q++;
- } elsif (/^A: (.*)$/){
- push(@aname,"<P>\n<A HREF=#TOP>Top</A>\n<P>");
- push(@aname,"$1\n");
- $f=0;
- } elsif (/^TODO=(.*),$/){
- push(@aname, "<a name=\"$1\">\n");
- #push(@href, "<a name=\"$1\">\n");
- } else {
- push(@aname,"$_\n");
- if ($f==1) {
- push(@href,"$_\n");
- }
- }
-}
-
-foreach $line (@href) #"\n\n";
-{
- print $line;
- }
-
-foreach $line (@aname) #"\n\n";
-{
- print $line;
- }
-
-
-#comment this line if you are not open the file explicitly
-# close(IN) || die "cannot close file" ;
-
diff --git a/doc/web/images/bgsquares.gif b/doc/web/images/bgsquares.gif
deleted file mode 100644
index 864bcd44038..00000000000
--- a/doc/web/images/bgsquares.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/bgsquares.png b/doc/web/images/bgsquares.png
deleted file mode 100644
index 54de2ad1e6d..00000000000
--- a/doc/web/images/bgsquares.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/bgsquares.xcf.gz b/doc/web/images/bgsquares.xcf.gz
deleted file mode 100644
index 200b5805615..00000000000
--- a/doc/web/images/bgsquares.xcf.gz
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/gtk-certview.png b/doc/web/images/gtk-certview.png
deleted file mode 100644
index d26d03ae2d3..00000000000
--- a/doc/web/images/gtk-certview.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/mono-new.gif b/doc/web/images/mono-new.gif
deleted file mode 100755
index 9aa496940a8..00000000000
--- a/doc/web/images/mono-new.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/mono.gif b/doc/web/images/mono.gif
deleted file mode 100644
index 298976a07b7..00000000000
--- a/doc/web/images/mono.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/mono.png b/doc/web/images/mono.png
deleted file mode 100644
index a19e38acedd..00000000000
--- a/doc/web/images/mono.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/pixel.gif b/doc/web/images/pixel.gif
deleted file mode 100644
index a4f37d7e02e..00000000000
--- a/doc/web/images/pixel.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/pixel.png b/doc/web/images/pixel.png
deleted file mode 100644
index d8f33a2a3e4..00000000000
--- a/doc/web/images/pixel.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/swf-certview.png b/doc/web/images/swf-certview.png
deleted file mode 100644
index 0c4200458ac..00000000000
--- a/doc/web/images/swf-certview.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/images/xml.gif b/doc/web/images/xml.gif
deleted file mode 100755
index ecb09575418..00000000000
--- a/doc/web/images/xml.gif
+++ /dev/null
Binary files differ
diff --git a/doc/web/infos/.cvsignore b/doc/web/infos/.cvsignore
deleted file mode 100644
index 6722cd96e78..00000000000
--- a/doc/web/infos/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.xml
diff --git a/doc/web/makefile b/doc/web/makefile
deleted file mode 100644
index ff993b1b790..00000000000
--- a/doc/web/makefile
+++ /dev/null
@@ -1,206 +0,0 @@
-ifeq ($(findstring CYGWIN,$(shell uname)),)
-CSC=mcs
-RUN_MONO=mono
-else
-CSC=csc /nologo
-endif
-
-CORCOMPARE=../../../mcs/tools/corcompare
-
-OBJECTS= \
- deploy/ado-net.html \
- deploy/anoncvs.html \
- deploy/asp-net.html \
- deploy/blogs.html \
- deploy/books.html \
- deploy/bugs.html \
- deploy/contributing.html \
- deploy/contact.html \
- deploy/c-sharp.html \
- deploy/ccvs.html \
- deploy/documentation.html \
- deploy/download.html \
- deploy/drawing.html \
- deploy/compiling.html \
- deploy/crypto.html \
- deploy/embedded-api.html \
- deploy/faq.html \
- deploy/firebird.html \
- deploy/forge.html \
- deploy/gcc-frontend.html \
- deploy/gtk-sharp.html \
- deploy/hackers.html \
- deploy/ideas.html \
- deploy/ibmdb2.html \
- deploy/index.html \
- deploy/oldnews.html \
- deploy/java.html \
- deploy/jit-debug.html \
- deploy/languages.html \
- deploy/mailing-lists.html \
- deploy/mbas.html \
- deploy/mono-beginning.html \
- deploy/mono-contribution-howto.html \
- deploy/mono-todo.html \
- deploy/monodoc-xml.html \
- deploy/mysql.html \
- deploy/odbc.html \
- deploy/oledb.html \
- deploy/oracle.html \
- deploy/other.html \
- deploy/papers.html \
- deploy/passport.html \
- deploy/performance.html \
- deploy/plans.html \
- deploy/porting.html \
- deploy/postgresql.html \
- deploy/ppc.html \
- deploy/provider-factory.html \
- deploy/rationale.html \
- deploy/resources.html \
- deploy/runtime.html \
- deploy/screenshots.html \
- deploy/sqlclient.html \
- deploy/sqlite.html \
- deploy/status.html \
- deploy/sybase.html \
- deploy/tdsclient.html \
- deploy/tds-providers.html \
- deploy/team.html \
- deploy/testing.html \
- deploy/tools.html \
- deploy/winforms.html \
- deploy/xml-classes.html \
- deploy/class-library.html \
- deploy/classlib-doc.html \
- deploy/class-status.html \
- deploy/class-status-corlib.html \
- deploy/class-status-System.html \
- deploy/class-status-System.Xml.html \
- deploy/class-status-System.Data.html \
- deploy/class-status-System.Security.html \
- deploy/class-status-System.Web.html \
- deploy/class-status-System.Web.Services.html \
- deploy/class-status-System.Drawing.html \
- deploy/class-status-Microsoft.VisualBasic.html \
- deploy/class-status-System.Windows.Forms.html \
- deploy/class-status-System.DirectoryServices.html \
- deploy/class-status-Cscompmgd.html \
- deploy/class-status-System.Runtime.Serialization.Formatters.Soap.html
-
-HTML_SOURCES = ../mono-roadmap.html
-
-#2,Configuration.Install,class-status-System.Configuration.Install.html,class-status-System.Configuration.Install.src,cm/cormissing.css,cm/cormissing.js
-#2,Runtime.Remoting,class-status-System.Runtime.Remoting.html,class-status-System.Runtime.Remoting.src,cm/cormissing.css,cm/cormissing.js
-
-# deploy/class-status-System.Configuration.Install.html \
-# deploy/class-status-System.Runtime.Remoting.html \
-
-NON_HTML_SOURCES= \
- ../mono-build.sh \
- ../mono-build-w32.sh
-
-all: $(OBJECTS) deploy/index.rss ../team
- perl process.pl commands template.html.in deploy
- cp $(HTML_SOURCES) deploy
- test -d deploy/team || mkdir deploy/team
- cp team/*png deploy/team
-
-tutorial: mono-beginning.html.stamp mono-beginning.pdf
- cp -a mono-beginning mono-beginning.xml mono-beginning.pdf deploy
-
-mono-beginning.html.stamp: mono-beginning.xml
- db2html mono-beginning.xml
- touch mono-beginning.html.stamp
-
-mono-beginning.pdf: mono-beginning.xml
- db2pdf mono-beginning.xml
-
-mono-beginning.xml: ../mono-beginning.xml
- cp ../mono-beginning.xml .
-
-deploy/index.rss: mono-rss.exe ../index
- $(RUN_MONO) ./mono-rss.exe ../index deploy/index.rss
-
-mono-rss.exe: mono-rss.cs rss.cs
- $(CSC) mono-rss.cs rss.cs
-
-../team: render-team-page.exe team.xml
- $(RUN_MONO) ./render-team-page.exe team.xml "../team"
-
-render-team-page.exe: render-team-page.cs
- $(CSC) render-team-page.cs
-
-clean:
- rm -f $(OBJECTS) $(patsubst deploy/%.html,src/%.src, $(OBJECTS)) src/*.xml src/*.html.in ../class-status-* ../class-status infos/*.xml
-
-push:
- cp -f $(NON_HTML_SOURCES) deploy
- cp ../mono-roadmap.html deploy
- #echo scp -P 2200 -r deploy/* www@www.go-mono.com:/web/cvsmodules/mono
- #(cd deploy; rsync --verbose --recursive --checksum --update --rsh='ssh' . www@www.go-mono.com:/web/cvsmodules/mono )
- (cd deploy; rsync --verbose --recursive --checksum --update --rsh='ssh' . mono-web@www.go-mono.com:/web/cvsmodules/mono )
-
-
-push2:
- scp -r deploy/* primates:public_html/xxx
-
-$(OBJECTS): $(patsubst deploy/%.html,src/%.src, $(OBJECTS))
-
-#.PRECIOUS: $(patsubst deploy/%.html,src/%.src, $(OBJECTS))
-
-transform.exe: transform.cs
- $(CSC) transform.cs
-
-
-.PRECIOUS: src/%.src
-src/%.src: ../% commands template.html.in makefile
- perl htmlify $< > $@
-
-.PRECIOUS: ../class-status-%
-../class-status-%: src/%.html.in ../class-status.in
- cat ../class-status.in $< > $@
-
-
-.PRECIOUS: src/%.html.in
-src/%.html.in: src/%.xml transform.exe $(CORCOMPARE)/mono-api.xsl
- $(RUN_MONO) ./transform.exe $< $(CORCOMPARE)/mono-api.xsl > $@ || (rm -f $@ && exit 1)
-
-
-.PRECIOUS: infos/%.xml
-infos/%.xml: ../../../mcs/class/lib/%.dll $(CORCOMPARE)/mono-api-info.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-info.exe $< > $@ || (rm -f $@ && exit 1)
-
-.PRECIOUS: src/%.xml
-src/%.xml: infos/%.xml $(CORCOMPARE)/mono-api-diff.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-diff.exe masterinfos/$(notdir $<) $< > $@ || (rm -f $@ && exit 1)
-
-# corlib, corlib...
-infos/mscorlib.xml: ../../../mcs/class/lib/mscorlib.dll $(CORCOMPARE)/mono-api-info.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-info.exe $(notdir $(basename $<)) > $@ || (rm -f $@ && exit 1)
-
-src/corlib.xml: infos/mscorlib.xml $(CORCOMPARE)/mono-api-diff.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-diff.exe masterinfos/mscorlib.xml $< > $@ || (rm -f $@ && exit 1)
-
-# System
-infos/System.xml: ../../../mcs/class/lib/System.dll $(CORCOMPARE)/mono-api-info.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-info.exe $(notdir $(basename $<)) > $@ || (rm -f $@ && exit 1)
-
-src/System.xml: infos/System.xml $(CORCOMPARE)/mono-api-diff.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-diff.exe masterinfos/System.xml $< > $@ || (rm -f $@ && exit 1)
-
-# System.Xml
-infos/System.Xml.xml: ../../../mcs/class/lib/System.Xml.dll $(CORCOMPARE)/mono-api-info.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-info.exe $(notdir $(basename $<)) > $@ || (rm -f $@ && exit 1)
-
-src/System.Xml.xml: infos/System.Xml.xml $(CORCOMPARE)/mono-api-diff.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-diff.exe masterinfos/System.Xml.xml $< > $@ || (rm -f $@ && exit 1)
-
-src/System.DirectoryServices.xml: infos/System.DirectoryServices.xml $(CORCOMPARE)/mono-api-diff.exe
- $(RUN_MONO) $(CORCOMPARE)/mono-api-diff.exe masterinfos/System.DirectoryServices.xml $< > $@ || (rm -f $@ && exit 1)
-
-../class-status: ../class-status.in
- cp -f $< $@
-
-make-rss:
- $(CSC) make-rss.cs -o
diff --git a/doc/web/masterinfos/.cvsignore b/doc/web/masterinfos/.cvsignore
deleted file mode 100644
index 6722cd96e78..00000000000
--- a/doc/web/masterinfos/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.xml
diff --git a/doc/web/masterinfos/Makefile b/doc/web/masterinfos/Makefile
deleted file mode 100644
index 15848834024..00000000000
--- a/doc/web/masterinfos/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-# Note that you will need Microsoft.NET to generate those masterinfos
-
-# Customize to indicate your own installation dir.
-DLL_PATH=c:/WINDOWS/Microsoft.NET/Framework/v1.1.4322
-
-all: \
- mscorlib.xml \
- System.xml \
- System.Xml.xml \
- System.Data.xml \
- System.Web.xml \
- System.Web.Services.xml \
- System.Runtime.Serialization.Formatters.Soap.xml \
- System.Drawing.xml \
- System.Security.xml \
- System.DirectoryServices.xml \
- System.Windows.Forms.xml \
- Cscompmgd.xml
-
-mscorlib.xml :
- mono-api-info $(DLL_PATH)/mscorlib.dll > mscorlib.xml
-
-System.xml :
- mono-api-info $(DLL_PATH)/System.dll > System.xml
-
-System.Xml.xml :
- mono-api-info $(DLL_PATH)/System.Xml.dll > System.Xml.xml
-
-System.Data.xml :
- mono-api-info $(DLL_PATH)/System.Data.dll > System.Data.xml
-
-System.Web.xml :
- mono-api-info $(DLL_PATH)/System.Web.dll > System.Web.xml
-
-System.Web.Services.xml :
- mono-api-info $(DLL_PATH)/System.Web.Services.dll > System.Web.Services.xml
-
-System.Runtime.Serialization.Formatters.Soap.xml :
- mono-api-info $(DLL_PATH)/System.Runtime.Serialization.Formatters.Soap.dll > System.Runtime.Serialization.Formatters.Soap.xml
-
-System.Drawing.xml :
- mono-api-info $(DLL_PATH)/System.Drawing.dll > System.Drawing.xml
-
-System.Security.xml :
- mono-api-info $(DLL_PATH)/System.Security.dll > System.Security.xml
-
-System.DirectoryServices.xml :
- mono-api-info $(DLL_PATH)/System.DirectoryServices.dll > System.DirectoryServices.xml
-
-System.Windows.Forms.xml :
- mono-api-info $(DLL_PATH)/System.Windows.Forms.dll > System.Windows.Forms.xml
-
-Cscompmgd.xml :
- mono-api-info $(DLL_PATH)/Cscompmgd.dll > Cscompmgd.xml
-
-
-clean:
- rm mscorlib.xml System.xml System.Xml.xml System.Data.xml System.Web.xml System.Web.Services.xml System.Runtime.Serialization.Formatters.Soap.xml System.Drawing.xml System.Security.xml System.DirectoryServices.xml System.Windows.Forms.xml Cscompmgd.xml
-
-
diff --git a/doc/web/mono-rss.cs b/doc/web/mono-rss.cs
deleted file mode 100755
index 4af4c9baad5..00000000000
--- a/doc/web/mono-rss.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// Generates the Mono RSS feed
-//
-// Miguel de Icaza
-//
-using System;
-using System.IO;
-using System.Xml;
-using System.Text;
-using RSS;
-
-class X {
- static RSS.RSS rss;
- static Channel c;
- static int item_count;
- static int line;
-
- static void PopulateRSS (StreamReader input)
- {
- string s;
-
- while ((s = input.ReadLine ()) != null){
- line++;
- if (s.StartsWith ("@item "))
- break;
- }
-
- if (s == null || !s.StartsWith ("@item ")){
- Console.WriteLine ("Could not find beginning of text to RSS");
- return;
- }
-
- Item i = null;
- string description = "";
- do {
- if (s.StartsWith ("@item ")){
- if (item_count++ > 25)
- break;
-
- if (i != null){
- i.Description = description;
- description = "";
- }
-
- string title = s.Substring (6);
- string link = "http://www.go-mono.com/index.html#";
- foreach (char ch in title){
- if (ch != ' ')
- link += ch;
- }
-
- i = c.NewItem ();
- i.Title = title;
- i.Link = link;
- i.PubDate = s.Substring (6, s.IndexOf (":") - 6) + ", 2003";
- } else {
- description += "\n" + (s == "\n" ? "<p>" : s);
- }
- line++;
- } while ((s = input.ReadLine ()) != null);
-
- if (i != null){
- i.Description = description;
- }
- }
-
- static void MakeRSS (string input, string output)
- {
- rss = new RSS.RSS ();
- c = rss.NewChannel ("Mono Project News", "http://www.go-mono.com");
-
- c.Title = "Mono Project News";
- c.Link = "http://www.go-mono.com";
- c.Description =
- "News from the Mono project: a portable implementation of the .NET Framework";
- c.WebMaster = "webmaster@go-mono.com";
- c.ManagingEditor = "miguel@ximian.com";
- string t = File.GetLastWriteTime (input).ToString ("r");
- c.PubDate = t;
- c.LastBuildDate = t;
-
- using (FileStream fs = new FileStream (input, FileMode.Open)){
- using (StreamReader input_stream = new StreamReader (fs)){
- try {
- PopulateRSS (input_stream);
- } catch {
- Console.WriteLine ("{0} failure while loading: {1}", line, input);
- throw;
- }
- }
- }
-
- rss.XmlDocument.Save (output);
- }
-
- static int Main (string [] args)
- {
- switch (args.Length){
- case 0:
- MakeRSS ("index", "index.rss");
- break;
- case 2:
- MakeRSS (args [0], args [1]);
- break;
-
- default:
- Console.WriteLine ("Usage is: mono-rss [input output.rss]");
- return 1;
- }
-
- return 0;
- }
-}
diff --git a/doc/web/process.pl b/doc/web/process.pl
deleted file mode 100755
index 48766f8f0b8..00000000000
--- a/doc/web/process.pl
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/perl
-#
-# Author:
-# Sean MacIsaac
-#
-
-use strict;
-
-my $full_expand = 1;
-my @template;
-my $n;
-
-if ($#ARGV != 2) {
- print "process.pl command_file template_file directory_prefix\n";
- exit ();
-}
-
-my $menu = "";
-
-open COMMANDS, $ARGV[0] || die "Can not open $ARGV[0]";
-while (<COMMANDS>) {
- chop;
- my @command = split /,/;
- if ($command[0] != -1) {
- $menu .= "\t\t";
- $menu .= "<tr><td valign=\"top\" class=\"navi" . $command[0];
- $menu .= "\"><a class=\"navi" . $command[0];
- $menu .= "\"";
- $menu .= " HREF=\"$command[2]\">$command[1]</A></td></tr>\n\n";
- }
-}
-close COMMANDS;
-
-open TEMPLATE, $ARGV[1] || die "Can not open $ARGV[1]";
-while (<TEMPLATE>) {
- push @template, $_;
-}
-close TEMPLATE;
-
-open COMMANDS, $ARGV[0] || die "Can not open $ARGV[0]";
-while (<COMMANDS>) {
- chop;
- my @command = split /,/;
-
- if ($command[2] =~ /^http:/){
- } else {
- $n = $ARGV[2] . "/" . $command[2];
- open OUTPUT, ">" . $n || die "Can not create $n";
-
- my $content = "";
- open INPUT, "src/$command[3]" || die "Can not open $command[3]";
- while (<INPUT>) {
- $content .= $_;
- }
- close INPUT;
-
- my $line;
- my $temp;
- my $tit;
- my $title;
- my $css;
- my $script;
-
- $tit = $command[1];
- $css = $command[4];
- $script = $command[5];
-
- foreach $line (@template) {
- $temp = $line;
- $title = "$tit / Mono";
- $temp =~ s/#TITLE#/$title/;
- $temp =~ s/#CONTENT#/$content/;
- $temp =~ s/#MENU#/$menu/;
- if ($css) {
- $temp =~ s/#CSS#/<LINK rel="stylesheet" type="text\/css" href="$css">/;
- } else {
- $temp =~ s/#CSS#//;
- }
-
- if ($script) {
- $temp =~ s/#SCRIPT#/<SCRIPT src="$script"><\/SCRIPT>/;
- } else {
- $temp =~ s/#SCRIPT#//;
- }
- print OUTPUT $temp;
- }
- }
- close OUTPUT;
-}
diff --git a/doc/web/render-team-page.cs b/doc/web/render-team-page.cs
deleted file mode 100644
index 39ad660855e..00000000000
--- a/doc/web/render-team-page.cs
+++ /dev/null
@@ -1,352 +0,0 @@
-//
-// RenderTeamPage.cs - Renders an HTML page with team member information from an XML file
-//
-// Author: Duncan Mak (duncan@ximian.com)
-//
-// (C) Copyright 2003, Ximian Inc.
-//
-
-using System;
-using System.Collections;
-using System.IO;
-using System.Text;
-using System.Xml;
-
-class Write {
-
- static Contributor [] list;
- static public XmlNamespaceManager nsmgr;
-
- static void Main (string [] args)
- {
- if (args.Length != 2) {
- Console.WriteLine ("write.exe <input.xml> <output.html>");
- Environment.Exit (0);
- }
-
- string input = args [0];
- string output = args [1];
- XmlDocument document = new XmlDocument ();
- document.Load (input);
-
- nsmgr = new XmlNamespaceManager (document.NameTable);
- nsmgr.AddNamespace ("t", "http://go-mono.org/team.xsd");
- XmlNodeList contributors = document.SelectNodes ("/t:contributors/t:contributor", nsmgr);
- list = new Contributor [contributors.Count];
-
- Page p = new Page ();
-
- int count = 0;
- foreach (XmlNode n in contributors) {
- list [count] = new Contributor (n, p.Document);
- count ++;
- }
-
- Array.Sort (list, new ContributorComparer ());
-
- int length = list.Length % 2 == 0 ? list.Length : list.Length + 1;
-
- int i = 0;
- while (i < length) {
- try {
- p.AddRow (list [i].RenderHtml (), list [i + 1].RenderHtml ());
- } catch (IndexOutOfRangeException) {
- p.AddRow (list [i].RenderHtml (), null);
- }
- i += 2;
- }
-
- p.Write (output);
- }
-}
-
-public class ContributorComparer : IComparer
-{
- public int Compare (object x, object y)
- {
- return String.Compare (x.ToString (), y.ToString ());
- }
-}
-
-class Contributor {
-
- public Name name;
- public string email;
- public string image;
- public string location;
- public string organization;
- public string description;
- public string[] tasks;
-
- public XmlDocument document;
-
- public Contributor (XmlNode node, XmlDocument document)
- {
-
- name = GetName (node);
- image = GetImage (node);
- email = GetField (node, "t:e-mail");
- location = GetField (node, "t:location");
- organization = GetField (node, "t:organization");
- description = GetField (node, "t:description");
- tasks = GetTasks (node);
-
- this.document = document;
- }
-
- public override string ToString ()
- {
- return name.ToString ();
- }
-
- public static string GetImage (XmlNode node)
- {
- string result = GetField (node, "t:image");
-
- if (result == String.Empty)
- return "none.png";
-
- else
- return result;
- }
-
- public static string GetField (XmlNode node, string selector)
- {
- XmlNode result = node.SelectSingleNode (selector, Write.nsmgr);
-
- if (result == null)
- return String.Empty;
-
- return result.InnerText;
- }
-
- public static Name GetName (XmlNode node)
- {
- string first_name = GetField (node, "t:name/t:first-name");
- string last_name = GetField (node, "t:name/t:last-name");
-
- return new Name (first_name, last_name);
- }
-
- public static string [] GetTasks (XmlNode node)
- {
- XmlNodeList nodes = node.SelectNodes ("t:tasks/t:task", Write.nsmgr);
-
- string [] result = new string [nodes.Count];
-
- int i = 0;
- foreach (XmlNode n in nodes) {
- result [i] = n.InnerText;
-
- i++;
- }
-
- return result;
- }
-
- public XmlElement RenderHtml ()
- {
- XmlElement root = document.CreateElement ("td");
- XmlElement table = document.CreateElement ("table");
- table.SetAttribute ("cellPadding", "0");
- table.SetAttribute ("border", "0");
- XmlElement tr = document.CreateElement ("tr");
- XmlElement td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#c3cda7");
- td.SetAttribute ("valign", "top");
- td.SetAttribute ("width", "1%");
- tr.AppendChild (td);
- table.AppendChild (tr);
- root.AppendChild (table);
-
- XmlElement img = document.CreateElement ("img");
- img.SetAttribute ("align", "top");
- img.SetAttribute ("border", "0");
- img.SetAttribute ("height", "48");
- img.SetAttribute ("width", "48");
- img.SetAttribute ("src", "team/" + image);
- td.AppendChild (img);
-
- td = document.CreateElement ("TD");
- td.SetAttribute ("bgcolor", "#c3cda7");
- td.SetAttribute ("valign", "bottom");
- td.SetAttribute ("width", "100%");
- tr.AppendChild (td);
-
- td.AppendChild (name.ToXml (document));
- td.AppendChild (document.CreateElement ("br"));
- td.AppendChild (RenderEmail ());
-
- tr = document.CreateElement ("tr");
- table.AppendChild (tr);
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (RenderLabel ("Location: "));
-
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (document.CreateTextNode (location));
-
- tr = document.CreateElement ("tr");
- table.AppendChild (tr);
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (RenderLabel ("Description: "));
-
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (document.CreateTextNode (description));
-
- tr = document.CreateElement ("tr");
- table.AppendChild (tr);
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (RenderLabel ("Tasks: "));
-
- td = document.CreateElement ("td");
- td.SetAttribute ("bgcolor", "#f5f8e4");
- td.SetAttribute ("valign", "top");
- tr.AppendChild (td);
- td.AppendChild (RenderTasks ());
-
- return root;
- }
-
- public XmlNode RenderTasks ()
- {
-
- XmlElement element = document.CreateElement ("ol");
- element.SetAttribute ("type", "I");
-
- foreach (string task in tasks) {
- XmlElement li = document.CreateElement ("li");
- li.AppendChild (document.CreateTextNode (task));
- element.AppendChild (li);
- }
-
- return element;
- }
-
- public XmlNode RenderEmail ()
- {
- XmlElement a = document.CreateElement ("a");
- a.SetAttribute ("href", "mailto:" + email);
- XmlElement font = document.CreateElement ("font");
- font.SetAttribute ("size", "3");
- XmlText t = document.CreateTextNode (email);
- a.AppendChild (font);
- font.AppendChild (t);
-
- return a;
- }
-
- public XmlNode RenderLabel (string label)
- {
- string text = String.Format ("{0}: ", label);
- XmlElement element = document.CreateElement ("b");
- XmlText t = document.CreateTextNode (label );
- element.AppendChild (t);
-
- return element;
- }
-}
-
-class Page {
-
- XmlDocument document;
- XmlElement tbody;
-
- public Page ()
- {
- document = new XmlDocument ();
-
- XmlElement table = document.CreateElement ("table");
- document.AppendChild (table);
-
- tbody = document.CreateElement ("tbody");
- table.AppendChild (tbody);
- }
-
- public XmlDocument Document {
- get { return document; }
- }
-
- public void AddRow (XmlNode left, XmlNode right)
- {
- if (left == null && right == null)
- return;
-
- XmlElement tr = document.CreateElement ("tr");
- tbody.AppendChild (tr);
- tr.AppendChild (left);
-
- if (right == null)
- tr.AppendChild (document.CreateElement ("td"));
- else {
- tr.SetAttribute ("valign", "top");
- tr.AppendChild (right);
- }
- }
-
- public void Write (TextWriter text_writer)
- {
- XmlTextWriter writer = new XmlTextWriter (text_writer);
- writer.Formatting = Formatting.Indented;
-
- document.WriteContentTo (writer);
-
- writer.Flush ();
- }
-
- public void Write (string filename)
- {
- XmlTextWriter writer = new XmlTextWriter (filename, Encoding.Default);
- writer.Formatting = Formatting.Indented;
-
- document.WriteContentTo (writer);
- writer.Flush ();
- }
-}
-
-
-class Name {
-
- string first_name;
- string last_name;
-
- public Name (string a, string b)
- {
- this.first_name = a;
- this.last_name = b;
- }
-
- public override string ToString ()
- {
- if (first_name == null && last_name == null)
- return String.Empty;
-
- return first_name + " " + last_name;
- }
-
- public XmlNode ToXml (XmlDocument document)
- {
- XmlElement element = document.CreateElement ("font");
- element.SetAttribute ("size", "3");
- XmlElement b = document.CreateElement ("B");
- XmlText t = document.CreateTextNode (ToString ());
- b.AppendChild (t);
- element.AppendChild (b);
-
- return element;
- }
-}
diff --git a/doc/web/rss.cs b/doc/web/rss.cs
deleted file mode 100755
index 3bdaa95a843..00000000000
--- a/doc/web/rss.cs
+++ /dev/null
@@ -1,277 +0,0 @@
-//
-// RSS.cs: Some utility classes to generate RSS feeds
-//
-// (C) 2002 Miguel de Icaza (miguel@gnu.org)
-//
-//
-using System;
-using System.Xml;
-using System.IO;
-
-namespace RSS {
-
- public class Item {
- XmlDocument doc;
- XmlNode item;
- XmlText title, link, description, pubdate;
-
- public Item (XmlDocument doc, XmlNode item)
- {
- this.doc = doc;
- this.item = item;
- }
-
- XmlText MakeTextElement (string name)
- {
- XmlNode node = doc.CreateElement (name);
- XmlText text = doc.CreateTextNode ("");
-
- item.AppendChild (node);
- node.AppendChild (text);
-
- return text;
- }
-
- public string Title {
- get {
- if (title == null)
- return null;
-
- return title.Value;
- }
-
- set {
- if (title == null)
- title = MakeTextElement ("title");
- title.Value = value;
- }
- }
-
- public string Link {
- get {
- if (link == null)
- return null;
-
- return link.Value;
- }
-
- set {
- if (link == null)
- link = MakeTextElement ("link");
- link.Value = value;
- }
- }
-
- public string Description {
- get {
- if (description == null)
- return null;
-
- return description.Value;
- }
-
- set {
- if (description == null)
- description = MakeTextElement ("description");
- description.Value = value;
- }
- }
-
- public string PubDate {
- get {
- if (pubdate == null)
- return null;
-
- return pubdate.Value;
- }
-
- set {
- if (pubdate == null)
- pubdate = MakeTextElement ("pubDate");
- pubdate.Value = value;
- }
- }
- }
-
- public class Channel {
- XmlDocument doc;
- XmlNode channel;
- XmlText title, link, description, language, pubDate, lastBuildDate;
- XmlText managingEditor, webMaster;
-
- XmlText MakeTextElement (string name)
- {
- XmlNode node = doc.CreateElement (name);
- XmlText text = doc.CreateTextNode ("");
-
- channel.AppendChild (node);
- node.AppendChild (text);
-
- return text;
- }
-
- public Channel (XmlDocument doc, XmlNode node)
- {
- this.channel = node;
- this.doc = doc;
-
- title = MakeTextElement ("title");
- link = MakeTextElement ("link");
- description = MakeTextElement ("description");
- }
-
- public Item NewItem ()
- {
- XmlNode node = doc.CreateElement ("item");
- Item item;
-
- channel.AppendChild (node);
- item = new Item (doc, node);
-
- return item;
- }
-
- public string Title {
- get {
- return title.Value;
- }
-
- set {
- title.Value = value;
- }
- }
-
- public string Link {
- get {
- return link.Value;
- }
-
- set {
- link.Value = value;
- }
- }
-
- public string Description {
- get {
- return description.Value;
- }
-
- set {
- description.Value = value;
- }
- }
-
-#region Optional Values
- public string ManagingEditor {
- get {
- if (managingEditor == null)
- return null;
-
- return managingEditor.Value;
- }
-
- set {
- if (managingEditor == null)
- managingEditor = MakeTextElement ("managingEditor");
-
- managingEditor.Value = value;
- }
- }
-
- public string WebMaster {
- get {
- if (webMaster == null)
- return null;
-
- return webMaster.Value;
- }
-
- set {
- if (webMaster == null)
- webMaster = MakeTextElement ("webMaster");
- webMaster.Value = value;
- }
- }
-
- public string PubDate {
- get {
- if (pubDate == null)
- return null;
-
- return pubDate.Value;
- }
-
- set {
- if (pubDate == null)
- pubDate = MakeTextElement ("pubDate");
- pubDate.Value = value;
- }
- }
-
- public string LastBuildDate {
- get {
- if (lastBuildDate == null)
- return null;
-
- return lastBuildDate.Value;
- }
-
- set {
- if (lastBuildDate == null)
- lastBuildDate = MakeTextElement ("lastBuildDate");
- lastBuildDate.Value = value;
- }
- }
-
- public string Language {
- get {
- if (language == null)
- return null;
-
- return language.Value;
- }
-
- set {
- if (language == null)
- language = MakeTextElement ("language");
- language.Value = value;
- }
- }
-#endregion
- }
-
- class RSS {
- XmlDocument doc;
- XmlNode rss;
-
- const string rss_base =
- "<?xml version=\"1.0\"?> <rss version=\"0.92\"></rss>";
-
- public RSS ()
- {
- doc = new XmlDocument ();
-
- doc.LoadXml (rss_base);
- rss = doc.DocumentElement;
- }
-
- public Channel NewChannel (string title, string url)
- {
- XmlNode node = doc.CreateElement ("channel");
- Channel c;
-
- rss.AppendChild (node);
- c = new Channel (doc, node);
-
- return c;
- }
-
- public XmlDocument XmlDocument {
- get {
- return doc;
- }
- }
- }
-}
-
-
diff --git a/doc/web/src/.cvsignore b/doc/web/src/.cvsignore
deleted file mode 100755
index 5053fb08904..00000000000
--- a/doc/web/src/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.src
diff --git a/doc/web/team.xml b/doc/web/team.xml
deleted file mode 100644
index 73dae776c4c..00000000000
--- a/doc/web/team.xml
+++ /dev/null
@@ -1,1593 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-
-
-
-<!--
-
- Please, keep this file at 2-space indents.
-
--->
-
-
-
-<contributors xmlns="http://go-mono.org/team.xsd">
-
-<contributor>
-
- <name>
-
- <first-name>Joel</first-name>
-
- <last-name>Basson</last-name>
-
- </name>
-
- <e-mail>jstrike@mweb.co.za</e-mail>
-
- <image>none.png</image>
-
- <location>Cape Town, South Africa</location>
-
- <organization></organization>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>System.Windows.Forms Gtk</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Alejandro</first-name>
-
- <last-name>Sánchez Acosta</last-name>
-
- </name>
-
- <e-mail>asanchez@gnu.org</e-mail>
-
- <image>none.png</image>
-
- <location>Madrid, Spain</location>
-
- <organization>Mono Hispano</organization>
-
- <description>Mono contributor.</description>
-
- <tasks>
-
- <task>Documentation.</task>
-
- <task>Gtk# stuff.</task>
-
- <task>Class Libraries.</task>
-
- <task>Mcs tests samples.</task>
-
- <task>MONO Hispano Manager.</task>
-
- </tasks>
-
- </contributor>
-
-
- <contributor>
-
- <name>
-
- <first-name>Tim</first-name>
-
- <last-name>Haynes</last-name>
-
- </name>
-
- <e-mail>thaynes@openlinksw.co.uk</e-mail>
-
- <image></image>
-
- <location>Croydon, UK</location>
-
- <organization>OpenLink Software</organization>
-
- <description>http://www.openlinksw.com/</description>
-
- <tasks>
-
- <task>Anything related to using mono to host the CLR from other applications</task>
-
- </tasks>
-
- </contributor>
-
-
- <contributor>
-
- <name>
-
- <first-name>Duncan</first-name>
-
- <last-name>Mak</last-name>
-
- </name>
-
- <e-mail>duncan@ximian.com</e-mail>
-
- <image>duncan.png</image>
-
- <location>Boston / Hong Kong</location>
-
- <organization>Ximian.</organization>
-
- <description>Ximian intern</description>
-
- <tasks>
-
- <task>XML Schema</task>
-
- <task>Documentation</task>
-
- <task>Other useful stuff</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Miguel</first-name>
-
- <last-name>de Icaza</last-name>
-
- </name>
-
- <e-mail>miguel@ximian.com</e-mail>
-
- <image>miguel.png</image>
-
- <location>Boston / Mexico City</location>
-
- <organization>Ximian/Gnome.</organization>
-
- <description>Ximian CTO</description>
-
- <tasks>
-
- <task>Mono Project Manager</task>
-
- <task>MCS compiler</task>
-
- <task>Core class libraries</task>
-
- <task>MonoDoc, Gtk#</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Gaurav</first-name>
-
- <last-name>Vaish</last-name>
-
- </name>
-
- <e-mail>gvaish_mono.nospam@nospam.lycos.com</e-mail>
-
- <image>gvaish.png</image>
-
- <location>Noida, India</location>
-
- <organization>Adobe Systems Inc.</organization>
-
- <description>Not a nerd yet</description>
-
- <tasks>
-
- <task>WebControls</task>
-
- <task>MobileControls</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Paolo</first-name>
-
- <last-name>Molaro</last-name>
-
- </name>
-
- <e-mail>lupus@ximian.com</e-mail>
-
- <image>none.png</image>
-
- <location>Italy</location>
-
- <organization>Ximian/Debian/Gnome.</organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>Runtime implementation</task>
-
- <task>Core class libraries</task>
-
- <task>JIT compiler</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Dietmar</first-name>
-
- <last-name>Maurer</last-name>
-
- </name>
-
- <e-mail>dietmar@ximian.com</e-mail>
-
- <image>dietmar.png</image>
-
- <location>Austria</location>
-
- <organization>Dietmar IT/Ximian</organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>Runtime implementation</task>
-
- <task>Core class libraries</task>
-
- <task>JIT compiler</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Patrik</first-name>
-
- <last-name>Torstensson</last-name>
-
- </name>
-
- <e-mail>Patrik.Torstensson AT intel.com</e-mail>
-
- <image>none.png</image>
-
- <location>Sweden</location>
-
- <organization></organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>System.Web core classes (ASP.NET)</task>
-
- <task>Runtime implementation</task>
-
- <task>Core class libraries (Threading, Remoting)</task>
-
- <task>Random fixes (JIT)</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Juli</first-name>
-
- <last-name>Mallett</last-name>
-
- </name>
-
- <e-mail>jmallett@FreeBSD.org</e-mail>
-
- <location>Honolulu, Hawai`i</location>
-
- <tasks>
-
- <task>(Runtime) Portability</task>
-
- <task>FreeBSD packaging</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Pedro</first-name>
-
- <last-name>Martinez</last-name>
-
- </name>
-
- <e-mail>yoros@wanadoo.es</e-mail>
-
- <image>pedro.png</image>
-
- <location>Murcia, Spain</location>
-
- <organization>None</organization>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>Testing core class libraries</task>
-
- <task>Fixing little bugs</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Alp</first-name>
-
- <last-name>Toker</last-name>
-
- </name>
-
- <e-mail>alp@atoker.com</e-mail>
-
- <location>London, UK</location>
-
- <tasks>
-
- <task>Debian packaging</task>
-
- <task>Gtk# hacks</task>
-
- <task>Random fixes</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Marco</first-name>
-
- <last-name>Ridoni</last-name>
-
- </name>
-
- <e-mail>marco.ridoni@virgilio.it</e-mail>
-
- <location>Rome, Italy</location>
-
- <tasks>
-
- <task>MonoBasic</task>
-
- <task>MonoBasic runtime</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Tim</first-name>
-
- <last-name>Coleman</last-name>
-
- </name>
-
- <e-mail>tim@timcoleman.com</e-mail>
-
- <image>timc.png</image>
-
- <location>Waterloo, Ontario, Canada</location>
-
- <tasks>
-
- <task>ADO.NET</task>
-
- <task>Web Services</task>
-
- <task>Class library hacking</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Martin Willemoes</first-name>
-
- <last-name>Hansen</last-name>
-
- </name>
-
- <e-mail>mwh -AT- sysrq.dkNOSPAM</e-mail>
-
- <image>mwh.png</image>
-
- <location>Aarhus, Denmark</location>
-
- <description>Wannabe mono hacker</description>
-
- <tasks>
-
- <task>NUnit1 -&gt; NUnit2 conversion</task>
-
- <task>Mono Handbook, Documentation</task>
-
- <task>DiaCanvas#</task>
-
- <task>Various fixes</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Piers</first-name>
-
- <last-name>Haken</last-name>
-
- </name>
-
- <e-mail>piersh@friskit.com</e-mail>
-
- <image>none.png</image>
-
- <location>San Francisco, CA</location>
-
- <organization>Friskit Inc.</organization>
-
- <tasks>
-
- <task>XPath</task>
-
- <task>corcompare / class-status</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Johannes</first-name>
-
- <last-name>Roith</last-name>
-
- </name>
-
- <e-mail>johannes@jroith.de</e-mail>
-
- <image>johannes.png</image>
-
- <location>Germany</location>
-
- <organization>None</organization>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>Mono Handbook</task>
-
- <task>Windows packaging</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Per</first-name>
-
- <last-name>Arneng</last-name>
-
- </name>
-
- <e-mail>pt99par@student.bth.se</e-mail>
-
- <image>per.png</image>
-
- <location>Ronneby, Sweden</location>
-
- <organization>None</organization>
-
- <description>Job seeking student</description>
-
- <tasks>
-
- <task>Class libraries</task>
-
- <task>Class Documentation</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Sebastien</first-name>
-
- <last-name>Pouliot</last-name>
-
- </name>
-
- <e-mail>sebastien at ximian dot com</e-mail>
-
- <image>spouliot.png</image>
-
- <location>Quebec City, Canada</location>
-
- <organization>Novell Ximian</organization>
-
- <description>Cryptoman</description>
-
- <tasks>
-
- <task>Cryptography</task>
-
- <task>Security</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Cesar</first-name>
-
- <last-name>Lopez Nataren</last-name>
-
- </name>
-
- <e-mail>cesar@ciencias.unam.mx</e-mail>
-
- <image>cesar.png</image>
-
- <location>Mexico City/Tuxtla Gutierrez, Chiapas.</location>
-
- <description>Contributor</description>
-
- <tasks>
-
- <task>Random little patches</task>
-
- <task>JScript compiler</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Hector</first-name>
-
- <last-name>Gomez Morales</last-name>
-
- </name>
-
- <e-mail>hgomez_36@flashmail.com</e-mail>
-
- <image>hector.png</image>
-
- <location>Mexico City/Tijuana, BC.</location>
-
- <description>Contributor</description>
-
- <tasks>
-
- <task>Random little patches</task>
-
- <task>Documentation</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Jackson </first-name>
-
- <last-name>Harper</last-name>
-
- </name>
-
- <e-mail>jackson@ximian.com</e-mail>
-
- <image>jackson.png</image>
-
- <location>Victoria, Canada</location>
-
- <description>Hacker</description>
-
- <tasks>
-
- <task>IL Assembler</task>
-
- <task>System.Web</task>
-
- <task>Bug Fix0r</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Nick</first-name>
-
- <last-name>Drochak</last-name>
-
- </name>
-
- <e-mail>ndrochak AT ieee.org</e-mail>
-
- <image>nickd.png</image>
-
- <location>Tokyo, Japan</location>
-
- <organization>The Ingenium Group</organization>
-
- <description>Programmer-type dude</description>
-
- <tasks>
-
- <task>Unit Tests</task>
-
- <task>Quality Assurance</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Alan, Siu Lung</first-name>
-
- <last-name>Tam</last-name>
-
- </name>
-
- <e-mail>Tam@SiuLung.com</e-mail>
-
- <image>none.png</image>
-
- <location>Hong Kong SAR, People's Republic of China</location>
-
- <description>Programmer-type dude</description>
-
- <tasks>
-
- <task>ADO.NET</task>
-
- <task>Chinese encodings</task>
-
- <task>Misc bug fixes</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Lluis</first-name>
-
- <last-name>Sanchez</last-name>
-
- </name>
-
- <e-mail>lluis@ideary.com</e-mail>
-
- <image>lluis.png</image>
-
- <location>Barcelona, Spain</location>
-
- <organization>Unemployed</organization>
-
- <description>Mono Hacker</description>
-
- <tasks>
-
- <task>Remoting</task>
-
- <task>Binary serialization</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Martin</first-name>
-
- <last-name>Baulig</last-name>
-
- </name>
-
- <e-mail>martin@ximian.com</e-mail>
-
- <image>none.png</image>
-
- <location>Germany</location>
-
- <organization>Ximian.</organization>
-
- <description>Ximian intern</description>
-
- <tasks>
-
- <task>Debugger/Debugging support</task>
-
- <task>C# compiler</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Mike</first-name>
-
- <last-name>Kestner</last-name>
-
- </name>
-
- <e-mail>mkestner@ximian.com</e-mail>
-
- <image>none.png</image>
-
- <location>USA</location>
-
- <organization>Ximian.</organization>
-
- <description>Evolution developer</description>
-
- <tasks>
-
- <task>Gtk# language binding</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Rachel</first-name>
-
- <last-name>Hestilow</last-name>
-
- </name>
-
- <e-mail>rachel@nullenvoid.com</e-mail>
-
- <image>none.png</image>
-
- <location>USA</location>
-
- <organization></organization>
-
- <description></description>
-
- <tasks>
-
- <task>Gtk# language binding</task>
-
- <task>MonoLOGO</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Jonathan</first-name>
-
- <last-name>Pryor</last-name>
-
- </name>
-
- <e-mail>jonpryor@vt.edu</e-mail>
-
- <image>jonpryor.png</image>
-
- <location>Richmond, Virginia</location>
-
- <organization>Cadmus Professional Communications</organization>
-
- <description>Mono Hacker</description>
-
- <tasks>
-
- <task>Type Reflector</task>
- <task>S.Diagnostics Trace/Debug/Listeners</task>
- <task>Config File Support</task>
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Ben</first-name>
-
- <last-name>Maurer</last-name>
-
- </name>
-
- <e-mail>bmaurer@users.sf.net</e-mail>
-
- <image>none.png</image>
-
- <location>USA</location>
-
- <organization>N/A</organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>Mono.Math.BigInteger</task>
-
- <task>Other random stuff.</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Daniel</first-name>
-
- <last-name>Morgan</last-name>
-
- </name>
-
- <e-mail>danielmorgan@verizon.net</e-mail>
-
- <image>none.png</image>
-
- <location>Richmond, Virginia, USA</location>
-
- <organization>an insurance company</organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>ADO.NET</task>
-
- <task>SQL# Query Tool</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Gonzalo</first-name>
-
- <last-name>Paniagua Javier</last-name>
-
- </name>
-
- <e-mail>gonzalo@ximian.com</e-mail>
-
- <image>gonzalo.png</image>
-
- <location>Spain</location>
-
- <organization>Ximian.</organization>
-
- <description>Mono hacker</description>
-
- <tasks>
-
- <task>System.Web core classes (ASP.NET)</task>
-
- <task>Core class libraries</task>
-
- <task>Gtk#</task>
-
- <task>nunit-gtk (NUnit2 Gtk# frontend)</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Rafael</first-name>
-
- <last-name>Teixeira</last-name>
-
- </name>
-
- <e-mail>rafaelteixeirabr@hotmail.com</e-mail>
-
- <image>none.png</image>
-
- <location>Săo Paulo</location>
-
- <organization>WEBforAll.</organization>
-
- <description>Mono/MonoQLE hacker</description>
-
- <tasks>
-
- <task>MonoBASIC (mbas)</task>
-
- <task>Mono.GetOptions</task>
-
- <task>System.Messaging</task>
-
- <task>System.ServiceProcess</task>
-
- <task>System.Configuration.Install</task>
-
- <task>System.DirectoryServices</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Atsushi</first-name>
-
- <last-name>Enomoto</last-name>
-
- </name>
-
- <e-mail>atsushi@ximian.com</e-mail>
-
- <image>none.png</image>
-
- <location>Tokyo, Japan</location>
-
- <organization>Ximian</organization>
-
- <description>Mono Hacker</description>
-
- <tasks>
-
- <task>System.Xml</task>
-
- <task>RELAX NG</task>
-
- <task>Japanese Website Translation</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Ravi</first-name>
-
- <last-name>Pratap M</last-name>
-
- </name>
-
- <e-mail>ravi@ximian.com</e-mail>
-
- <image>rpratap.png</image>
-
- <location>St. Louis</location>
-
- <organization>Ximian (formerly)</organization>
-
- <description>Ximian hacker</description>
-
- <tasks>
-
- <task>MCS Compiler</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Mark</first-name>
-
- <last-name>Crichton</last-name>
-
- </name>
-
- <e-mail>reverse_gro.pmig@nothcirc</e-mail>
-
- <image>none.png</image>
-
- <location>Amherst, MA</location>
-
- <organization>Univ. of Mass., Amherst</organization>
-
- <description>Research Asst.</description>
-
- <tasks>
-
- <task>Vorbis#</task>
-
- <task>GtkMozEmbed#</task>
-
- <task>SPARC Work</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Dick</first-name>
-
- <last-name>Porter</last-name>
-
- </name>
-
- <e-mail>dick@ximian.com</e-mail>
-
- <image>none.png</image>
-
- <location>Swansea</location>
-
- <organization>Ximian</organization>
-
- <description>Hacker</description>
-
- <tasks>
-
- <task>Runtime implementation</task>
-
- <task>Core class libraries</task>
-
- <task>Host system integration</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Alexandre</first-name>
-
- <last-name>Pigolkine</last-name>
-
- </name>
-
- <e-mail>pigolkine@gmx.de</e-mail>
-
- <image>none.png</image>
-
- <location>Germany</location>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>System.Windows.Forms</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Lee</first-name>
-
- <last-name>Mallabone</last-name>
-
- </name>
-
- <e-mail>mono-docs@fonicmonkey.net</e-mail>
-
- <image>none.png</image>
-
- <location>Cambridge, UK</location>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>Gtk#</task>
-
- <task>Technical documentation</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Eduardo</first-name>
-
- <last-name>Garcia Cebollero</last-name>
-
- </name>
-
- <e-mail>kiwnix@yahoo.es</e-mail>
-
- <image>none.png</image>
-
- <location>Madrid, Spain</location>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>Small Bugfixes</task>
-
- <task>NUnit Tests</task>
-
- </tasks>
-
- </contributor>
-
-
- <contributor>
-
- <name>
-
- <first-name>Reggie</first-name>
-
- <last-name>Burnett</last-name>
-
- </name>
-
- <e-mail>reggie@bytefx.com</e-mail>
-
- <image>reggie.png</image>
-
- <location>Tennessee, USA</location>
-
- <organization>ByteFX, Inc.</organization>
-
- <description>Consultant</description>
-
- <tasks>
-
- <task>MySQL ADO.Net Provider</task>
-
- <task>SWF libraries</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Jean-Marc</first-name>
-
- <last-name>Andre</last-name>
-
- </name>
-
- <e-mail>jean-marc.andre@polymtl.ca</e-mail>
-
- <image>none.png</image>
-
- <location>Montreal, Canada</location>
-
- <organization>Ecole Polytechnique de Montreal</organization>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>SOAP formatting</task>
-
- <task>NUnit tests</task>
-
- </tasks>
-
- </contributor>
- <contributor>
- <name>
- <first-name>Aleksey</first-name>
- <last-name>Ryabchuk</last-name>
- </name>
- <e-mail>ryabchuk@yahoo.com</e-mail>
- <image>aleksey.png</image>
- <location>Ireland</location>
- <description>External Contributor</description>
- <tasks>
- <task>System.Windows.Forms</task>
- </tasks>
- </contributor>
- <contributor>
- <name>
- <first-name>Ville</first-name>
- <last-name>Palo</last-name>
- </name>
- <e-mail>vi64pa - AT - kolumbus.fi</e-mail>
- <image>none.png</image>
- <location>Finland</location>
- <description>Contributor</description>
- <tasks>
- <task>System.Data</task>
- <task>System.IO</task>
- </tasks>
- </contributor>
-
-
- <contributor>
-
- <name>
-
- <first-name>Charles Iliya</first-name>
-
- <last-name>Krempeaux</last-name>
-
- </name>
-
- <e-mail>charles@reptile.ca</e-mail>
-
- <image>none.png</image>
-
- <location>Surrey, BC, Canada</location>
-
- <organization>Reptile Consulting &amp; Services Ltd.</organization>
-
- <description>Consultant</description>
-
- <tasks>
-
- <task>Gtk# - GNOME .NET binding</task>
-
- <task>System.Drawing.Printing</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Vladimir</first-name>
-
- <last-name>Kaluzhny</last-name>
-
- </name>
-
- <e-mail>vkaluzhny@openlinksw.co.uk</e-mail>
-
- <image>none.png</image>
-
- <location>Novosibirsk, Russia</location>
-
- <organization>Openlink Software</organization>
-
- <description>External Contributor</description>
-
- <tasks>
-
- <task>System.Windows.Forms</task>
-
- <task>WineLib</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Jaime</first-name>
-
- <last-name>Anguiano Olarra</last-name>
-
- </name>
-
- <e-mail>jaime@gnome.org</e-mail>
-
- <image>none.png</image>
-
- <location>Malaga/Granada, Spain</location>
-
- <organization>The Mono Project?</organization>
-
- <description>Wanabee, MWN maintainer</description>
-
- <tasks>
-
- <task>I try to help everywhere I can</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Zoltan</first-name>
-
- <last-name>Varga</last-name>
-
- </name>
-
- <e-mail>vargaz -AT- NOSPAM.freemail.hu</e-mail>
-
- <image>none.png</image>
-
- <location>Hungary</location>
-
- <organization></organization>
-
- <description></description>
-
- <tasks>
-
- <task>IKVM port</task>
-
- <task>Runtime hacking</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>John</first-name>
-
- <last-name>Luke</last-name>
-
- </name>
-
- <e-mail>jluke@cfl.rr.com</e-mail>
-
- <image>jluke.png</image>
-
- <location>Daytona, FL</location>
-
- <organization></organization>
-
- <description>Contributor.</description>
-
- <tasks>
-
- <task>Documentation.</task>
-
- <task>Monodoc.</task>
-
- <task>Gtk#</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Peter</first-name>
-
- <last-name>Williams</last-name>
-
- </name>
-
- <e-mail>peter@newton.cx</e-mail>
-
- <image>peterw.png</image>
-
- <location>Cambridge, MA</location>
-
- <organization></organization>
-
- <description>Makefile Magician</description>
-
- <tasks>
-
- <task>MCS build system </task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Todd</first-name>
-
- <last-name>Berman</last-name>
-
- </name>
-
- <e-mail>tberman@gentoo.org</e-mail>
-
- <image>tberman.png</image>
-
- <location>Toronto, ON, CA</location>
-
- <organization></organization>
-
- <description>hacker</description>
-
- <tasks>
-
- <task>WSE2</task>
-
- <task>gacutil</task>
-
- <task>MonoDevelop</task>
-
- </tasks>
-
- </contributor>
- <contributor>
-
- <name>
-
- <first-name>Carlos</first-name>
-
- <last-name>Guzmán Álvarez</last-name>
-
- </name>
-
- <e-mail>carlosga@telefonica.net</e-mail>
-
- <image>none.png</image>
-
- <location>Vigo, Spain</location>
-
- <organization></organization>
-
- <description>Contributor</description>
-
- <tasks>
-
- <task>TLS protocol</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Jordi</first-name>
-
- <last-name>Mas i Hernŕndez</last-name>
-
- </name>
-
- <e-mail>jordi [at] ximian.com</e-mail>
-
- <image>jordi.png</image>
-
- <location>Barcelona, Spain</location>
-
- <organization></organization>
-
- <description>Developer</description>
-
- <tasks>
-
- <task>System.Drawing implementation</task>
- <task>Windows.Forms implementation</task>
-
- </tasks>
-
- </contributor>
-
- <contributor>
-
- <name>
-
- <first-name>Pedro</first-name>
-
- <last-name>Abelleira Seco</last-name>
-
- </name>
-
- <e-mail>pedroabelleira@yahoo.es</e-mail>
-
- <image>pedroas.png</image>
-
- <location>Galicia, Spain</location>
-
- <organization></organization>
-
- <description>Developer</description>
-
- <tasks>
-
- <task>MonoDevelop</task>
-
- </tasks>
-
- </contributor>
-
-</contributors>
diff --git a/doc/web/team.xsd b/doc/web/team.xsd
deleted file mode 100755
index 30143d7c26c..00000000000
--- a/doc/web/team.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<xs:schema id="contributors" targetNamespace="http://go-mono.org/team.xsd" xmlns="http://go-mono.org/team.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="contributor">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="first-name" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="last-name" type="xs:string" minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="e-mail" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="image" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="location" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="organization" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="tasks" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="task" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema>
-
diff --git a/doc/web/team/aleksey.png b/doc/web/team/aleksey.png
deleted file mode 100755
index 2b650587e01..00000000000
--- a/doc/web/team/aleksey.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/cesar.png b/doc/web/team/cesar.png
deleted file mode 100644
index d416c35829b..00000000000
--- a/doc/web/team/cesar.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/dietmar.png b/doc/web/team/dietmar.png
deleted file mode 100644
index e6086982d61..00000000000
--- a/doc/web/team/dietmar.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/duncan.png b/doc/web/team/duncan.png
deleted file mode 100755
index 69b5e638c55..00000000000
--- a/doc/web/team/duncan.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/gonzalo.png b/doc/web/team/gonzalo.png
deleted file mode 100644
index 6379362df31..00000000000
--- a/doc/web/team/gonzalo.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/gvaish.png b/doc/web/team/gvaish.png
deleted file mode 100644
index 131f9ae5966..00000000000
--- a/doc/web/team/gvaish.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/hector.png b/doc/web/team/hector.png
deleted file mode 100644
index 0e0781f961b..00000000000
--- a/doc/web/team/hector.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/jackson.png b/doc/web/team/jackson.png
deleted file mode 100644
index 2fb5545ee61..00000000000
--- a/doc/web/team/jackson.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/jluke.png b/doc/web/team/jluke.png
deleted file mode 100644
index d8578ad8258..00000000000
--- a/doc/web/team/jluke.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/johannes.png b/doc/web/team/johannes.png
deleted file mode 100755
index 096f88205dc..00000000000
--- a/doc/web/team/johannes.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/jonpryor.png b/doc/web/team/jonpryor.png
deleted file mode 100644
index d921a2dc051..00000000000
--- a/doc/web/team/jonpryor.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/jordi.png b/doc/web/team/jordi.png
deleted file mode 100644
index 126e5dff5f4..00000000000
--- a/doc/web/team/jordi.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/lluis.png b/doc/web/team/lluis.png
deleted file mode 100644
index b22edbfcd9a..00000000000
--- a/doc/web/team/lluis.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/miguel.png b/doc/web/team/miguel.png
deleted file mode 100644
index 534ccd4caf4..00000000000
--- a/doc/web/team/miguel.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/mwh.png b/doc/web/team/mwh.png
deleted file mode 100644
index 4a390c5bb86..00000000000
--- a/doc/web/team/mwh.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/nickd.png b/doc/web/team/nickd.png
deleted file mode 100644
index c9a1561a3d5..00000000000
--- a/doc/web/team/nickd.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/none.png b/doc/web/team/none.png
deleted file mode 100755
index deba20e455e..00000000000
--- a/doc/web/team/none.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/pedro.png b/doc/web/team/pedro.png
deleted file mode 100644
index a3a4496a0d6..00000000000
--- a/doc/web/team/pedro.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/pedroas.png b/doc/web/team/pedroas.png
deleted file mode 100644
index a639c6f33ab..00000000000
--- a/doc/web/team/pedroas.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/per.png b/doc/web/team/per.png
deleted file mode 100644
index 5374cb64e2c..00000000000
--- a/doc/web/team/per.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/peterw.png b/doc/web/team/peterw.png
deleted file mode 100644
index 1cb36eab7c8..00000000000
--- a/doc/web/team/peterw.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/reggie.png b/doc/web/team/reggie.png
deleted file mode 100644
index 4f5dd4f1f70..00000000000
--- a/doc/web/team/reggie.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/rpratap.png b/doc/web/team/rpratap.png
deleted file mode 100644
index 5c51c7db283..00000000000
--- a/doc/web/team/rpratap.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/spouliot.png b/doc/web/team/spouliot.png
deleted file mode 100644
index 5c85a17b0f0..00000000000
--- a/doc/web/team/spouliot.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/tberman.png b/doc/web/team/tberman.png
deleted file mode 100755
index 9a26c2be737..00000000000
--- a/doc/web/team/tberman.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/team/timc.png b/doc/web/team/timc.png
deleted file mode 100644
index a129020576c..00000000000
--- a/doc/web/team/timc.png
+++ /dev/null
Binary files differ
diff --git a/doc/web/template.html.in b/doc/web/template.html.in
deleted file mode 100644
index 87f42ed24ef..00000000000
--- a/doc/web/template.html.in
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>#TITLE#</title>
-<link rel="icon" href="MonoIcon.png" type="image/png">
-<!-- background-image: url("images/bgsquares.gif"); -->
-<style type="text/css">
-<!--
- body { font-family: "trebuchet ms", lucida, verdana, helvetica;
-
- }
- body, td, table { font-family: "trebuchet ms", lucida, verdana, helvetica;
- font-size: 14px; }
-
- .navi0 { font-size: 14px; font-weight: bold; background: #444444; }
- .navi1 { font-size: 14px; font-weight: bold; left-margin: 10pt}
- .navi2 { font-size: 10px; font-weight: bold; left-margin: 20pt}
- .topmenu { font-size: 14px; font-weight: bold; }
- .footnote { font-size: 12px; color: #aaaaaa; }
-
- a.navi0 { color: #ffffff; text-decoration: none}
- a.navi0:visited { color: #cccccc; }
- a.navi0:hover { color: #ee9900; text-decoration: underline; }
-
- a.navi1 { color: #ffffff; text-decoration: none; margin-left: 7px;}
- a.navi1:visited { color: #cccccc; }
- a.navi1:hover { color: #ee9900; text-decoration: underline; }
-
- a.navi2 { color: #ffffff; text-decoration: none; margin-left: 20px;}
- a.navi2:visited { color: #cccccc; }
- a.navi2:hover { color: #ee9900; text-decoration: underline; }
-
- a.topmenu { color: #ffffff; text-decoration: none; margin-left: 7px;}
- a.topmenu:visited { color: #cccccc; }
- a.topmenu:hover { color: #ee9900; text-decoration: underline; }
-
- h1 {
- border-bottom: 2px solid #dddddd;
- }
-
- .shell {
- border-style: solid; background: #000000; color: #bbbbbb;
- #777777; border-width:
- 1px; padding: 2pt;
- margin:15px;
- }
-// -->
-</style>
-#CSS#
-#SCRIPT#
-</head>
-<body bgcolor="#555555" text="#000000">
-
-<table cellpadding="0" cellspacing="0" border="0" width="100%">
- <tr>
- <td><img src="images/pixel.gif" alt=""></td><!-- left border
- -->
- <td colspan="4">
- <table>
- <tr>
- <td>
- <a href="http://www.go-mono.com"><img
- src="images/mono-new.gif" alt="mono-logo" border="0"></a>
- </td>
- <td>
- <a class="topmenu" href="download.html">Downloads</a> |
- <a class="topmenu" href="http://go-mono.com/daily/">Daily snapshots</a> |
- <a class="topmenu" href="screenshots.html">Screenshots</a> |
- <a class="topmenu" href="http://www.go-mono.com:8080">Documentation</a> |
- <a class="topmenu" href="bugs.html">Bugs</a> |
- <a class="topmenu" href="http://www.go-mono.com/monologue/">Blogs</a>
- </td>
- </tr>
- </table>
- </td>
- <td><img src="images/pixel.gif" alt=""></td><!-- right border
- -->
- </tr>
- <tr>
- <td><img src="images/pixel.gif" width="1" height="1" alt=""></td>
- <td colspan="3" bgcolor="black"><img src="images/pixel.gif"
- height="2" alt=""></td>
- <td bgcolor="black"><img src="images/pixel.gif" width="1" alt=""></td>
- <td><img src="images/pixel.gif" alt=""></td>
- </tr>
- <tr>
- <td width="100"><img src="images/pixel.gif" alt=""></td>
- <td valign="top">
- <table cellpadding="2" valign="top" cellspacing="0" border="0">
- #MENU#
- </table>
- </td>
- <td bgcolor="black" width="1"><img src="images/pixel.gif"
- width="1" alt=""></td>
- <td bgcolor="white" align="left" width="80%" valign="top">
- <table cellpadding="16">
- <tr><td>
- #CONTENT#
- </td></tr>
- </table>
- </td>
- <td bgcolor="black"><img src="images/pixel.gif" width="1" alt=""></td>
- <td width="100"><img src="images/pixel.gif" alt=""></td>
- </tr>
- <tr>
- <td colspan="2">
- <img src="images/pixel.gif" alt=""></td>
- <td colspan="2" bgcolor="black"><img src="images/pixel.gif"
- height="1" alt=""></td>
- <td bgcolor="black"><img src="images/pixel.gif" width="1" alt=""></td>
- <td><img src="images/pixel.gif" alt=""></td>
- </tr>
-
- <tr>
- <td colspan="2"></td>
- <td colspan="2" align="center">
- <a class="footnote" href="mailto:webmaster@go-mono.com">webmaster@go-mono.com</a>
- </td>
- <td colspan="2"></td>
- </tr>
- </tr>
-</table>
-
-</body>
-</html>
diff --git a/doc/web/transform.cs b/doc/web/transform.cs
deleted file mode 100644
index af6424f90c3..00000000000
--- a/doc/web/transform.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Xml;
-using System.Xml.Xsl;
-
-namespace Transform
-{
- class Transform
- {
- public static void Main (string [] rgstrArgs)
- {
- XmlDocument xml = new XmlDocument ();
- xml.Load (rgstrArgs [0]);
-
- XslTransform xsl = new XslTransform ();
- xsl.Load (rgstrArgs [1]);
-
- xsl.Transform (xml, null, Console.Out);
- }
- }
-}
diff --git a/doc/winforms b/doc/winforms
deleted file mode 100644
index b98d0d3a561..00000000000
--- a/doc/winforms
+++ /dev/null
@@ -1,96 +0,0 @@
-* System.Windows.Forms
-
- Currently Windows.Forms support is not finished.
-
- The System.Windows.Forms effort is taking two paths:
-
- <ul>
- <li>Win32/Wine-based: This effort will use the Win32
- API, and use a stub program to run the with Wine.
- This allows applications that use P/Invoke to
- function, and event delivery through the Wndproc
- method to work for the most advanced and custom
- applications. This is the path of best compatibility.
-
- Also, work on a Gtk-based rendered for Wine will be
- done, to make the user interface integrate with your
- desktop look.
-
- <li>Gtk# based: This effort will build a subset of
- Windows.Forms that uses Gtk#. This gives a better
- integration with the desktop, but will not be
- completely compatible with the Windows edition. In
- particular code that uses P/Invoke to call into Win32
- or overwrite the Wndproc method to achieve special
- effects will not work.
- </ul>
-
-* Win32/Wine edition.
-
- To get the Windows.Forms support working, you need a Mono
- installation from CVS, and you need to install Wine plus the
- <a href="http://www.openlinksw.com">OpenLink patch</a>, and
- define the environment variable "SWF" (export SWF=1 from your
- shell). For more information, see the <a
- href="http://www.nullenvoid.com/mono/wiki/index.php/MonoWinePackages">Mono
- Wine Packages</a> page in the Mono Wiki.
-
- <table>
- <tr>
- <td>
- System.Windows.Forms is currently being implemented using the
- Win32 API, we will be using <a
- href="http://www.winehq.com">WineLib</a> on Unix systems to
- emulate the Win32 API.
-
- This means that those who want to contribute to the effort can
- develop and test classes today using Windows and P/Invoke
- calls to Win32 and we will then just run the result on Unix.
-
- In terms of integrating visually with the desktop, we are
- hoping to contribute to the Wine project a mechanism to make
- it use the Gtk+ themes on X11 and Cocoa on MacOS to render the
- widgets, and get the native look and feel on each of these
- platforms.
- </td>
- <td>
- <a href="images/WINESWF.JPG"><img src="images/WINESWF-mini.JPG"></a>
- </td>
-
- </table>
-
-* Gtk# based
-
- The code is contained in CVS.
-
- There are no current plans to support embedded devices, but
- Gtk/FrameBuffer is an option. If you have suggestions or
- recommendations, please let us <a
- href="mailto:mono-hackers-list@ximian.com">let us know</a>
-
-* Contributing
-
- The Winforms effort is being coordinated in the <a
- href="mailto:mono-winforms-list@ximian.com:.com">mono-winforms-list@ximian.com</a>.
- If you are interested in helping out with this effort,
- subscribe to it by sending an email message to <a
- href="mailto:mono-winforms-list-request@ximian.com:.com">mono-winforms-list-request@ximian.com</a>.
-
- If you want to help, you can start by writing a control and
- testing it with Windows today (or you can also try to build
- the existing library on Linux, but this is a bit more
- complicated).
-
- See the file mcs/class/System.Windows.Forms/CheckOutList for
- details on who is working on which class.
-
- Please read the README document in the
- System.Windows.Forms/WINElib directory for details about how
- to build the Windows.Forms support for Mono.
-
-* System.Drawing
-
- For details, see the <a
- href="drawing.html">System.Drawing implementation notes</a>
- section of the web site.
-
diff --git a/doc/xml-classes b/doc/xml-classes
deleted file mode 100755
index d0ac9898b85..00000000000
--- a/doc/xml-classes
+++ /dev/null
@@ -1,318 +0,0 @@
-* XML Classes
-
-** Abstract
-
- XML library is used by several field of Mono such as ADO.NET and XML
- Digital Signature (xmldsig). Here I write about System.Xml.dll and
- related tools. This page won't include any classes which are in other
- assemblies such as XmlDataDocument.
-
- Note that current corlib has its own XML parser class named Mono.Xml.MiniParser.
-
- Basically System.XML.dll feature has finished, or almost finished, so
- I write this page mainly for bugs and improvement hints.
-
-
-** System.Xml namespace
-
-
-*** Document Object Model (Core)
-
- DOM feature has already implemented. There is still missing feature.
-
- <ul>
- * ID constraint support is problematic because W3C DOM does not
- specify handling of ID attributes into non-adapted element.
- (MS.NET also looks incomplete in this area).
- * I think, event feature is not fully tested. There are no
- concrete desctiption on which events are risen, so we have to
- do some experiment on MS.NET.
- </ul>
-
-*** Xml Writer
-
- Here XmlWriter almost equals to XmlTextWriter. If you want to see
- another implementation, check XmlNodeWriter.cs used in monodoc.
-
- XmlTextWriter is completed. However, it looks slower than MS.NET (I
- tried 1.1). After some optimization, it became better, but maybe it can be
- done more.
-
-*** XmlResolver
-
- Currently XmlTextReader uses specified XmlResolver. If nothing was supplied,
- then it uses XmlUrlResolver. XmlResolver is used to parse external DTD,
- importing XSL stylesheets and schemas etc.
-
- However, XmlUrlResolver is still buggy (mainly because System.Uri is also
- incomplete yet) and this results in several loading error.
-
- XmlSecureResolver, which is introduced in MS .NET Framework 1.1 is basically
- implemented, but it requires CAS (code access security) feature. We need to
- fixup this class after ongoing CAS effort works.
-
- You might also be interested in an improved <a href="http://codeblogs.ximian.com/blogs/benm/archives/000039.html">XmlCachingResolver</a> by Ben Maurer.
-
-*** XmlNameTable
-
- XmlNameTable itself is implemented. However, it should be actually used in
- several classes. Currently it makes sense if compared names are both in
- the table, they should be simply compared using ReferenceEquals(). We
- have partially done in XmlNamespaceManager (in .NET 1.2 methods; if the
- build is not NET_1_2 then it is internal use only).
-
-*** Xml Stream Reader
-
- When we are using ASCII document, we don't care which encoding we are using.
- However, XmlTextReader must be aware of the specified encoding in XML
- declaration. So we have internal XmlStreamReader class (and currently
- XmlInputStream class. This may disappear since XmlStreamReader is enough to
- handle this problem).
-
- However, there seems some problems in these classes on reading network
- stream (especially on Linux). This should be fixed soon, if we found the
- actual reason.
-
-*** XML Reader
-
- XmlTextReader, XmlNodeReader and XmlValidatingReader are almost finished.
-
- <ul>
- * All OASIS conformance test passes as Microsoft does. Some
- W3C tests fail, but it looks better.
- * Entity expansion and its well-formedness check is incomplete.
- It incorrectly allows divided content models. It incorrectly
- treats its Base URI, so some dtd fails.
- * Unicode surrogate pair character is not supported yet.
- * I won't add any XDR support on XmlValidatingReader. (I haven't
- ever seen XDR used other than Microsoft's BizTalk Server 2000,
- and Now they have 2002 with XML Schema support)
- </ul>
-
- XmlTextReader and XmlValidatingReader should be faster than now. Currently
- XmlTextReader looks nearly twice as slow as MS.NET, and XmlValidatingReader
- (which uses this slow XmlTextReader) looks nearly three times slower. (Note
- that XmlValidatingReader won't be slow as itself. It uses schema validating
- reader and dtd validating reader.)
-
-
-**** Some Advantages
-
- The design of Mono's XmlValidatingReader is radically different from
- that of Microsoft's implementation. Under MS.NET, DTD content validation
- engine is in fact simple replacement of XML Schema validation engine.
- Mono's DTD validation is designed fully separate and does validation
- as normal XML parser does. For example, Mono allows non-deterministic DTD.
-
- Another advantage of this XmlValidatingReader is support for *any* XmlReader.
- Microsoft supports only XmlTextReader.
-
- I added extra support interface named "IHasXmlParserContext", which is
- considered in XmlValidatingReader.ResolveEntity(). Microsoft failed to
- design XmlReader to support pluggable use of XmlReader (i.e. wrapping use
- of other XmlReader) since XmlParserContext is required to support both
- entity resolution and namespace manager. (In .NET 1.2, Microsoft also
- supported similar to IHasXmlParserContext, named IXmlNamespaceResolver,
- but it still does not provide any DTD information.)
-
- We also have RELAX NG validating reader. See mcs/class/Commons.Xml.Relaxng.
-
-
-** System.Xml.Schema
-
-*** Summary
-
- Basically it is completed. We can compile complex and simple types, refer to
- external schemas, extend or restrict other types, or use substitution groups.
- You can test how current schema validation engine is (in)complete by using
- standalone test module
- (see mcs/class/System.XML/Test/System.Xml.Schema/standalone_tests).
- At least in my box, msxsdtest fails only 30 cases with bugfixed catalog.
-
-*** Schema Object Model
-
- Completed, except for some things to be fixed:
-
- <ul>
- * Complete facet support. Currently some of them is missing.
- Recently David Sheldon is doing several fixes on them.
- * ContentTypeParticle for pointless xs:choice is incomplete
- (It is because fixing this arose another bugs in
- compilation. Interestingly, MS.NET also fails around here,
- so it might be nature of ContentTypeParticle design)
- * Some derivation by restriction (DBR) handling is incorrect.
- * Some simple type restriction handling is still incorrect.
- </ul>
-
-*** Validating Reader
-
- XML Schema validation feature is (currently) implemented on
- Mono.Xml.Schema.XsdValidatingReader, which is internally used in
- XmlValidatingReader.
-
- Basically this is implemented and actually its feature is almost complete,
- but I have only did validation feature testing. So we have to write more
- tests on properties, methods, and events (validation errors).
-
-
-** System.Xml.Serialization
-
- Lluis rules ;-)
-
- Well, in fact XmlSerializer is almost finished and is on bugfix phase.
-
- However, we appliciate more tests. Please try
-
- <ul>
- * System.Web.Services to invoke SOAP services.
- * xsd.exe and wsdl.exe to create classes.
- </ul>
-
- And if any problems were found, please file it to bugzilla.
-
- Lluis also built interesting standalone test system placed under
- mcs/class/System.Web.Services/Test/standalone.
-
- You might also interested in genxs, which enables you to create custom
- XML serializer. This is not included in Microsoft.NET.
- See mcs/tools/genxs for the details.
-
-
-** System.Xml.XPath and System.Xml.Xsl
-
- There are two implementations for XSLT. One (and historical) implementation
- is based on libxslt (aka Unmanaged XSLT). Now we uses fully implemented
- managed XSLT. To use Unmanaged XSLT, set MONO_UNMANAGED_XSLT environment
- value (any value is acceptable).
-
- As for Managed XSLT, we support msxsl:script.
-
- It would be nice if we can support <a href="http://www.exslt.org/">EXSLT</a>.
- <a href="http://msdn.microsoft.com/WebServices/default.aspx?pull=/library/en-us/dnexxml/html/xml05192003.asp">Microsoft has already done it</a>, but it
- is not good code since it depends on internal concrete derivatives of
- XPathNodeIterator classes. In general, .NET's "extension objects" is not
- usable to return node-sets, so if we support EXSLT, it has to be done
- internally inside our System.XML.dll. Volunteers are welcome.
-
- Our managed XSLT implementation is still inefficient. XslTransform.Load()
- and .Transform() looks three times slower (However it depends on
- XmlTextReader which is also slow, so we are starting optimization from
- that class, not XSLT itself). These number are only for specific cases,
- and there might be more critical point on XSLT engine (mainly
- XPathNodeIterator).
-
-
-** System.Xml and ADO.NET v2.0
-
- Microsoft introduced the first beta version of .NET Framework 1.2 runtime
- and sdk (and Visual Studio Whidbey). They are now available on MSDN
- _subscriber_ download (i.e. it is not publicly downloadable yet). It
- contains several new classes.
-
- There are two assemblies related to System.Xml v2.0; System.Xml.dll and
- System.Data.SqlXml.dll (here I treat sqlxml.dll as part of System.Xml v2.0,
- but note that it is also one of the ADO.NET 2.0 feature). There are several
- namespaces such as MS.Internal.Xml and System.Xml. Note that .NET Framework
- is pre-release version and MS.Internal.Xml namespace apparently shows that
- it is not in stable status as yet.
-
- System.Xml 2.0 contains several features such as:
-
- <ul>
- * XPathNavigator2 and XPathDocument2
- * XML Query
- * XmlAdapter
- * XSLT IL generator (similar to Apache XSLTC) - it is
- internal use
- </ul>
-
- Tim Coleman started ADO.NET 2.0 related works. Currently I have no plan to
- implement System.Xml v2.0 classes and won't touch with them immediately,
- but will start in next some months. If any of you wants to try this
- frontier, we welcome your effort.
-
-*** XPathNavigator2
-
- System.Xml v2.0 implementation will be started from XPathDocument2 and
- XPathNavigator2 implementations. Firstly, its document structure and
- basic navigation feature will be implemented. And next, XPath2 engine
- should be implemented (XPathNavigator2 looks very different from
- XPathNavigator). Another requirement is schema based validation feature.
- It needs some schema improvements, such like IXmlInfosetReader support.
- (IXmlInfosetReader is in MS.Internal.Xml.)
-
-*** XML Query
-
- XML Query is a new face XML data manipulation language (well, at least new
- to .NET world). It is similar to SQL, but intended to manipulate and to
- support XML. It is similar to XSLT, but extended to support new features
- such as XML Schema based datatypes.
-
- XML Query implementation can be found mainly in System.Xml.Query and
- MS.Internal.Xml.Query namespaces. Note that they are in
- System.Data.SqlXml.dll.
-
- MSDN documentation says that there are two kind of API for XML Query: High
- Level API and Low Level API. At the time of this beta version, the Low Level
- API is described not released yet (though it may be MS.Internal.Xml.*
- classes). However, to implement the High Level API, the Low Level API will
- be used. They looks to have interesting class structures in MS.Internal.Xml
- related stuff, so it would be nice (and I will) start to learn about them.
-
- They looks to have IL generator classes, but it would be difficult to
- start from them.
-
-*** System.Data.Mapping
-
- System.Data.Mapping and System.Data.Mapping.RelationalSchema are the
- namespaces for mapping support between database and xml. This is at
- stubbing phase (incomplete as yet).
-
-*** XmlAdapter
-
- XmlAdapter is used to support XML based query and update using
- XPathDocument2 and XPathNavigator2. This class is designed to synthesize
- ADO.NET and System.Xml. It connects to databases, and querys data however
- in XML shape into XPathDocument2, using Mapping schema above. This must be
- done after several classes such as XPathDocument2 and MappingSchema.
-
-
-** Miscellaneous Class Libraries
-
-*** RELAX NG
-
- I implemented an experimental RelaxngValidatingReader. It is far from
- complete, especially simplification stuff (see RELAX NG spec chapter 4),
- some constraints (in chapter 7), and datatype handling.
-
- I am planning improvements (starts with renaming classes, giving more
- kind error messages, supporting compact syntax and even object mapping),
- but it is still my wishlist.
-
-
-** Tools
-
-*** xsd.exe
-
- See <a href="ado-net.html">ADO.NET page</a>.
-
- Microsoft has another inference class from XmlReader to XmlSchemaCollection
- (Microsoft.XsdInference). It may be useful, but it won't be so easy.
-
-
-** Miscellaneous
-
- Sometimes I hear complain about System.dll and System.Xml.dll mutual
- dependency: System.dll references to System.Xml.dll (e.g.
- System.Configuration.ConfigXmlDocument extended from XmlDocument), while
- System.Xml.dll vice versa (e.g. XmlUrlResolver.ResolveUri takes System.Uri).
- Since they are in public method signatures, so at least we cannot get rid
- of these mutual references.
-
- However, for those who really want to build System.Xml.dll without System.dll,
- I created <a href="http://primates.ximian.com/~atsushi/System_DummyClasses.cs">dummy classes in System.dll</a>. To build System.Xml.dll in such way, remove
- <code>/r:System.dll</code> from Makefile, and add this source to
- System.Xml.dll.sources. Note that this is at the point of Mono 0.30 release.
-
- Also note that you still need System.dll to run mcs.
-