diff options
-rw-r--r-- | web/.gitattributes | 3 | ||||
-rw-r--r-- | web/.gitignore | 5 | ||||
-rw-r--r-- | web/ChangeLog | 128 | ||||
-rw-r--r-- | web/Makefile.am | 37 | ||||
-rw-r--r-- | web/MonoBeta1PressCoverage.html | 1 | ||||
-rw-r--r-- | web/MonoIcon.png | bin | 448 -> 0 bytes | |||
-rw-r--r-- | web/README | 54 | ||||
-rw-r--r-- | web/ado-net | 198 | ||||
-rw-r--r-- | web/anoncvs | 73 | ||||
-rwxr-xr-x | web/asp-net | 79 | ||||
-rw-r--r-- | web/beta1-press | 1 | ||||
-rw-r--r-- | web/blogs | 38 | ||||
-rw-r--r-- | web/books | 68 | ||||
-rw-r--r-- | web/bugs | 82 | ||||
-rw-r--r-- | web/c-sharp | 236 | ||||
-rw-r--r-- | web/ccvs | 443 | ||||
-rw-r--r-- | web/class-library | 190 | ||||
-rw-r--r-- | web/class-status.in | 15 | ||||
-rw-r--r-- | web/classlib-doc | 49 | ||||
-rw-r--r-- | web/compiling | 235 | ||||
-rw-r--r-- | web/contact | 13 | ||||
-rw-r--r-- | web/contributing | 275 | ||||
-rw-r--r-- | web/crypto | 335 | ||||
-rw-r--r-- | web/delegate | 23 | ||||
-rw-r--r-- | web/devel-faq | 190 | ||||
-rw-r--r-- | web/documentation | 260 | ||||
-rw-r--r-- | web/download | 1984 | ||||
-rw-r--r-- | web/drawing | 51 | ||||
-rwxr-xr-x | web/embedded-api | 305 | ||||
-rw-r--r-- | web/faq | 1670 | ||||
-rwxr-xr-x | web/firebird | 140 | ||||
-rw-r--r-- | web/forge | 72 | ||||
-rw-r--r-- | web/gcc-frontend | 7 | ||||
-rw-r--r-- | web/gtk-sharp | 157 | ||||
-rw-r--r-- | web/hackers | 67 | ||||
-rwxr-xr-x | web/ibmdb2 | 59 | ||||
-rw-r--r-- | web/ideas | 71 | ||||
-rw-r--r-- | web/index | 475 | ||||
-rw-r--r-- | web/issues | 54 | ||||
-rwxr-xr-x | web/java | 66 | ||||
-rw-r--r-- | web/jit-debug | 78 | ||||
-rwxr-xr-x | web/languages | 162 | ||||
-rw-r--r-- | web/mailing-lists | 271 | ||||
-rw-r--r-- | web/mbas | 57 | ||||
-rw-r--r-- | web/mono-1.0.html | 103 | ||||
-rw-r--r-- | web/mono-beginning | 36 | ||||
-rw-r--r-- | web/mono-beginning-windows.xml | 1065 | ||||
-rw-r--r-- | web/mono-beginning.xml | 1294 | ||||
-rw-r--r-- | web/mono-build-mac-fw-release.sh | 217 | ||||
-rwxr-xr-x | web/mono-build-w32.sh | 202 | ||||
-rwxr-xr-x | web/mono-build.sh | 254 | ||||
-rw-r--r-- | web/mono-contribution-howto | 551 | ||||
-rw-r--r-- | web/mono-hacking-roadmap.html | 312 | ||||
-rw-r--r-- | web/mono-roadmap.html | 396 | ||||
-rw-r--r-- | web/mono-todo | 266 | ||||
-rw-r--r-- | web/monodoc-xml | 755 | ||||
-rwxr-xr-x | web/mysql | 181 | ||||
-rwxr-xr-x | web/odbc | 218 | ||||
-rw-r--r-- | web/oldnews | 2917 | ||||
-rwxr-xr-x | web/oledb | 153 | ||||
-rwxr-xr-x | web/oracle | 168 | ||||
-rw-r--r-- | web/other | 42 | ||||
-rw-r--r-- | web/papers | 101 | ||||
-rw-r--r-- | web/passport | 298 | ||||
-rw-r--r-- | web/pending | 14 | ||||
-rw-r--r-- | web/pending-classes.in | 246 | ||||
-rw-r--r-- | web/performance | 215 | ||||
-rwxr-xr-x | web/plans | 15 | ||||
-rw-r--r-- | web/porting | 63 | ||||
-rw-r--r-- | web/postgresql | 365 | ||||
-rw-r--r-- | web/ppc | 39 | ||||
-rwxr-xr-x | web/print-stack | 15 | ||||
-rwxr-xr-x | web/projects | 22 | ||||
-rwxr-xr-x | web/provider-factory | 156 | ||||
-rw-r--r-- | web/rationale | 199 | ||||
-rw-r--r-- | web/release-notes/mono-0.3 | 46 | ||||
-rw-r--r-- | web/release-notes/mono-0.4 | 43 | ||||
-rw-r--r-- | web/remap | 36 | ||||
-rw-r--r-- | web/resources | 241 | ||||
-rw-r--r-- | web/resources-pending | 30 | ||||
-rw-r--r-- | web/roadmap | 12 | ||||
-rw-r--r-- | web/runtime | 204 | ||||
-rw-r--r-- | web/screenshots | 229 | ||||
-rwxr-xr-x | web/sqlclient | 263 | ||||
-rwxr-xr-x | web/sqlite | 143 | ||||
-rw-r--r-- | web/status | 40 | ||||
-rwxr-xr-x | web/sybase | 153 | ||||
-rw-r--r-- | web/tds-providers | 164 | ||||
-rwxr-xr-x | web/tdsclient | 157 | ||||
-rw-r--r-- | web/testing | 273 | ||||
-rw-r--r-- | web/thanks | 6 | ||||
-rw-r--r-- | web/todo | 53 | ||||
-rw-r--r-- | web/tools | 10 | ||||
-rw-r--r-- | web/web/.gitattributes | 1 | ||||
-rw-r--r-- | web/web/.gitignore | 4 | ||||
-rw-r--r-- | web/web/XhtmlWriter.cs | 254 | ||||
-rw-r--r-- | web/web/commands | 94 | ||||
-rw-r--r-- | web/web/deploy/.gitignore | 3 | ||||
-rw-r--r-- | web/web/deploy/cm/ChangeLog | 13 | ||||
-rw-r--r-- | web/web/deploy/cm/c.gif | bin | 150 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/cormissing.css | 213 | ||||
-rw-r--r-- | web/web/deploy/cm/cormissing.js | 593 | ||||
-rw-r--r-- | web/web/deploy/cm/d.gif | bin | 137 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/e.gif | bin | 861 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/en.gif | bin | 111 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/f.gif | bin | 90 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/i.gif | bin | 90 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/m.gif | bin | 101 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/n.gif | bin | 65 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/p.gif | bin | 111 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/r.gif | bin | 73 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/s.gif | bin | 127 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/sc.gif | bin | 70 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/se.gif | bin | 73 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/sm.gif | bin | 76 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/st.gif | bin | 101 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/sx.gif | bin | 73 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/tb.gif | bin | 49 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/tm.gif | bin | 64 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/tp.gif | bin | 67 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/w.gif | bin | 240 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/cm/y.gif | bin | 92 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/bgsquares.gif | bin | 4963 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/bgsquares.png | bin | 4643 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/bgsquares.xcf.gz | bin | 2775 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/mono.gif | bin | 3079 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/mono.png | bin | 4495 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/pixel.gif | bin | 49 -> 0 bytes | |||
-rw-r--r-- | web/web/deploy/images/pixel.png | bin | 156 -> 0 bytes | |||
-rw-r--r-- | web/web/htmlify | 37 | ||||
-rw-r--r-- | web/web/icaza.pl | 76 | ||||
-rw-r--r-- | web/web/images/bgsquares.gif | bin | 4963 -> 0 bytes | |||
-rw-r--r-- | web/web/images/bgsquares.png | bin | 4644 -> 0 bytes | |||
-rw-r--r-- | web/web/images/bgsquares.xcf.gz | bin | 2775 -> 0 bytes | |||
-rw-r--r-- | web/web/images/gtk-certview.png | bin | 32425 -> 0 bytes | |||
-rwxr-xr-x | web/web/images/mono-new.gif | bin | 6198 -> 0 bytes | |||
-rw-r--r-- | web/web/images/mono.gif | bin | 3079 -> 0 bytes | |||
-rw-r--r-- | web/web/images/mono.png | bin | 4496 -> 0 bytes | |||
-rw-r--r-- | web/web/images/pixel.gif | bin | 49 -> 0 bytes | |||
-rw-r--r-- | web/web/images/pixel.png | bin | 157 -> 0 bytes | |||
-rw-r--r-- | web/web/images/swf-certview.png | bin | 14525 -> 0 bytes | |||
-rwxr-xr-x | web/web/images/xml.gif | bin | 429 -> 0 bytes | |||
-rw-r--r-- | web/web/makefile | 207 | ||||
-rw-r--r-- | web/web/masterinfos/Makefile | 96 | ||||
-rw-r--r-- | web/web/mono-rss.cs | 143 | ||||
-rwxr-xr-x | web/web/process.pl | 89 | ||||
-rw-r--r-- | web/web/render-team-page.cs | 352 | ||||
-rw-r--r-- | web/web/rss.cs | 277 | ||||
-rw-r--r-- | web/web/team.xml | 1629 | ||||
-rwxr-xr-x | web/web/team.xsd | 30 | ||||
-rwxr-xr-x | web/web/team/aleksey.png | bin | 6510 -> 0 bytes | |||
-rw-r--r-- | web/web/team/cesar.png | bin | 4306 -> 0 bytes | |||
-rw-r--r-- | web/web/team/dietmar.png | bin | 3166 -> 0 bytes | |||
-rwxr-xr-x | web/web/team/duncan.png | bin | 1027 -> 0 bytes | |||
-rw-r--r-- | web/web/team/gonzalo.png | bin | 5005 -> 0 bytes | |||
-rw-r--r-- | web/web/team/gvaish.png | bin | 4401 -> 0 bytes | |||
-rw-r--r-- | web/web/team/hector.png | bin | 4494 -> 0 bytes | |||
-rw-r--r-- | web/web/team/jackson.png | bin | 4626 -> 0 bytes | |||
-rw-r--r-- | web/web/team/jluke.png | bin | 4767 -> 0 bytes | |||
-rwxr-xr-x | web/web/team/johannes.png | bin | 6527 -> 0 bytes | |||
-rw-r--r-- | web/web/team/jonpryor.png | bin | 4538 -> 0 bytes | |||
-rw-r--r-- | web/web/team/jordi.png | bin | 4189 -> 0 bytes | |||
-rw-r--r-- | web/web/team/lluis.png | bin | 3425 -> 0 bytes | |||
-rw-r--r-- | web/web/team/martin.png | bin | 5571 -> 0 bytes | |||
-rw-r--r-- | web/web/team/miguel.png | bin | 4196 -> 0 bytes | |||
-rw-r--r-- | web/web/team/mwh.png | bin | 5189 -> 0 bytes | |||
-rw-r--r-- | web/web/team/nickd.png | bin | 5134 -> 0 bytes | |||
-rwxr-xr-x | web/web/team/none.png | bin | 2758 -> 0 bytes | |||
-rw-r--r-- | web/web/team/pedro.png | bin | 5722 -> 0 bytes | |||
-rw-r--r-- | web/web/team/pedroas.png | bin | 4885 -> 0 bytes | |||
-rw-r--r-- | web/web/team/per.png | bin | 4694 -> 0 bytes | |||
-rw-r--r-- | web/web/team/peterw.png | bin | 3908 -> 0 bytes | |||
-rw-r--r-- | web/web/team/reggie.png | bin | 5811 -> 0 bytes | |||
-rw-r--r-- | web/web/team/rpratap.png | bin | 5158 -> 0 bytes | |||
-rw-r--r-- | web/web/team/spouliot.png | bin | 5485 -> 0 bytes | |||
-rwxr-xr-x | web/web/team/tberman.png | bin | 4422 -> 0 bytes | |||
-rw-r--r-- | web/web/team/timc.png | bin | 4579 -> 0 bytes | |||
-rw-r--r-- | web/web/template.html.in | 126 | ||||
-rw-r--r-- | web/web/transform.cs | 20 | ||||
-rw-r--r-- | web/winforms | 81 | ||||
-rwxr-xr-x | web/xml-classes | 530 |
181 files changed, 0 insertions, 26626 deletions
diff --git a/web/.gitattributes b/web/.gitattributes deleted file mode 100644 index 95afab0190a..00000000000 --- a/web/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/gtk-sharp -crlf -/mbas -crlf -/mono-beginning-windows.xml -crlf diff --git a/web/.gitignore b/web/.gitignore deleted file mode 100644 index 139ef7d73e3..00000000000 --- a/web/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/Makefile.in -/Makefile -/all-docs -/pending-classes.in -/class-status-* diff --git a/web/ChangeLog b/web/ChangeLog deleted file mode 100644 index f5d7687643b..00000000000 --- a/web/ChangeLog +++ /dev/null @@ -1,128 +0,0 @@ -2006-05-26 Zoltan Varga <vargaz@gmail.com> - - * jit-debug: Fix two other places. - - * jit-debug: print_method_from_ip -> mono_print_method_from_ip (). Fixes - #78514. - -2004-12-16 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes :updates. - -2004-12-02 Atsushi Enomoto <atsushi@ximian.com> - - * books : Added Mono: A Developer's Notebook ;-) - -2004-11-29 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : updates mainly 2.0 stuff (XQuery dropping, etc.) - -2004-10-11 Neale Ferguson <Neale.Ferguson@SoftwareAG-usa.com> - - * web/team.xml: Update my info. - -2004-10-04 Zoltan Varga <vargaz@freemail.hu> - - * web/team.xml: Update my info. - -2004-09-02 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : updates on 2.0 stuff. deprecating XPathDocument, - updating XQuery status etc. - -2004-08-03 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : some updates on 2.0 stuff. - -2004-07-12 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : oops, list styles. - -2004-07-11 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : updates and plans/ideas for Mono 1.2. - -2004-06-15 Sebastien Pouliot <sebastien@ximian.com> - - * crypto: Updated status for beta 3. Removed stuff that is better - documented in monodoc. - -2004-06-08 Duncan Mak <duncan@ximian.com> - - * download: Add MacOS X installer. - -2004-06-05 Duncan Mak <duncan@ximian.com> - - * download: Add section for Fedora Core 2. - -2004-06-02 Duncan Mak <duncan@ximian.com> - - * download: Use the correct yum-repository. - -2004-05-17 Duncan Mak <duncan@ximian.com> - - * languages: Added section on Nemerle, per request from Kamil - Skalski. - -2004-05-10 Duncan Mak <duncan@ximian.com> - - * download: Add link to packagers page. - -2004-05-06 Atsushi Enomoto <atsushi@ximian.com> - - * xml-classes : updates - -2004-04-10 Daniel Morgan <danielmorgan@verizon.net> - - * ado-net - * sqlclient - * oracle - * postgresql - * mysql: clean up Mono ADO.NET web pages - - * makefile: remove building of obsolete web page tds-providers - -2004-03-22 Ben Maurer <bmaurer@users.sourceforge.net> - - * mono-todo: I finished the vtable task :-). - -2004-03-04 Sebastien Pouliot <sebastien@ximian.com> - - * mono-hacking-roadmap.html: Updated status about assembly - signing. - -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/web/Makefile.am b/web/Makefile.am deleted file mode 100644 index 2588b2aa714..00000000000 --- a/web/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 delegate - -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/web/MonoBeta1PressCoverage.html b/web/MonoBeta1PressCoverage.html deleted file mode 100644 index 75a800469e0..00000000000 --- a/web/MonoBeta1PressCoverage.html +++ /dev/null @@ -1 +0,0 @@ -
<h1>Mono Beta 1 press coverage report</h1>
<div>
<br> <p>May 14, 2004</p> <p>by Kevan Barney, Novell</p>
<p>The
chronological listing below represents a good portion, but not all,
of the English-language press coverage to date.</p>
</div><div>
<br>
<p><b>Mono project achieves beta release, invites developer input</b>,<br><i>LinuxDevices.com</i> (May 5, 2004, <a href="http://www.linuxdevices.com/news/NS9523685217.html">Link</a>)</p>
<p><b>Mono Project Releases Beta 1</b>,<br><i>Slashdot</i> (May 5, 2004, <a href="http://slashdot.org/articles/04/05/05/0443213.shtml?tid=106&tid=185&tid=190&tid=201">Link</a>) </p>
<p><b>Mono goes beta</b>,<br><i>OReilly Network</i> Edd Dumbill (May 5, 2004, <a href="http://www.onlamp.com/pub/wlg/4799">Link</a>) </p>
<p><b>Mono Development Platform Moves into Beta</b>,<br><i>eWeek</i>, Matt Hicks (May 6, 2004, <a href="http://www.eweek.com/article2/0,1759,1586734,00.asp">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>CNET News.com</i>, Mike Ricciuti (May 6, 2004, <a href="http://news.com.com/2100-7344_3-5207192.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>InfoWorld</i>, Robert McMillan (May 6, 2004, <a href="http://www.infoworld.com/article/04/05/06/HNnovellmono_1.html">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>ZDNet</i>, Mike Ricciuti (May 6, 2004, <a href="http://zdnet.com.com/2100-1104_2-5207192.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Computerworld</i>, Robert McMillan (May 6, 2004, <a href="http://www.computerworld.com/developmenttopics/development/story/0,10801,92971,00.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Network World</i>, Robert McMillan (May 6, 2004, <a href="http://www.nwfusion.com/news/2004/0506novelrelea.html">Link</a>)</p>
<p><b>Novell Releases Project Mono Beta</b>,<br><i>Linux Pipeline</i>, Mitch Wagner (May 6, 2004, <a href="http://www.linuxpipeline.com/showArticle.jhtml?articleID=20000052">Link</a>)</p>
<p><b>Enterprise Unix Roundup Red Hat's Desktop Epiphany</b>,<br><i>ServerWatch</i>, Michael Hall (May 6, 2004, <a href="http://www.serverwatch.com/news/article.php/10824_3350491_2">Link</a>)</p>
<p><b>Novell Releases Project Mono Beta</b>,<br><i>CRN</i>, Mitch Wagner (May 7, 2004, <a href="http://www.crn.com/sections/BreakingNews/dailyarchives.asp?ArticleID=49983">Link</a>)</p>
<p><b>Novell debuts open source toolkit for .NET</b>,<br><i>The Register</i>, John Leyden (May 7, 2004, <a href="http://www.theregister.co.uk/2004/05/07/mono/">Link</a>)</p>
<p><b>Novell Targets .NET with Mono Beta</b>,<br><i>NewsFactor Network</i>, Jay Wrolstad (May 7, 2004, <a href="http://www.newsfactor.com/story.xhtml?story_title=Novell_Targets__NET_with_Mono_Beta&story_id=23961&category=hardware">Link</a>)</p>
<p><b>.NET Goes Open Source and Catches Mono</b>,<br><i>internetnews.com</i>, Sean Michael Kerner (May 7, 2004, <a href="http://www.internetnews.com/dev-news/article.php/3351561">Link</a>)</p>
<p><b>.Net developers can write for Linux using Mono</b>,<br><i>ZDNet UK</i>, Munir Kotadia (May 7, 2004, <a href="http://news.zdnet.co.uk/software/developer/0,39020387,39154054,00.htm">Link</a>)</p>
<p><b>Mono Goes to Beta</b>,<br><i>LinuxWorld</i>, Maureen OGara (May 7, 2004, <a href="http://www.linuxworld.com/story/44739.htm">Link</a>)</p>
<p><b>Mono betas the Open Source route to .Net</b>,<br><i>PC Pro</i>, Matt Whipp (May 7, 2004, <a href="http://www.pcpro.co.uk/?http://www.pcpro.co.uk/news/news_story.php?id=57267">Link</a>)</p>
<p><b>Novell Debuts Mono Beta To Challenge .NET</b>,<br><i>LinuxInsider</i>, Gene J. Koprowski (May 7, 2004) <a href="http://www.linuxinsider.com/story/opensource/33696.html">Link</a>)</p>
<p><b>Novell tests .Net on open source</b>,<br><i>ZDNet UK</i>, Mike Ricciuti (May 7, 2004, <a href="http://news.zdnet.co.uk/0,39020330,39153957,00.htm">Link</a>)</p>
<p><b>Novell gives first glimpse of giant killer</b>,<br><i>Techworld</i>, Robert McMillan (May 7, 2004, <a href="http://www.techworld.com/opsys/news/index.cfm?NewsID=1513&Page=1&pagePos=4">Link</a>)</p>
<p><b>Open Source .NET Reaches Beta</b>,<br><i>Computer Business Review</i> (May 7, 2004, <a href="http://www.cbronline.com/currentnews/60cd600cf1c4e6d680256e8d0032e284">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>Enterprise Linux I.T.</i>, Jay Wrolstad (May 7, 2004, <a href="http://enterprise-linux-it.newsfactor.com/story.xhtml?story_title=Novell-s-Mono-Closes-Linux-Gap&story_id=23972">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>Enterprise Windows I.T.</i>, Jay Wrolstad (May 7, 2004, <a href="http://enterprise-windows-it.newsfactor.com/story.xhtml?story_title=Novell_s_Mono_Closes_Linux_Gap&story_id=23972&category=dotnet">Link</a>)</p>
<p><b>For the record 7 May</b>,<br><i>ElectricNews.net</i>, Matthew Clark (May 7, 2004, <a href="http://www.enn.ie/news.html?code=9411166">Link</a>)</p>
<p><b>Novell releases Project Mono beta</b>,<br><i>IT News Australia</i>, Mitch Wagner (May 7, 2004, <a href="http://www.itnews.com.au/ibmstorycontent.asp?ID=10&Art_ID=19502">Link</a>)</p>
<p><b>Novell releases open source platform for .Net</b>,<br><i>The Inquirer</i> (May 7, 2004, <a href="http://www.theinquirer.net/?article=15763">Link</a>)</p>
<p><b>Final Mono version by June-end</b>,<br><i>The Age</i> (May 7, 2004, <a href="http://www.theage.com.au/articles/2004/05/07/1083881478476.html">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>CNETAsia</i>, Mike Ricciuti (May 7, 2004, <a href="http://asia.cnet.com/newstech/applications/0,39001094,39178338,00.htm">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>PC World Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.pcworld.idg.com.au/index.php/id;2103806279;fp;2;fpid;1">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Computerworld Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.computerworld.com.au/index.php/id;2103806279;fp;16;fpid;0">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>CIO Today</i>, Jay Wrolstad (May 7, 2004, <a href="http://cio-today.newsfactor.com/story.xhtml?story_title=Novell_s_Mono_Closes_Linux_Gap&story_id=23972">Link</a>)</p>
<p><b>Final Mono version by June-end</b>,<br><i>Sydney Morning Herald</i> (May 7, 2004, <a href="http://www.smh.com.au/articles/2004/05/07/1083881478476.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>LinuxWorld Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.linuxworld.com.au/index.php/id;2103806279;fp;2;fpid;1">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>IDG Singapore</i>, Robert McMillan (May 7, 2004, <a href="http://www.idg.com.sg/idgwww.nsf/0/FF7C3882D9F923D248256E8D002C1C85?OpenDocument">Link</a>)</p>
<p><b>Novell brings .net to open source with first Mono beta</b>,<br><i>ComputerWeekly.com</i>, Robert McMillan (May 10, 2004, <a href="http://www.computerweekly.com/articles/article.asp?liArticleID=130385&liArticleTypeID=1&liCategoryID=1&liChannelID=171&liFlavourID=1&sSearch=&nPage=1">Link</a>)</p>
<p><b>Novell brings .net to open source with first Mono beta</b>,<br><i>MicroScope</i>, Robert McMillan (May 10, 2004, <a href="http://www.microscope.co.uk/articles/article.asp?liArticleID=130385&liArticleTypeID=20&liCategoryID=1&liChannelID=171&liFlavourID=2&sSearch=&nPage=1">Link</a>)</p>
<p><b>Spreading Mono</b>,<br><i>Developer Pipeline</i>, Matt McKenzie (May 11, 2004, <a href="http://www.developerpipeline.com/showArticle.jhtml;jsessionid=03TBR0R5TZBUMQSNDBNCKHQ?articleId=20300292">Link</a>)</p>
<p><b>Developers catching Mono beta release</b>,<br><i>SearchEnterpriseLinux.com</i>, Michael S. Mimoso (May 11, 2004, <a href="http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci963407,00.html">Link</a>)</p>
<p><b>Mono Brings .NET to Open Systems</b>,<br><i>ENT News</i>, Stephen Swoyer (May 11, 2004, <a href="http://www.entmag.com/news/article.asp?EditorialsID=6231">Link</a>)</p>
<p><b>Spreading Mono</b>,<br><i>Linux Pipeline</i>, Matt McKenzie (May 11, 2004, <a href="http://www.linuxpipeline.com/showArticle.jhtml?articleID=20300445">Link</a>)</p>
<p><b>Developers catching Mono beta release</b>,<br><i>SearchWebServices.com</i>, Michael S. Mimoso (May 11, 2004, <a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci963386,00.html">Link</a>)</p>
<p><b>Mono Project Brings Microsofts Insular .NET Technologies to Open Systems</b>,<br><i>Enterprise Systems</i>, Stephen Swoyer (May 11, 2004, <a href="http://www.esj.com/enterprise/article.asp?EditorialsID=962">Link</a>)</p>
<p><b>Utah business in brief</b>,<br><i>Salt Lake Tribune</i> (May 13, 2004, <a href="http://www.sltrib.com/2004/May/05132004/business/165937.asp">Link</a>)</p>
</div>
\ No newline at end of file diff --git a/web/MonoIcon.png b/web/MonoIcon.png Binary files differdeleted file mode 100644 index c670edb5011..00000000000 --- a/web/MonoIcon.png +++ /dev/null diff --git a/web/README b/web/README deleted file mode 100644 index f10cd5d88de..00000000000 --- a/web/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/web/ado-net b/web/ado-net deleted file mode 100644 index abaf7594eae..00000000000 --- a/web/ado-net +++ /dev/null @@ -1,198 +0,0 @@ -* ADO.NET - -** Data Access in Mono - -<ul> - <li>Today, our goal is to be compatible with .NET 1.1 and .NET 1.0. We also would like - to extend data access beyond what is included with .NET 1.0 and .NET 1.1, - such as, include 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 includes features - like <a href="http://longhorn.msdn.microsoft.com/lhsdk/ndp/daconworkingwithobjectspacesarchitecture.aspx">ObjectSpaces</a></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>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>sqlsharp.exe - <ul> - <li>SQL# is a command line query tool included with Mono to enter and execute SQL statements</li> - </ul> - </li> - <li>xsd.exe - <ul> - <li>XML Schema Definition tool</li> - <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> - </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. - -** Database Access from ASP.NET - <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: - "ByteFX.Data"</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: - "ByteFX.Data.MySqlConnection"</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> - -** 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>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>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>make test</li> - </ul> - </li> - </ul> - </li> - -</ul> - diff --git a/web/anoncvs b/web/anoncvs deleted file mode 100644 index c52d510fc53..00000000000 --- a/web/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/web/asp-net b/web/asp-net deleted file mode 100755 index 562c7e411f9..00000000000 --- a/web/asp-net +++ /dev/null @@ -1,79 +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 fully functional at this point. - - Publicly available applications such as <a - href="http://www.asp.net/Default.aspx?tabindex=5&tabid=42"> - IBuySpy</a>, <a href="http://www.ngallery.org/">nGallery</a> and - many others are known to work. - - Web Services stack is being used for commercial applications - such as <a - href="http://www.ximian.com/about_us/press_center/press_releases/index.html?pr=sourcegear"> - SourceGear</a>'s <a - href="http://www.sourcegear.com/vault/index.asp">Vault</a>. They - even funded the development of our Web Services classes back in - 2002. Another example is OpenLink's - <a href="http://www.openlinksw.com/virtuoso/">Virtuoso</a>. People - from OpenLink also contributed to Mono. - - -* Hosting ASP.NET - - Using ASP.NET System.Web.Hosting namespace classes you can make - your own ASP.NET enabled server. - - However, if you want to take the easy path, we provide two - different mechanisms for hosting ASP.NET applications: - <ul> - * <a href="#xsp">XSP</a>: A light-weight web server - written in C#. - - * <a href="#mod_mono">mod_mono</a>: An <a - href="http://httpd.apache.org">Apache</a> module that - works with both 1.3 and 2.0 versions. - </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). - - 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 pages, controls and web services that you - can use to test the server and see how ASP.NET looks like. - - As XSP is written in C# and uses System.Web classes to perform - its job, it also works under MS runtime. - -<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 allows apache to serve ASP.NET pages by proxying the requests - to a slightly modified version of our XSP called mod-mono-server - that is installed along with XSP. - - It does not work on Windows. - -<div align="bottom"> -<small>Last updated: Sat, 12 Jun 2004 05:07:31 GMT</small> -</div> diff --git a/web/beta1-press b/web/beta1-press deleted file mode 100644 index 75a800469e0..00000000000 --- a/web/beta1-press +++ /dev/null @@ -1 +0,0 @@ -
<h1>Mono Beta 1 press coverage report</h1>
<div>
<br> <p>May 14, 2004</p> <p>by Kevan Barney, Novell</p>
<p>The
chronological listing below represents a good portion, but not all,
of the English-language press coverage to date.</p>
</div><div>
<br>
<p><b>Mono project achieves beta release, invites developer input</b>,<br><i>LinuxDevices.com</i> (May 5, 2004, <a href="http://www.linuxdevices.com/news/NS9523685217.html">Link</a>)</p>
<p><b>Mono Project Releases Beta 1</b>,<br><i>Slashdot</i> (May 5, 2004, <a href="http://slashdot.org/articles/04/05/05/0443213.shtml?tid=106&tid=185&tid=190&tid=201">Link</a>) </p>
<p><b>Mono goes beta</b>,<br><i>OReilly Network</i> Edd Dumbill (May 5, 2004, <a href="http://www.onlamp.com/pub/wlg/4799">Link</a>) </p>
<p><b>Mono Development Platform Moves into Beta</b>,<br><i>eWeek</i>, Matt Hicks (May 6, 2004, <a href="http://www.eweek.com/article2/0,1759,1586734,00.asp">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>CNET News.com</i>, Mike Ricciuti (May 6, 2004, <a href="http://news.com.com/2100-7344_3-5207192.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>InfoWorld</i>, Robert McMillan (May 6, 2004, <a href="http://www.infoworld.com/article/04/05/06/HNnovellmono_1.html">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>ZDNet</i>, Mike Ricciuti (May 6, 2004, <a href="http://zdnet.com.com/2100-1104_2-5207192.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Computerworld</i>, Robert McMillan (May 6, 2004, <a href="http://www.computerworld.com/developmenttopics/development/story/0,10801,92971,00.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Network World</i>, Robert McMillan (May 6, 2004, <a href="http://www.nwfusion.com/news/2004/0506novelrelea.html">Link</a>)</p>
<p><b>Novell Releases Project Mono Beta</b>,<br><i>Linux Pipeline</i>, Mitch Wagner (May 6, 2004, <a href="http://www.linuxpipeline.com/showArticle.jhtml?articleID=20000052">Link</a>)</p>
<p><b>Enterprise Unix Roundup Red Hat's Desktop Epiphany</b>,<br><i>ServerWatch</i>, Michael Hall (May 6, 2004, <a href="http://www.serverwatch.com/news/article.php/10824_3350491_2">Link</a>)</p>
<p><b>Novell Releases Project Mono Beta</b>,<br><i>CRN</i>, Mitch Wagner (May 7, 2004, <a href="http://www.crn.com/sections/BreakingNews/dailyarchives.asp?ArticleID=49983">Link</a>)</p>
<p><b>Novell debuts open source toolkit for .NET</b>,<br><i>The Register</i>, John Leyden (May 7, 2004, <a href="http://www.theregister.co.uk/2004/05/07/mono/">Link</a>)</p>
<p><b>Novell Targets .NET with Mono Beta</b>,<br><i>NewsFactor Network</i>, Jay Wrolstad (May 7, 2004, <a href="http://www.newsfactor.com/story.xhtml?story_title=Novell_Targets__NET_with_Mono_Beta&story_id=23961&category=hardware">Link</a>)</p>
<p><b>.NET Goes Open Source and Catches Mono</b>,<br><i>internetnews.com</i>, Sean Michael Kerner (May 7, 2004, <a href="http://www.internetnews.com/dev-news/article.php/3351561">Link</a>)</p>
<p><b>.Net developers can write for Linux using Mono</b>,<br><i>ZDNet UK</i>, Munir Kotadia (May 7, 2004, <a href="http://news.zdnet.co.uk/software/developer/0,39020387,39154054,00.htm">Link</a>)</p>
<p><b>Mono Goes to Beta</b>,<br><i>LinuxWorld</i>, Maureen OGara (May 7, 2004, <a href="http://www.linuxworld.com/story/44739.htm">Link</a>)</p>
<p><b>Mono betas the Open Source route to .Net</b>,<br><i>PC Pro</i>, Matt Whipp (May 7, 2004, <a href="http://www.pcpro.co.uk/?http://www.pcpro.co.uk/news/news_story.php?id=57267">Link</a>)</p>
<p><b>Novell Debuts Mono Beta To Challenge .NET</b>,<br><i>LinuxInsider</i>, Gene J. Koprowski (May 7, 2004) <a href="http://www.linuxinsider.com/story/opensource/33696.html">Link</a>)</p>
<p><b>Novell tests .Net on open source</b>,<br><i>ZDNet UK</i>, Mike Ricciuti (May 7, 2004, <a href="http://news.zdnet.co.uk/0,39020330,39153957,00.htm">Link</a>)</p>
<p><b>Novell gives first glimpse of giant killer</b>,<br><i>Techworld</i>, Robert McMillan (May 7, 2004, <a href="http://www.techworld.com/opsys/news/index.cfm?NewsID=1513&Page=1&pagePos=4">Link</a>)</p>
<p><b>Open Source .NET Reaches Beta</b>,<br><i>Computer Business Review</i> (May 7, 2004, <a href="http://www.cbronline.com/currentnews/60cd600cf1c4e6d680256e8d0032e284">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>Enterprise Linux I.T.</i>, Jay Wrolstad (May 7, 2004, <a href="http://enterprise-linux-it.newsfactor.com/story.xhtml?story_title=Novell-s-Mono-Closes-Linux-Gap&story_id=23972">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>Enterprise Windows I.T.</i>, Jay Wrolstad (May 7, 2004, <a href="http://enterprise-windows-it.newsfactor.com/story.xhtml?story_title=Novell_s_Mono_Closes_Linux_Gap&story_id=23972&category=dotnet">Link</a>)</p>
<p><b>For the record 7 May</b>,<br><i>ElectricNews.net</i>, Matthew Clark (May 7, 2004, <a href="http://www.enn.ie/news.html?code=9411166">Link</a>)</p>
<p><b>Novell releases Project Mono beta</b>,<br><i>IT News Australia</i>, Mitch Wagner (May 7, 2004, <a href="http://www.itnews.com.au/ibmstorycontent.asp?ID=10&Art_ID=19502">Link</a>)</p>
<p><b>Novell releases open source platform for .Net</b>,<br><i>The Inquirer</i> (May 7, 2004, <a href="http://www.theinquirer.net/?article=15763">Link</a>)</p>
<p><b>Final Mono version by June-end</b>,<br><i>The Age</i> (May 7, 2004, <a href="http://www.theage.com.au/articles/2004/05/07/1083881478476.html">Link</a>)</p>
<p><b>Novell launches test of open-source project</b>,<br><i>CNETAsia</i>, Mike Ricciuti (May 7, 2004, <a href="http://asia.cnet.com/newstech/applications/0,39001094,39178338,00.htm">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>PC World Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.pcworld.idg.com.au/index.php/id;2103806279;fp;2;fpid;1">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>Computerworld Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.computerworld.com.au/index.php/id;2103806279;fp;16;fpid;0">Link</a>)</p>
<p><b>Novell's Mono Closes Linux Gap</b>,<br><i>CIO Today</i>, Jay Wrolstad (May 7, 2004, <a href="http://cio-today.newsfactor.com/story.xhtml?story_title=Novell_s_Mono_Closes_Linux_Gap&story_id=23972">Link</a>)</p>
<p><b>Final Mono version by June-end</b>,<br><i>Sydney Morning Herald</i> (May 7, 2004, <a href="http://www.smh.com.au/articles/2004/05/07/1083881478476.html">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>LinuxWorld Australia</i>, Robert McMillan (May 7, 2004, <a href="http://www.linuxworld.com.au/index.php/id;2103806279;fp;2;fpid;1">Link</a>)</p>
<p><b>Novell releases first Mono beta</b>,<br><i>IDG Singapore</i>, Robert McMillan (May 7, 2004, <a href="http://www.idg.com.sg/idgwww.nsf/0/FF7C3882D9F923D248256E8D002C1C85?OpenDocument">Link</a>)</p>
<p><b>Novell brings .net to open source with first Mono beta</b>,<br><i>ComputerWeekly.com</i>, Robert McMillan (May 10, 2004, <a href="http://www.computerweekly.com/articles/article.asp?liArticleID=130385&liArticleTypeID=1&liCategoryID=1&liChannelID=171&liFlavourID=1&sSearch=&nPage=1">Link</a>)</p>
<p><b>Novell brings .net to open source with first Mono beta</b>,<br><i>MicroScope</i>, Robert McMillan (May 10, 2004, <a href="http://www.microscope.co.uk/articles/article.asp?liArticleID=130385&liArticleTypeID=20&liCategoryID=1&liChannelID=171&liFlavourID=2&sSearch=&nPage=1">Link</a>)</p>
<p><b>Spreading Mono</b>,<br><i>Developer Pipeline</i>, Matt McKenzie (May 11, 2004, <a href="http://www.developerpipeline.com/showArticle.jhtml;jsessionid=03TBR0R5TZBUMQSNDBNCKHQ?articleId=20300292">Link</a>)</p>
<p><b>Developers catching Mono beta release</b>,<br><i>SearchEnterpriseLinux.com</i>, Michael S. Mimoso (May 11, 2004, <a href="http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci963407,00.html">Link</a>)</p>
<p><b>Mono Brings .NET to Open Systems</b>,<br><i>ENT News</i>, Stephen Swoyer (May 11, 2004, <a href="http://www.entmag.com/news/article.asp?EditorialsID=6231">Link</a>)</p>
<p><b>Spreading Mono</b>,<br><i>Linux Pipeline</i>, Matt McKenzie (May 11, 2004, <a href="http://www.linuxpipeline.com/showArticle.jhtml?articleID=20300445">Link</a>)</p>
<p><b>Developers catching Mono beta release</b>,<br><i>SearchWebServices.com</i>, Michael S. Mimoso (May 11, 2004, <a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci963386,00.html">Link</a>)</p>
<p><b>Mono Project Brings Microsofts Insular .NET Technologies to Open Systems</b>,<br><i>Enterprise Systems</i>, Stephen Swoyer (May 11, 2004, <a href="http://www.esj.com/enterprise/article.asp?EditorialsID=962">Link</a>)</p>
<p><b>Utah business in brief</b>,<br><i>Salt Lake Tribune</i> (May 13, 2004, <a href="http://www.sltrib.com/2004/May/05132004/business/165937.asp">Link</a>)</p>
</div>
\ No newline at end of file diff --git a/web/blogs b/web/blogs deleted file mode 100644 index 1fb66df3c07..00000000000 --- a/web/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á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/web/books b/web/books deleted file mode 100644 index 75f7fb9904d..00000000000 --- a/web/books +++ /dev/null @@ -1,68 +0,0 @@ -* Mono - - <a href="http://www.oreilly.com/catalog/monoadn/"> - Mono: A Developer's Notebook - </a> - - <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/web/bugs b/web/bugs deleted file mode 100644 index 7b3272b569c..00000000000 --- a/web/bugs +++ /dev/null @@ -1,82 +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%3A+Class+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%3A+Class%20Libraries">[Add]</a> Class Libraries - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Compilers&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%3A+Compilers&component=IL%20assembler">[Add]</a> IL Assembler. - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Compilers&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%3A+Compilers&component=C%23">[Add]</a> C# Compiler. - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Runtime&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%3A+Runtime">[Add]</a> Runtime - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Doctools&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%3A+Doctools">[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%3A+Class+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%3A+Class%20Libraries&component=System.Web">[Add]</a> ASP.NET WebForms - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Class+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%3A+Class%20Libraries&component=System.Web.Services">[Add]</a> ASP.NET Web Services - - * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%3A+Debugger&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%3A+Debugger">[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%3A+Class+Libraries&product=Mono%3A+Compilers&product=Mono%3A+Debugger&product=Mono%3A+Doctools&product=Mono%3A+Runtime&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. - - <p>You can do this by clicking on the "Create a new - attachment" link. When attaching a file, please set the - correct MIME type from the list. For source code, "Plain - text" is ok. For tar.gz or .gz files, you can enter - "application/x-gzip" in the "Other" text box. - - * 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/web/c-sharp b/web/c-sharp deleted file mode 100644 index ffa0b574bef..00000000000 --- a/web/c-sharp +++ /dev/null @@ -1,236 +0,0 @@ -* MCS: The Ximian C# compiler - - The Mono C# compiler is considered feature C# 1.0 complete at - this point and 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 1.7 - million lines of C# code. - - The compiler is also fairly fast. On a IBM ThinkPad t40 it - compiles 18,000 lines of C# code per second. - - Work on C# 2.0 has started: some pieces of it are available on - the standard compiler with the -2 switch (iterators, method - conversions) and some others are available on the `gmcs' - branch on CVS (generics) - -** 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/web/ccvs b/web/ccvs deleted file mode 100644 index e5a53432682..00000000000 --- a/web/ccvs +++ /dev/null @@ -1,443 +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. We only support SSH2 at this point. - -* 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. - - <ul> - <li> 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. - - <li> 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. - </ul> - - 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, this file should be located in the same directory - as the change you make. - - <li>The ChangeLog entry <b>must</b> be pasted on the CVS - commit log, so the CVS commit log can be used to map to the - changes as well. - - <li>The ChangeLog and the files that comprise related changes - should be committed together, not one by one, otherwise the - history is pretty much useless if related changes are - separated during the commit. - - <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. - -* Branches - - We have branched the CVS modules `mono', `mcs' and - `libgdiplus', the tag to fetch these branches is: `mono-1-0', - so you use the following command to fetch the mono-1-0 - branches: - -<pre> - cvs co -r mono-1-0 mono - cvs co -r mono-1-0 mcs - cvs co -r mono-1-0 libgdiplus -</pre> - - I personally use a directory called `mono-1-0' to keep these - together and a separate directory keeps my HEAD development, - and I configure each one to different prefixes, so I can test - and run code with HEAD or mono-1-0. - -*** mono-1-0 policy - - This branch will only get bug fixes to critical and major errors. - You must still get approval from the maintainer of the code to - check-in code into this branch. - - Before submitting a patch for this branch, you should run all - appropriate regression tests. Upcoming mono-1.0.x versions - will be produced from this branch. - -*** mono HEAD policy - - HEAD should continue to build at all times: HEAD is not a - dumping ground for partial work: you still must ensure that - the build is not broken, and that no regressions are caused. - Unlike the main branch, you do not need approval to minor - changes, the same old rules apply. - - But for any large architectural change, you must check with - the maintainers and get approval for the patches. For these - large changes, if you are touching someone else's code, you - should contact the maintainer of that code and get approval - from them. - - You must assume that HEAD will be packaged and distributed at - any point, this will be the branch that we use for making the - mono-1.1.x releases that will lead to our stable mono-1.2.x - release. - - So, the bottom line is: do not check-in known regressions that - break the build. A lot of work is underway, and we must - ensure the tree works. - - -* 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/web/class-library b/web/class-library deleted file mode 100644 index 95b56cacf9d..00000000000 --- a/web/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/web/class-status.in b/web/class-status.in deleted file mode 100644 index 1400a00dd9a..00000000000 --- a/web/class-status.in +++ /dev/null @@ -1,15 +0,0 @@ -* Status of the various pieces of the class library - - Classes in Mono are organized by the assembly that they belong to. - -* 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/web/classlib-doc b/web/classlib-doc deleted file mode 100644 index d86969ed119..00000000000 --- a/web/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 MonoDoc - Browser and upload your contributions directly to the Mono site. diff --git a/web/compiling b/web/compiling deleted file mode 100644 index 95281a93683..00000000000 --- a/web/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 bootstrap) - </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/web/contact b/web/contact deleted file mode 100644 index d9bbda12540..00000000000 --- a/web/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/web/contributing b/web/contributing deleted file mode 100644 index 0a80bcb91b1..00000000000 --- a/web/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/web/crypto b/web/crypto deleted file mode 100644 index 56fbde78316..00000000000 --- a/web/crypto +++ /dev/null @@ -1,335 +0,0 @@ -* Cryptography - - In the .NET framework cryptography can be found under a number of - namespaces in several assemblies. Mono also has it's own assemblies - to provide missing security functionalities from the .NET framework. - -** 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 of them have (minimal) - documentation in <b>monodoc</b>. - - * Most classes have their unit tests. Some tests like <code> - SymmetricAlgorithmTest</code> are generated by external - tools. - </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> - * 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. - </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> - * We pass the fifteen tests from Merlin's xmldsig suite with - success. Which is funny because Microsoft fails in one case - where both a X509Certificate and an X509CRL are present in - an X509Data. We also pass most Phaos tests. - - * Most classes have their unit tests. Some standalone tests - are also in CVS to test C14N and both Merlin and Phaos test - suites. - </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 SSLv3 and TLSv1 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 and encoding. - * 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. - - * Most classes have minimal documentation available in - <b>monodoc</b>. - </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. - - * 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 ...). - - * Classes have minimal documentation available in - <b>monodoc</b>. - </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 released WSE 2. - </ul> - -<hr> -** Tools - - There are many tools in the .NET framework that indirectly interacts - with some cryptographic classes. 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, some will only works with Mono. - - * <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. - - * <code>setreg</code> can change some cryptographic parameters - of the runtime. Currently it can add or remove two root test - certificates (the one used by Mono's <code>makecert</code>, - the other used by Microsoft's <code>makecert</code>). - - * <code>certmgr</code> can add and remove certificates from - the stores. Most common use is to add new trusted certificates - or remove them. - </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). - </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 or add some sample code for the - cryptographic classes in <b>monodoc</b>. - </ul> -<hr> -Last reviewed: June 26, 2004 (mono release candidate 1) diff --git a/web/delegate b/web/delegate deleted file mode 100644 index 8d2a77151e6..00000000000 --- a/web/delegate +++ /dev/null @@ -1,23 +0,0 @@ -* Your Delegate Has Been Garbage Collected. - - The program that you are running passed a delegate into the - unmanaged world but failed to keep a reference to this - delegate in the managed world, so the delegate was garbage - collected. - - This means that the the delegate is no longer valid, but the - unmanaged library or unmanaged code tried to call it. - - To fix this problem make sure that you keep a handle to the - delegate that you are passing into the unmanaged world. - - This happens since Mono has no visibility into the unmanaged - world and it does not know that the unmanaged world has kept a - reference to your delegate. As far as the Mono runtime is - concerned the delegate must be garbage collected. - - For more information see: - - <a href="http://blogs.msdn.com/dangriff/archive/2003/11/19/51709.aspx">http://blogs.msdn.com/dangriff/archive/2003/11/19/51709.aspx</a> - - diff --git a/web/devel-faq b/web/devel-faq deleted file mode 100644 index f947faa33e7..00000000000 --- a/web/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$, $Author$, - $Date$, 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/web/documentation b/web/documentation deleted file mode 100644 index 40085e85126..00000000000 --- a/web/documentation +++ /dev/null @@ -1,260 +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> -<para> </para> -</pre> - Used to separate paragraphs. - -<pre> -<paramref name="param_name"/> -</pre> - Used to reference a formal parameter to a function. - -<pre> -<see cref="T:SomeTypeName"/> -</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> - <see cref="T:System.Enum"/> -</pre> - -<pre> -<see cref="P:SomeTypeName.Property"/> -</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> - <see cref="P:System.Type.BaseType"/> -</pre> - -<pre> -<see cref="M:SomeTypeName.Method(type,type)"/> -</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> - <see cref="M:System.Object.ToString()"/> -</pre> - -<pre> -<see langword="keyword"/> -</pre> - Use this to link to a keyword in the C# language, for - example to link to `true', do: - -<pre> - <see langword="true"/> -</pre> - -<pre> -<example> ... </example> -</pre> - Use example to insert an example. The example can - contain explanatory text and code. - -<pre> -<code lang="C#">.. </code> -</pre> - - Use this to provide a sample C# program, typically used - within the <example> 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> - <code lang="C#" source="file.cs"> </code> -</pre> - -<pre> -<item> -</pre> - -<pre> -<list type="bullet"> </list> -</pre> - - Use this to create lists. Lists contains <item> - elements which have to contain <term> containers. - -<pre> -<list type="table"> </lits> - <listheader> - <term>YOUR FIRST COLUMN</term> - <description>YOUR DESCRIPTION</description> - </listheader> -</pre> - For two-column tables. Inside use: - -<pre> -<item> - <term>First</term> - <description>First descritpion</description> -</item> -<item> - <term>Second</term> - <description>Second descirption</description> -</item> -</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. - - The best way of documenting is to read our source code - implementation and explain in your own words what our implementation - does, and what the user can do with it. - - 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. - diff --git a/web/download b/web/download deleted file mode 100644 index 6280d1bbe09..00000000000 --- a/web/download +++ /dev/null @@ -1,1984 +0,0 @@ -* Software Availability - - The Virtual Execution System is available in package `mono'. - Please refer to our <a href="runtime.html">Runtime</a> - description for more details on this part of the project. - - Optional packages are `libgdiplus' (if you want to do - graphics), `winelib' (if you want to run the alpha winforms - support). The package `mcs' contains the C# source code to - the compilers and class libraries. - - To run ASP.NET applications you need xsp and if you want to - optionally integrate with Apache, get mod_mono. - - Online API documentation for Mono is available in the `monodoc' package. - - Gtk# is package to build GUI applications with the Gtk+ toolkit. - - The software is also available on the `Mono' channel in <a href="http://www.ximian.com/products/redcarpet/">Red Carpet</a>. - - Packagers can find RPM Spec files and other resources in the <a - href="http://www.go-mono.com/packagers/">packagers page</a>. - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Mono 1.0</b><br> - <a href="archive/1.0/index.html">Release notes</a><br> - June 30th, 2004 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/1.0/mono-1.0.tar.gz">Mono Runtime 1.0</a> - <li><a href="archive/1.0/mcs-1.0.tar.gz">Mono Class Libraries and C# Compiler 1.0</a> - <li><a href="archive/1.0/libgdiplus-1.0.tar.gz">libgdiplus 1.0</a> - <p> - <li><a href="archive/1.0/monodoc-1.0.tar.gz">MonoDoc 1.0</a> - <li><a href="archive/1.0/xsp-1.0.tar.gz">XSP web server 1.0</a> - <li><a href="archive/1.0/mod_mono-1.0.tar.gz">Apache Mono module 1.0</a> - <p> - <li><a href="archive/1.0/winelib-0.3.tar.gz">Winelib 0.3</a> - <p> - <li><a href="archive/1.0/gtk-sharp-1.0.tar.gz">Gtk# 1.0</a> - <li><a href="archive/1.0/gecko-sharp-0.5.tar.gz">Gecko# 0.5</a> - <li><a href="archive/1.0/gtksourceview-sharp-0.5.tar.gz">Gtk SourceView# 0.5</a> - <li><a href="archive/1.0/monodevelop-0.5.tar.gz">MonoDevelop IDE 0.5</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/1.0/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/1.0/fedora-1-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-1-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Fedora Core 2/x86</b><br> - </td> - <td> - <a href="archive/1.0/fedora-2-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-2-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SLES 8/x86</b><br> - </td> - <td> - <a href="archive/1.0/sles-8-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/1.0/suse-90-i586/">Packages</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SUSE 9.1/x86</b><br> - </td> - <td> - <a href="archive/1.0/suse-91-i586/">Packages</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <div align="left"><img src="images/windows-36.gif"></div> - <div align="right"><b>Windows installer</b><br><small>Win2k and above</small></div> - </td> - <td> - <a href="archive/1.0/windows/mono-1.0-win32-1.exe">Mono Setup</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/macos-36.gif"><b>Mac OS X package</b> - </td> - <td> - <a href="archive/1.0/macos/MonoFramework-1.0.dmg">MonoFramework-1.0.dmg</a> in /Library/Framework - </td> - </tr> - </table> - </td> - </table> - - <hr> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Release Candidate</b><br> - <!-- <a href="archive/beta3/beta3.html">Release notes</a><br> --> - June 25th, 2004 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/rc/mono-0.97.tar.gz">Mono Runtime 0.97</a> - <li><a href="archive/rc/mcs-0.97.tar.gz">Mono Class Libraries and C# Compiler 0.97</a> - <li><a href="archive/rc/libgdiplus-0.10.tar.gz">libgdiplus 0.10</a> - <p> - <li><a href="archive/rc/monodoc-0.18.tar.gz">MonoDoc 0.18</a> - <li><a href="archive/rc/xsp-0.16.tar.gz">XSP web server 0.16</a> - <li><a href="archive/rc/mod_mono-0.13.tar.gz">Apache Mono module 0.13</a> - <p> - <li><a href="archive/rc/gtk-sharp-0.99.tar.gz">Gtk# 0.99</a> - <!-- <li><a href="archive/rc/gecko-sharp-0.5.tar.gz">Gecko# 0.5</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/rc/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/rc/fedora-1-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-1-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Fedora Core 2/x86</b><br> - </td> - <td> - <a href="archive/rc/fedora-2-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-2-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SLES 8/x86</b><br> - </td> - <td> - <a href="archive/rc/sles-8-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/rc/suse-90-i586/">Packages</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SUSE 9.1/x86</b><br> - </td> - <td> - <a href="archive/rc/suse-91-i586/">Packages</a> - </td> - </tr> -<!-- <tr> --> -<!-- <td bgcolor="#999999"> --> -<!-- <div align="left"><img src="images/windows-36.gif"></div> --> -<!-- <div align="right"><b>Windows installer</b><br><small>Win2k and above</small></div> --> -<!-- </td> --> -<!-- <td> --> -<!-- <a href="archive/beta3/windows/mono-Beta3-win32-1.exe">Mono Setup</a> --> -<!-- </td> --> -<!-- </tr> --> -<!-- <tr> --> -<!-- <td bgcolor="#999999"> --> -<!-- <img src="images/macos-36.gif"><b>Mac OS X package</b> --> -<!-- </td> --> -<!-- <td> --> -<!-- <a href="archive/beta3/macos/mono-0.96.dmg">mono-0.96.dmg</a> in /opt. --> -<!-- <br/><br/> --> -<!-- <a href="archive/beta3/macos/MonoFramework-0.96.dmg">MonoFramework-0.96.dmg</a> in /Library/Framework --> -<!-- </td> --> -<!-- </tr> --> - </table> - </td> - </table> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Beta 3</b><br> - <!-- <a href="archive/beta3/beta3.html">Release notes</a><br> --> - June 15th, 2004 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/beta3/mono-0.96.tar.gz">Mono Runtime 0.96</a> - <li><a href="archive/beta3/mcs-0.96.tar.gz">Mono Class Libraries and C# Compiler 0.96</a> - <li><a href="archive/beta3/libgdiplus-0.9.tar.gz">libgdiplus 0.9</a> - <p> - <li><a href="archive/beta3/monodoc-0.17.tar.gz">MonoDoc 0.17</a> - <li><a href="archive/beta3/xsp-0.15.tar.gz">XSP web server 0.15</a> - <li><a href="archive/beta3/mod_mono-0.11.tar.gz">Apache Mono module 0.11</a> - <p> - <li><a href="archive/beta3/gtk-sharp-0.98.tar.gz">Gtk# 0.98</a> - <li><a href="archive/beta3/gecko-sharp-0.5.tar.gz">Gecko# 0.5</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/beta3/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/beta3/fedora-1-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-1-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Fedora Core 2/x86</b><br> - </td> - <td> - <a href="archive/beta3/fedora-2-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-2-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SLES 8/x86</b><br> - </td> - <td> - <a href="archive/beta3/sles-8-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/beta3/suse-90-i586/">Packages</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SUSE 9.1/x86</b><br> - </td> - <td> - <a href="archive/beta3/suse-91-i586/">Packages</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <div align="left"><img src="images/windows-36.gif"></div> - <div align="right"><b>Windows installer</b><br><small>Win2k and above</small></div> - </td> - <td> - <a href="archive/beta3/windows/mono-Beta3-win32-1.exe">Mono Setup</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/macos-36.gif"><b>Mac OS X package</b> - </td> - <td> - <a href="archive/beta3/macos/mono-0.96.dmg">mono-0.96.dmg</a> in /opt. - <br/><br/> - <a href="archive/beta3/macos/MonoFramework-0.96.dmg">MonoFramework-0.96.dmg</a> in /Library/Framework - </td> - </tr> - </table> - </td> - </table> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Beta 2</b><br> - <a href="archive/beta2/beta2.html">Release notes</a><br> - June 1st, 2004 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/beta2/mono-0.95.tar.gz">Mono Runtime 0.95</a> - <li><a href="archive/beta2/mcs-0.95.tar.gz">Mono Class Libraries and C# Compiler 0.95</a> - <li><a href="archive/beta2/libgdiplus-0.8.tar.gz">libgdiplus 0.8</a> - <li><a href="archive/beta2/winelib-0.3.tar.gz">winelib 0.3</a> - <p> - <li><a href="archive/beta2/monodoc-0.16.tar.gz">MonoDoc 0.16</a> - <li><a href="archive/beta2/xsp-0.14.tar.gz">XSP web server 0.14</a> - <li><a href="archive/beta2/mod_mono-0.10.tar.gz">Apache Mono module 0.10</a> - <p> - <li><a href="archive/beta2/gtk-sharp-0.93.tar.gz">Gtk# 0.93</a> - <li><a href="archive/beta2/gecko-sharp-0.4.tar.gz">Gecko# 0.4</a> - <p> - <li><a href="archive/beta2/monodevelop-0.4.tar.gz">MonoDevelop 0.4</a> - <li><a href="archive/beta2/gtksourceview-sharp-0.3.tar.gz">GtkSourceView# 0.93</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/beta2/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/beta2/fedora-1-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-1-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Fedora Core 2/x86</b><br> - </td> - <td> - <a href="archive/beta2/fedora-2-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/yum-repository/fedora-2-i386">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SLES 8/x86</b><br> - </td> - <td> - <a href="archive/beta2/sles-8-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/beta2/suse-90-i586/">Packages</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SUSE 9.1/x86</b><br> - </td> - <td> - <a href="archive/beta2/suse-91-i586/">Packages</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <div align="left"><img src="images/windows-36.gif"></div> - <div align="right"><b>Windows installer</b><br><small>Win2k and above</small></div> - </td> - <td> - <a href="archive/beta2/windows/mono-Beta2-win32-1.exe">Mono Setup</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/macos-36.gif"><b>Mac OS X package</b> - </td> - <td> - <a href="archive/beta2/macos/Mono_0.95_Beta_2.dmg">Mono_0.95_Beta_2.dmg</a>: on /Library/Framework.<br> - <a href="archive/beta2/macos/mono-0.95.dmg">mono-0.95.dmg</a> On /opt. - </td> - </tr> - </table> - </td> - </table> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Beta 1</b><br> - <a href="archive/beta1/beta1.html">Release notes</a><br> - May 5th, 2004 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/beta1/mono-0.91.tar.gz">Mono Runtime 0.91</a> - <li><a href="archive/beta1/mcs-0.91.tar.gz">Mono Class Libraries and C# Compiler 0.91</a> - <li><a href="archive/beta1/libgdiplus-0.5.tar.gz">libgdiplus 0.5</a> - <li><a href="archive/beta1/winelib-0.2.tar.gz">winelib 0.2</a> - <p> - <li><a href="archive/beta1/monodoc-0.15.tar.gz">MonoDoc 0.15</a> - <li><a href="archive/beta1/xsp-0.13.tar.gz">XSP web server 0.13</a> - <li><a href="archive/beta1/mod_mono-0.9.tar.gz">Apache Mono module 0.9</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/beta1/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/beta1/fedora-1-i386">Packages</a> - <p><a href="http://www.go-mono.com/archive/beta1/fedora-1-i386/">YUM Repository</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SLES 8/x86</b><br> - </td> - <td> - <a href="archive/beta1/sles-8-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/beta1/suse-90-i586/">Packages</a> - </td> - </tr> - <tr bgcolor="#bbbbbb"> - <td bgcolor="#999999"> - <img src="images/suse-36.gif"><b>SUSE 9.1/x86</b><br> - </td> - <td> - <a href="archive/beta1/suse-91-i586/">Packages</a> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/windows-36.gif"><b>Windows installer</b> - </td> - <td> - <a href="archive/beta1/windows/mono-Beta1-win32-2.exe">Mono Setup</a> - Updated on May 12. - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/macos-36.gif"><b>Mac OS X package</b> - </td> - <td> - <a href="archive/beta1/macos/mono-0.91.mpkg.tar.gz">mono-0.91.mpkg.tar.gz</a> - </td> - </tr> - </table> - </td> - </table> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Release 0.31</b><br> - <a href="archive/mono-0.31.html">Release notes</a><br> - Mar 18th, 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.31.tar.gz">Mono Class Libraries and C# Compiler 0.31</a> - <li><a href="archive/mono-0.31.tar.gz">Mono Runtime 0.31</a> - <li><a href="archive/libgdiplus-0.2.tar.gz">libgdiplus 0.2</a> - <li><a href="archive/winelib-0.1.tar.gz">winelib 0.1</a> - <p> - <li><a href="archive/monodoc-0.13.tar.gz">MonoDoc 0.13</a> - <li><a href="archive/xsp-0.12.tar.gz">XSP web server 0.12</a> - <li><a href="archive/mod_mono-0.8.tar.gz">Apache Mono module 0.8</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.31/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.31/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.31/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.31/windows/mono-0.31-win32-1.exe">Mono Setup</a> - </td> - </tr> - </table> - </td> - </table> - - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Release 0.30.2</b><br> - <a href="archive/mono-0.30.1.html">Release notes</a><br> - Feb 27th, 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.2.tar.gz">Mono Class Libraries and C# Compiler 0.30.2</a> - <li><a href="archive/mono-0.30.2.tar.gz">Mono Runtime 0.30.2</a> - <li><a href="archive/monodoc-0.11.tar.gz">MonoDoc 0.11</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.2/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.2/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.2/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.2 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.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.11.tar.gz">MonoDoc 0.11</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. diff --git a/web/drawing b/web/drawing deleted file mode 100644 index 987301236d4..00000000000 --- a/web/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 the libgdiplus cvs module - 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/web/embedded-api b/web/embedded-api deleted file mode 100755 index 3b405c98ddd..00000000000 --- a/web/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 <gc/gc.h> 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/web/faq b/web/faq deleted file mode 100644 index 9a45337118c..00000000000 --- a/web/faq +++ /dev/null @@ -1,1670 +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 is Novell 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. - -Q: What are you using to implement Windows.Forms? - -A: Windows.Forms is currently being implemented on top of a modified - version of Wine that can be used as a library: WineLib. - - Essentially Wine is used as a library that happens to implement the - "Win32" toolkit and our Windows.Forms becomes a managed layer on - top of this toolkit. - - There are several advantages in this approach: we get Wndproc - message compatibility for free (Wndproc is an overridable method in - the Control class and it is used to perform advanced tricks with - the GUI toolkit) as well as allowing third-party controls that are - used to P/Invoke into Win32 in the Windows world to work out of the - box on Linux/MacOS. - -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 Q4/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, PowerPC and - SPARC-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, HPPA, StrongARM 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, - PowerPC Sparc and S390 systems, while the interpreter works on - x86, SPARC, StrongARM, s390 and PowerPC systems. - - The JIT engine is being ported to amd64 systems as of this - time. - - <li> Supports Linux, BSD, MacOS, 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> Our class libraries are licensed under the terms of the MIT - X11 license which is a very liberal license as opposed to - the GNU GPL with exceptions, this means that Mono can be - used in places where the GPL with exceptions is not - permissible. - - <li> Mono has a complete Web Services stack: we implement ASP.NET - web servers and web clients as well as implementing the - Remoting-based SOAP infrastructure. - - <li> Remoting implementation: Mono has a complete remoting - infrastructure that is used in our own codebase to provide - added functionality and performance to our ASP.NET engine - and more. - - <li> Mono has a complete <a href="c-sharp.html">C# 1.0</a> - implementation and has been stress tested a lot more than - Portable.NET's compiler. - - <li> Mono's C# compiler has strong error handling and has closer - adherence to the specification with support for definite - assignment (required to generate verifiable IL code) and - CLS conformance checking. - - <li> Mono's C# compiler is written in C# which is easier for new - developers to come in and improve, fix and tune. The Mono - C# compiler in C# is faster than their C-based compiler. - - <li> Preview of C# 2.0: a work in progress for a 2.0 - implementation of our compiler is available (iterators, - generics and anonymous methods are available in our - "preview" compiler). - - <li> Mono has a complete Reflection and Reflection.Emit: these - are important for advanced applications, compilers and - dynamic code generation. - - <li> Mono has a <a href="xml-classes.html">complete managed XML - stack</a>: XML, XPath, XML Serializer, XML Schema handling - are fully functional, feature complete and tuned for - performance. - - <li> Mono has a <a href="crypto.html">complete cryptography stack - </a>: we implement the 1.0 and 1.1 APIs as well as using our - fully managed stack to implement the SSL/TLS transports. - - <li> <a href="ado-net.html">Extensive database support</a>: Mono - ships with database provides for <a - href="firebird.html">Firebird</a>, <a href="ibmdb2.html">IBM - DB2</a>, <a href="oracle.html">Oracle</a>, <a - href="sybase.html">Sybase</a>, Microsoft <a - href="tdsclient.html">SQL Server</a>, <a - href="sqlite.html">SQL Lite</a>, <a - href="mysql.html">MySQL</a>, <a - href="postgresql.html">PostgresSQL</A>, <a href="oledb.html">Ole - DB</a> and <a href="odbc.html">ODBC</a>. - - <li> Mono includes full LDAP support. - - <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 are - 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: Yes, Mono works on Linux/PPC and MacOS X (10.2 and 10.3) - -<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: We are not working on a GCC front-end for C# - -Q: Will you support C/C++ on the Mono VM? - -A:The open64 compiler effort from SGI helps a lot in this direction. - - The Open64 compiler is a modified version of GCC that - generates a new intermediate language instead of RTL. This could be - the foundation to generate CIL code, and to implement the upcoming - Managed extensions to C++ from ECMA. - - Open64 (and other derivative forks of GCC) split the gcc front-ends - from the backends by using the WHIRL intermediate representation. - Kris has begun the implementation of a translator from WHIRL to CIL. - - So it will be possible to use the GCC compilers to target the CIL. - -Q: What about Managed C++? - -A: Once a full translator for WHIRL exists, we are interested in - looking at expanding the GCC frontends to include extensions for - Managed C++. - -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). - - -<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: The existance - of structs in addition to classes helps a lot the performance and - minimizes the memory footprint of applications. - - Generics in the CLI world are first-class citizens, they are not - just a strong-typing addition to the language. The generic - specifications are embedded into the instruction stream, the JIT - uses this information to JIT a unique instances of a method that is - optimized for the type arguments. - - The CIL 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="http://web.archive.org/web/20030609164123/http://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: Yes, the Mono runtime now supports the new Generics extensions, and - there is also support for generics in our new compiler: `gmcs'. - - The Mono C# 1.0 compiler (mcs) will ship with various C# 2.0 - features, but generics will remain on the separate compiler (gmcs) - as this code is not as tested as the main compiler. - -<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/web/firebird b/web/firebird deleted file mode 100755 index 6d3bc0b33f3..00000000000 --- a/web/firebird +++ /dev/null @@ -1,140 +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.1</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> - <li>Improved connection pooling.</li> - <li>Improved array datatype support.</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/web/forge b/web/forge deleted file mode 100644 index 3f85b3dc897..00000000000 --- a/web/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/web/gcc-frontend b/web/gcc-frontend deleted file mode 100644 index c892749c036..00000000000 --- a/web/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/web/gtk-sharp b/web/gtk-sharp deleted file mode 100644 index 0100f667327..00000000000 --- a/web/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/gtk/download.php">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/web/hackers b/web/hackers deleted file mode 100644 index abe607e425b..00000000000 --- a/web/hackers +++ /dev/null @@ -1,67 +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 - -** John Luke - -John Luke has touched many aspects of Mono, including the core -libraries, Gtk#, MonoDevelop, and Monodoc. His skills are apparent -from his work. He sets an example by writing documentation along with -his patches. - -** Dan Morgan - -Dan Morgan is an important contributor to the System.Data related -assemblies but their code and has contributions that have touched -plenty of areas in the Mono project as well as helping with the Win32 -installers on the early Mono days. - -** Tim Coleman - -Tim Coleman contributions span System.Data and set the foundation for -some of the later work on System.Web.Services and has contributed all -around Mono. - -** Todd Berman - -Todd Berman is a steady contributor to Mono. He has worked -everywhere: from the Class Libraries, to the early implementation of -the GAC and most recently has lead the effort to develop, port and -maintain MonoDevelop an IDE for the Mono environment. His help has -been key to the development of Mono. - -** 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/web/ibmdb2 b/web/ibmdb2 deleted file mode 100755 index d8c919adf46..00000000000 --- a/web/ibmdb2 +++ /dev/null @@ -1,59 +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 IBM.Data.DB2 and assembly IBM.Data.DB2. The source code is located in the mcs/class/IBM.Data.DB2 directory.</li> - - <li>This IBM DB2 data provider is built on top of Call Level Interface, a C interface similar to ODBC.</li> - The required libraries are db2cli.dll on Windows and db2_36.so under Linux. - - <li>The data provider is maintained by <a href="http://www.hqsoftconsult.com">HQSoftware Consulting</a> team.</li> - Our objective in developing this managed provider is to simplify the process of migrating enterprise solutions with demanding data processing requirements from Windows to Linux. For questions, complaints or anything else regarding the managed provider please <a href="mailto:office@hqsoftconsult.com">contact us</a>. - - <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> - This IBM DB2 managed provider is in a stable stage. It was tested on Linux and Windows platforms on x86 hardware. All the features one would expect from a .NET managed provider are implemented, including: - <ul> - <li>Connecting / disconneting to local and remote datasources</li> - <li>Connection pooling</li> - <li>Statement execution support using the ExecuteNonQuery(), ExecuteScalar(), ExecuteReader() methods of the DB2Command</li> - <li>Transactions support</li> - <li>Filling datasets with the DB2DataAdapter from direct statement execution or from stored procedures cursors</li> - <li>Updating datasources with the changes in DataSets using DB2DataAdapter.Update() method</li> - <li>Full stored procedures invocation support; IN/OUT/INOUT and return parameters</li> - <li>Generating Insert/Update/Delete commands with the DB2CommandBuilder</li> - </ul> -</ul> - -** Action Plan - -<ul> - <li>Future plans: - <ul> - <li>Fixing all the bugs as soon as they will be discovered</li> - <li>Exhaustive test cases suite</li> - <li>Enhanced bulk insert operations support</li> - <li>Switching from the C interface to the DB2 wire protocol </li> - </ul> - </li> - -</ul> - -** Testing -<br> -In order to test. -<ul> - <li>Download and install mono from <a href="http://www.go-mono.com/download.html">http://www.go-mono.com/download.html</a></li> - <li>Make sure you have a working C compiler on the machine you will install DB2 on, since this will be required for compiling stored procedures</li> - <li>Install IBM DB2 and make sure you have created the links for the DB2 files using the db2ln command. </li> - You can register and download IBM DB2 Personal Developer Edition from <a href="http://www14.software.ibm.com/webapp/download/search.jsp?rs=db2pde">here</a>. - If you cannot install DB2 using the automatic installation due to the java user interface issues, you can perform a manual installation following these <a href="http://publib.boulder.ibm.com/infocenter/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0006742.htm">instructions</a>. - - <li>Make sure the assembly IBM.Data.DB2.dll was built and installed where the other class libraries are installed.</li> -</ul> - diff --git a/web/ideas b/web/ideas deleted file mode 100644 index 83e4eb3a1c5..00000000000 --- a/web/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/web/index b/web/index deleted file mode 100644 index 52a8ced8b09..00000000000 --- a/web/index +++ /dev/null @@ -1,475 +0,0 @@ -<meta http-equiv="Refresh" content="0"; URL=http://www.mono-project.com/"> -<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> - Linux/x86<br> - Solaris/SPARC<br> - PowerPC: MacOS and Linux.<br> - S390: Linux. - </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> - <b>Beta 1 Press Coverage</b> - </td> - <td> - <a href="http://www.go-mono.com/beta1-press.html" target="blank">May 2004</a>: Mono Beta 1 rallies the press - </td> - </tr> - <tr> - - <td> - <b>Linux Planet</b> - </td> - <td> - <a href="http://www.linuxplanet.com/linuxplanet/reports/5375/4/">May 3rd, 2004</a>: And then there's Mono - </td> - </tr> - - <tr> - <td> - <b>DevChannel</b> - </td> - <td> - <a href="http://tools.devchannel.org/devtoolschannel/04/04/21/169234.shtml?tid=46">Apr 26th, 2004</a>: What is Mono and why should you care ? - </td> -</tr><tr> - </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> - -@item Jun 30th, 2004: Mono 1.0 - - <table> - <tr> - <td> - <img - src="http://www.go-mono.com/archive/1.0/mono1.gif"></td> - <td> - <b>Mono 1.0 has been released!</b><br/> - - <p>Be the first kid in your block to install the - <i>it-took-us-three-years-but-we-did-it</i> development platform. - - <p>Read the <a - href="http://www.go-mono.com/archive/1.0/index.html">release notes</a> - or <a href="http://www.go-mono.com/download.html">download it</a></p> - </td> - </tr> - </table> - -@item Jun 23rd, 2004: The Mono Hackers Hall of Fame welcomes John Luke, Dan Morgan and Tim Coleman. - - The <a href="http://www.go-mono.com/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. - - John Luke, Dan Morgan and Tim Coleman are now part of the Mono - Hackers Hall of Fame. - -@item Jun 15th, 2004: Mono Beta 3 has been released - - <table> - <tr> - <td> - <img - src="http://www.go-mono.com/images/beta3.gif"></td> - <td> - Our third beta has been released. - - Packages and source code are available <a - href="download.html">on our download</a> page. - </td> - </tr> - </table> - -@item Jun 1st, 2004: Mono Beta 2 has been released - - <table> - <tr> - <td> -</td> - <td>Mono Beta 2 has been released. See our <a - href="http://www.go-mono.com/archive/beta2/beta2.html">Release - Notes</a>, or go directly to the <a href="download.html">download</a> page. - </td> - </tr> - </table> - -@item May 17th, 2004: Huge press response for Mono 1.0 Beta 1 - - Two weeks after the release of Mono 1.0 Beta 1, we take a - look at the <a href="http://www.go-mono.com/beta1-press.html" target='_blank'>press coverage</a> that followed the - beta release. - -@item May 10th, 2004: The Mono Hackers Hall of Fame welcomes Todd Berman - - The <a href="http://www.go-mono.com/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. - - Todd Berman is a steady contributor to Mono. He has worked - everywhere: from the Class Libraries, to the early implementation of - the GAC and most recently has lead the effort to develop, port and - maintain MonoDevelop an IDE for the Mono environment. His help has - been key to the development of Mono. - -@item May 4th, 2004: Mono Beta 1 available - - <table> - <tr> - <td> - <img - src="http://www.go-mono.com/images/beta1-anim.gif"></td> - <td>Mono Beta 1 has been released. See our <a - href="http://www.go-mono.com/archive/beta1/beta1.html">Release - Notes</a>, or go directly to the <a href="download.html">download</a> page. - </td> - </tr> - </table> - -@item May 2nd, 2004: mDnsResponder.Net; Global Assembly Cache. - - Brady Anderson has released the first version of his <a href= - "http://forge.novell.com/modules/xfmod/project/?mdnsresponder">multicast - DNS responder</a> written in C# for the Mono and .NET - platforms. This is the foundation for implementing - rendezvous-like functionality in your applications. - - The tree has started to stabilize after all the changes last - week to integrate the Global Assembly Cache work that Jackson, - Sebastien, Todd and all the volunteers helped us deploy. - -@item Apr 22nd, 2004: XSP 0.12 released. - - A new release of XSP is available. It fixes a bug that made Web Services - unusable from client proxies. You can download it from <a - href="/archive/xsp-0.12.tar.gz">here</a>. - -@item Apr 21st, 2004: XSP 0.11 and mod_mono 0.8 released. - - Gonzalo has made new releases of XSP and mod_mono (The ASP.NET - hosting service for Mono). - - Check the XSP/mod_mono <a href="archive/xsp-0.10.html"> - Release Notes</a> to see what is new and to obtain the source - packages. - -@item Apr 20, 2004: S390 port; Interpreted Updated; Identity classes; System.Drawing; Mono Debugger. - - Neale who originally wrote the S390 interpreter support for - Mono has checked into CVS his port of the S390 JIT engine. - Now, if we could only have one of those in our living room. - - Bernie has checked into CVS a new interpreter for the Mono - runtime. This new interpreter translates the CIL opcodes into - a new intermediate representation. The new IL representation - avoids doing costly lookups during interpretation which means that the - interpreter is a lot faster now. - - Performance wise, the new interpreter is three times faster - than the old one when doing a compiler bootstrap. - - Sebastien has recently completed the identity classes in the - Mono Runtime, you can see more details on his <a - href="http://pages.infinit.net/ctech/poupou.html">blog</a> - - New progress on the GDI+ front: Jordi has completed the region - code; Ravindra the various brushes that we must support; - Sanjay the Icon and BMP loaders (with Mark) and Vladimir has - contributed various codecs and a new fresh implementation of - Image.LockBits. - - Lluis and Atsushi in the meantime has been in charge of - completing various pending items from our class libraries: - basically an API audit of the things missing for the Mono 1.0 - release, small but important things. - - Martin has replaced the old command-line language in the - debugger with our home-grown "Command Line" language, a - TCL-like command line language that we built for it (its a - tiny .NETized Tcl-like language). The interaction process is - a lot smoother than it used to be and we are focusing on the - usability of the command line language to improve the - debugging experience. - -@item Apr 02, 2004: Mono C# Compiler gets CLS support; Basic Runtime Contribution from Mainsoft. - - Marek Safar has been working for a few months on adding - support to the C# compiler to support the various checks required - by the Common Language Specification (CLS). - - In the past the C# compiler was unable to flag any problems - related to the creation of cross-language libraries. Today - with this patch the compiler will properly flag errors in CLS - compliance. Tests for all of the errors have also been - included on CVS. - - <a href="http://www.mainsoft.com">Mainsoft</a> has contributed - an implementation of their Basic runtime to the project. The - runtime they wrote is written in Java and we are translating - this into C# code. The code will reach CVS within the next - few weeks. - - Mainsoft also contributed an extensive regression test suite - for the Basic runtime, a port of the NIST XML tests and their - own in-house developed XML tests. - -@item Mar 31st, 2004: Gtk# 0.18, MonoDoc 0.13, MonoDevelop 0.2 released - - New versions of Gtk# and MonoDoc have been released. - - Gtk# is available from <a - href="http://gtk-sharp.sf.net">Gtk# home page</a> and MonoDoc 0.13 - is available from our <a href="download.html">download</a> - page. - - Gtk# now features [ConnectBefore] attribute for hooking up - signals; An automake/autoconf setup; the System.Drawing - dependency has been dropped and many more docs. - - And <a href="http://www.monodevelop.com/">MonoDevelop 0.2</a> - has been released. - -@item Mar 18th, 2004: Mono 0.31 has been released - - We have released version 0.31 of Mono. All the new features - and improvements are described in our <a - href="archive/mono-0.31.html">Mono 0.31 Release Notes</a>. - - You can download Mono 0.31 packages using Red Carpet, or pick - the individual packages from our <a - href="download.html">download</a> page. - -@item Mar 15th, 2004: Async IO lands on Mono. - - Gonzalo has completed the implementation of Async I/O for Mono - using the kernel aio_* interfaces. If your operating system supports - the aio_ POSIX interface, the FileStream methods that - expose asynchronous methods will use this facility instead of - emulating it with threads as we have done in the past. - - We had this request come to us from various people in the - past, and we are now looking for your help to test and debug - this. - -@item Mar 11th, 2004: Mono JIT ported to SPARC. - - Zoltan Varga announced today that the SPARC port of the Mono - JIT engine has been completed. Congratulations to Zoltan for - this amazing development. - -@item Feb 26th, 2004: Agenda: Mono Meeting in Boston. - - The agenda for the Mono Meeting is now available: <a - href="http://primates.ximian.com/~miguel/MonoMeet.html">Mono Meeting - Agenda</a> - -@item Feb 24th, 2004: Mono Meeting in Boston. - - On March 5th-6th (Friday and Saturday) there will be an - open-house meeting for people interested in Mono to get - together with the Mono developers at the Novell offices in - in Cambridge Massachusetts (<a - href="http://www.ximian.com/about_us/contact/">directions</a>). - - The whole Novell Mono team will be here (Atsushi Enomoto, Dick - Porter, Duncan Mak, Erik Dasque, Gonzalo Paniagua, Jackson - Harper, Jordi Mas, Lluis Sanches, Manjula, Martin Baulig, - Miguel de Icaza, Mike Kestner, Paolo Molaro, Peter Bartok, - Sebastien Pouliot, Sachin Kumar) and hopefully Joe Shaw, Nat - Friedman, Peter Williams and Ravi Pratap will be joining us as - well. Expect to see Todd Berman from MonoDevelop as well. - - If you are coming, please notify <a - href="mailto:edasque@ximian.com">edasque@ximian.com</a> about it, so - we can add you to the security list, and use the `open house - confirmation' subject in your email. - -@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/web/issues b/web/issues deleted file mode 100644 index abf91eeadfa..00000000000 --- a/web/issues +++ /dev/null @@ -1,54 +0,0 @@ -<a name="wapi"></a> -* ~/.wapi error message - -Q: What does the following error message mean? - - <pre> - Failed to attach shared memory! - Falling back to non-shared handles - </pre> - -A: To properly implement the handle semantics expected by .NET - applications where a handle number is all that its needed to pass - a descriptor from one process to another and have it just work. - - Handles are used to specify: files, events, locks, semaphores, - sockets, pipes and processes descriptors. So two Mono processes - can share any of those resources just by exchanging the handle - tokens (a number) between them. - - This is accomplished by using a helper process that is launched by - the first Mono invocation (that is why you see two mono processes - running on your machine). - - The various Mono processes communicate with each other with a local - file in the ~/.wapi directory (one per hostname, so this works fine - over NFS). - - If the system crashes, or all of the Mono processes are killed - without a chance to shut down properly those files will remain - there, but there will no longer be an owner for them. If a new - Mono start up, it will notice that the file exists, but it will - fail to contact the helper process, issuing the above warning. - -Q: How do I fix the problem? - -A: If you are sure that no other Mono process is running, you can just - delete the contents of the ~/.wapi directory: - -<pre> - rm -i ~/.wapi/* -</pre> - - If you can not delete those files (because say, you have a running - Mono, you can disable the use of the shared handles setup by - setting the MONO_DISABLE_SHM environment variable as well: - -<pre> - # Notice: Highly discouraged - bash$ export MONO_DISABLE_SHM=1 -</pre> - - The above is highly discouraged as that will make process execution - fail, and without that many things like XSP/ASP.NET or the C# - compiler's -pkg: support will not work. diff --git a/web/java b/web/java deleted file mode 100755 index adcd888f1be..00000000000 --- a/web/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/web/jit-debug b/web/jit-debug deleted file mode 100644 index 66b4411ff07..00000000000 --- a/web/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 - mono_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 mono_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 mono_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/web/languages b/web/languages deleted file mode 100755 index 1d76ada4cdc..00000000000 --- a/web/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> - * <a href="#nemerle">Nemerle</a> - * <a href="#python">Python</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 bindings: - - <ul> - * <a href="#Tachy">Tachy</a> (scheme-like) - </ul> - -<a name="Java"></a> -** Java - - Java is supported through the <a href="http://www.ikvm.net">IKVM</a> virtual machine. - - Zoltan worked with Jeroen to get IKVM to work with Mono. - -<a name="nemerle"> -* Nemerle - - Nemerle is a new hybrid (functional, object-oriented and - imperative) programming language for the .NET platform. It is - available from <a - href="http://www.nemerle.org/">http://www.nemerle.org</a>. - -<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> - - - diff --git a/web/mailing-lists b/web/mailing-lists deleted file mode 100644 index ad2aa170ae4..00000000000 --- a/web/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/web/mbas b/web/mbas deleted file mode 100644 index 5a971795051..00000000000 --- a/web/mbas +++ /dev/null @@ -1,57 +0,0 @@ -* mbas: Mono's VisualBasic.NET Compiler.
-
- MonoBASIC (mbas) is a CIL compiler for the VisualBasic.NET language,
- an extended version of Visual Basic. It's based on the MCS compiler
- and still in heavy development, though many language features are
- already supported. See mcs/mbas/
-
-** What works
-
- <ul>
-
- * Classes, Fields and Methods. Properties are still
- being worked on.
-
- * Module definition and Sub/Function functionality
-
- * 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 based on those of mcs (look at the grammar -
- mb-parser.jay - and compare it with cs-parser.jay, if interested), but some
- are getting deeply changed, to better conform to VB.NET semantics.
-
-** TODO-list
-
- At this stage almost every element of the language must be still checked for
- conformance to MS' implementation.
- We'd like to implement 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.
-
- Also work on the supporting library (we don't currently depend on it as much
- as MS vbc-compiled programs, but especially for late-binding scenarios we will)
- is surely needed: it's in mcs/class/Microsoft.VisualBasic/
diff --git a/web/mono-1.0.html b/web/mono-1.0.html deleted file mode 100644 index 40730ced1a1..00000000000 --- a/web/mono-1.0.html +++ /dev/null @@ -1,103 +0,0 @@ -<html> -<head> -<title>Mono 1.0 assemblies</title> -</head> - -<body> -<h1>Assemblies</h1> - - <b>Notice that these are *assemblies*, they are not - namespaces. </b> - - <b>Each assembly normally contains code that spans multiple - namespaces (mscorlib contains 37 namespaces), but there are a - lot of people who seem confused about this. - -<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 - SPARC - -JIT, 32 bits, unstable: - S390 - -Interpreter, 32 bits: - s390 - HPPA - StrongARM - SPARC v8 - -Interpreter, 64 bits: - ia64 - SPARC v9 -</body> -</html> diff --git a/web/mono-beginning b/web/mono-beginning deleted file mode 100644 index 4b193712113..00000000000 --- a/web/mono-beginning +++ /dev/null @@ -1,36 +0,0 @@ -* Mono for beginners - - <b>WARNING: This page is outdated</b> - - 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/web/mono-beginning-windows.xml b/web/mono-beginning-windows.xml deleted file mode 100644 index a6f34da77f0..00000000000 --- a/web/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 <johannes\@jroith.de>:
-</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/web/mono-beginning.xml b/web/mono-beginning.xml deleted file mode 100644 index 6ab1019c225..00000000000 --- a/web/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/web/mono-build-mac-fw-release.sh b/web/mono-build-mac-fw-release.sh deleted file mode 100644 index ab4bf563c1e..00000000000 --- a/web/mono-build-mac-fw-release.sh +++ /dev/null @@ -1,217 +0,0 @@ -#!/bin/sh - -# this horrid little script updates a mono revision -# Author: Andy Satori <dru@satori-assoc.com> -# Modifications: kangaroo -# Changes June 10/2004 -# - Updated for beta3 0.96 -# Changes June 2/2004 -# - Updated for beta2 0.95 -# - Updated to boehm.gc.a6 -# - Updated to glib-2.4.1 - -set -e - -INITIALDIR=$PWD -VERSION=0.96 -PREFIX=/Library/Frameworks/Mono.framework/Versions/$VERSION - -export C_INCLUDE_PATH=$C_INCLUDE_PATH:$PREFIX/include -export LDFLAGS=-L$PREFIX/lib -export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/X11R6/lib:$PREFIX/lib - -if test ! -d "$INITIALDIR/Dependancies"; then - mkdir $INITIALDIR/Dependancies -fi - -# make the directories as need for the Framework (which isn't really -# a framework, but it looks like one and makes a nice placeholder until -# someone smarter than I am can come in and make it better) - -if test ! -d "/Library/Frameworks/Mono.framework"; then - mkdir /Library/Frameworks/Mono.framework - mkdir /Library/Frameworks/Mono.framework/Versions -fi - -if test ! -d "/Library/Frameworks/Mono.framework/Versions/$VERSION"; then - mkdir /Library/Frameworks/Mono.framework/Versions/$VERSION -fi - -# set up the environment for the build -export PATH=$PREFIX/bin:/usr/X11R6/bin:$PATH -export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal/" -export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/X11R6/lib/pkgconfig - - -cd $INITIALDIR/Dependancies - -# pkg-config - -echo +++ processing pkg-config - -if test ! -f "$PREFIX/bin/pkg-config"; then - if test ! -d "pkgconfig-0.15.0"; then - curl http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz -O - tar xzf pkgconfig-0.15.0.tar.gz - rm pkgconfig-0.15.0.tar.gz - fi - - cd pkgconfig-0.15.0 - - ./configure --prefix=$PREFIX - make - make install - make clean - - cd .. -fi - -# gettext - -echo +++ processing gettext - -if test ! -f "$PREFIX/bin/gettext"; then - - if test ! -d "gettext-0.14.1"; then - curl http://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.1.tar.gz -O - tar xzf gettext-0.14.1.tar.gz - rm gettext-0.14.1.tar.gz - fi - - cd gettext-0.14.1 - - ./configure --prefix=$PREFIX - make - make install - make clean - - cd .. -fi - -# glib2 - -echo +++ processing glib2 - -if test ! -f "$PREFIX/lib/libgobject-2.0.la"; then - if test ! -d "glib-2.4.1"; then - curl ftp://ftp.gtk.org/pub/gtk/v2.4/glib-2.4.1.tar.gz -O - tar xzf glib-2.4.1.tar.gz - rm glib-2.4.1.tar.gz - fi - - cd glib-2.4.1 - - ./configure --prefix=$PREFIX - make - make install - make clean - - cd .. -fi - -# boehm gc, is now built-in (since 0.95) - -# icu ( http://oss.software.ibm.com/icu/index.html ) - -echo +++ processing ICU - -if test ! -f "$PREFIX/lib/libicuuc.dylib.28.0"; then - if test ! -d "icu"; then - curl ftp://www-126.ibm.com/pub/icu/2.8/icu-2.8.tgz -O --disable-epsv - tar xzf icu-2.8.tgz - rm icu-2.8.tgz - fi - - cd icu/source - - ./runConfigureICU MacOSX --with-data-packaging=library --prefix=$PREFIX --libdir=$PREFIX/lib/ - gnumake - make install - make clean - - cd $PREFIX/lib - - # libicudata - install_name_tool -id $PREFIX/lib/libicudata.dylib.28 libicudata.dylib.28.0 - - # libicui18n - install_name_tool -id $PREFIX/lib/libicui18n.dylib.28 libicui18n.dylib.28.0 - install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicui18n.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicui18n.dylib.28.0 - - # libicuio - install_name_tool -id $PREFIX/lib/libicuio.dylib.28 libicuio.dylib.28.0 - install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicuio.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicuio.dylib.28.0 - install_name_tool -change libicui18n.dylib.28 $PREFIX/lib/libicui18n.dylib.28 libicuio.dylib.28.0 - - # libicule - install_name_tool -id $PREFIX/lib/libicule.dylib.28 libicule.dylib.28.0 - install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicule.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicule.dylib.28.0 - - # libiculx - install_name_tool -id $PREFIX/lib/libiculx.dylib.28 libiculx.dylib.28.0 - install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libiculx.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libiculx.dylib.28.0 - install_name_tool -change libicule.dylib.28 $PREFIX/lib/libicule.dylib.28 libiculx.dylib.28.0 - - # libicutoolutil - install_name_tool -id $PREFIX/lib/libicutoolutil.dylib.28 libicutoolutil.dylib.28.0 - install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicutoolutil.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicutoolutil.dylib.28.0 - - # libicuuc - install_name_tool -id $PREFIX/lib/libicuuc.dylib.28 libicuuc.dylib.28.0 - install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicuuc.dylib.28.0 - - cd $INITIALDIR -fi - -# mono - -echo +++ patching libintl to not be statically linked -perl -pi -e "s/old_library='libintl.a'/old_library=''/" $PREFIX/lib/libintl.la -echo +++ processing mono run-time libraries - -if test ! -f "$PREFIX/bin/mono"; then - if test ! -d "$INITIALDIR/Bootstrap"; then - mkdir $INITIALDIR/Bootstrap - fi - cd $INITIALDIR/Bootstrap - - if test ! -d "mono-$VERSION"; then - curl http://www.go-mono.com/archive/beta3/mono-$VERSION.tar.gz -O - tar xzf mono-$VERSION.tar.gz - rm mono-$VERSION.tar.gz - fi - - cd mono-$VERSION - - ./configure --prefix=$PREFIX - make - make install - make clean - - cd .. -fi - -# setup the Current symlink - -cd /Library/Frameworks/Mono.framework/Versions - -if test -e "/Library/Frameworks/Mono.framework/Versions/Current"; then - rm Current -fi -ln -s $VERSION Current -echo +++ Setup the rest of the framework -cd /Library/Frameworks/Mono.framework -ln -s Versions/Current/lib Libraries -ln -s Versions/Current/include Headers -ln -s Versions/Current/bin Commands -for binfile in Commands/*; do - sudo rm -f /usr/bin/`echo $binfile | perl -pe 's/\.exe//' | perl -pe 's/Commands\///'` - sudo ln -s /Library/Frameworks/Mono.framework/`echo $binfile | perl -pe 's/\.exe//'` /usr/bin/`echo $binfile | perl -pe 's/\.exe//' | perl -pe 's/Commands\///'` -done - -# update the installer source file diff --git a/web/mono-build-w32.sh b/web/mono-build-w32.sh deleted file mode 100755 index fe9d061fe51..00000000000 --- a/web/mono-build-w32.sh +++ /dev/null @@ -1,202 +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 -export C_INCLUDE_PATH=$here/install/include - -# 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/web/mono-build.sh b/web/mono-build.sh deleted file mode 100755 index 17b604cc273..00000000000 --- a/web/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/web/mono-contribution-howto b/web/mono-contribution-howto deleted file mode 100644 index ea3a4eaae53..00000000000 --- a/web/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/web/mono-hacking-roadmap.html b/web/mono-hacking-roadmap.html deleted file mode 100644 index 134a1d42541..00000000000 --- a/web/mono-hacking-roadmap.html +++ /dev/null @@ -1,312 +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: There are two ways to sign - assemblies.<br> - - <b>StrongNames</b> - It is possible to sign - and verify strongname signatures using the - sn.exe security tool. This same tool can also - create the required key pairs to sign the - assemblies. What we are lacking: - <ul> - <li>The runtime doesn't check - strongname signatures (if present) - when loading an assembly outside the - GAC; - <li>sn.exe cannot be used to sign, - nor verify, an assembly that contains - the "ECMA public key"; - <li>sn.exe doesn't support all options - to turn on/off runtime verification - for some assemblies; - <li>StrongNameIdentityPermission - support isn't complete as it depends - on CAS. - </ul> - - <b>Authenticode</b> - It is possible today - to sign assemblies (in fact any PE file) with - an Authenticode(r) compatible signature (with - or without a timestamp) using the security - tools cert2spc.exe and signcode.exe. We also - have support to test this using the tools - makecert.exe, chktrust.exe and setreg.exe. - What we are lacking: - <ul> - <li>Currently our X.509 certificate - chaining is very limited and we do - not support certificate revocation - in anyway; - <li>Not every options are implemented - in all tools (and some do not really - apply to Mono); - <li>PublisherIdentityPermission - support isn't complete as it depends - on CAS. - </ul> - - <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 Avalon 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/web/mono-roadmap.html b/web/mono-roadmap.html deleted file mode 100644 index 29344af5560..00000000000 --- a/web/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, SPARC 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/web/mono-todo b/web/mono-todo deleted file mode 100644 index c57c430c9b2..00000000000 --- a/web/mono-todo +++ /dev/null @@ -1,266 +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>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>Port the JIT to additional architectures. - Currently ports exist for x86, ppc, sparc and s390. - - 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>Linker tool. - - <td>Write a tool that given a list of methods and - classes extracts them from an existing assembly and - produces a new assembly with these classes and any - dependencies they might have. - - <br>The idea is to have a way of creating custom - libraries that can either be embedded with Mono's - bundle setup or to create smaller editions of the - libraries for embedded systems. - - <td>Medium - <td>4-6 months - <td> - </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>System.Data updates - <td>.NET 1.2 will introduce 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> - <tr> - <td>System.XML updates - - <td>.NET 2.0 will introduce many new updates to the - System.Xml namespace: XQuery and new XPathDocument are - the big changes. - - <td>Medium - <td>6-9 months. - <td>Work with the mono-devel-list to keep track of things. - </tr> -</table> - diff --git a/web/monodoc-xml b/web/monodoc-xml deleted file mode 100644 index e8a5ffe2c71..00000000000 --- a/web/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"><c></a></code></dt> -<dd>Mark short sections of text as code.</dd> - -<dt><code><code><a href="#code"><code></a></code></dt></code> -<dd>Mark one or more lines as code or output.</dd> - -<dt><code><a href="#doc"><doc></a></dt></code> -<dd>Root element of documentation XML.</dd> - -<dt><code><a href="#event"><event></a></dt></code> -<dd>Describe an event.</dd> - -<dt><code><a href="#example"><example></a></dt></code> -<dd>An example.</dd> - -<dt><code><a href="#exception"><exception></a></dt></code> -<dd>Specify an exception a method can throw.</dd> - -<dt><code><a href="#field"><field></a></dt></code> -<dd>Describe a field.</dd> - -<dt><code><a href="#list"><list></a></dt></code> -<dd>Create a list or table.</dd> - -<dt><code><a href="#method"><method></a></dt></code> -<dd>Describe a method.</dd> - -<dt><code><a href="#para"><para></a></dt></code> -<dd>Allow text to be structured in paragraphs.</dd> - -<dt><code><a href="#param"><param></a></dt></code> -<dd>Specify a parameter for a method.</dd> - -<dt><code><a href="#paramref"><paramref></a></dt></code> -<dd>Mark a word as a parameter.</dd> - -<dt><code><a href="#permission"><permission></a></dt></code> -<dd>Define the access level of a member.</dd> - -<dt><code><a href="#property"><property></a></dt></code> -<dd>Describe a property.</dd> - -<dt><code><a href="#remarks"><remarks></a></dt></code> -<dd>Provide verbose information for a type or member.</dd> - -<dt><code><a href="#returns"><returns></a></dt></code> -<dd>Specify the return value of a method.</dd> - -<dt><code><a href="#see"><see></a></dt></code> -<dd>Specify a link.</dd> - -<dt><code><a href="#seealso"><seealso></a></dt></code> -<dd>Specify a 'see also' entry.</dd> - -<dt><code><a href="#summary"><summary></a></dt></code> -<dd>Provide a brief (usually one sentence) description of a member or type.</dd> - -<dt><code><a href="#type"><type></a></dt></code> -<dd>Describe a type.</dd> -</dl> - -** Definitions and Examples - -*** <a name="c"><c></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><code></code></a>. - -**** Syntax - -<pre> -<c>code or output text</c> -</pre> - -**** Example - -<pre> -<remarks> - Class <c>Point</c> models a point in two-dimensional space. -</remarks> -</pre> - -*** <a name="code"><code></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><code>source or program output</code></code> - -**** Example - -<pre> -<summary> - This method changes the point's location by the given - x- and y-offsets. - <example lang="C#"> - A C# example: - <code> - Point p = new Point(3, 5); - p.Translate(-1, 3); - // p == (2, 8); - </code> - </example> -</summary> -</pre> - -*** <a name="doc"><doc></a> - -This tag is the root element of the documentation file. It can contain -any number of <type> elements. - -**** Syntax - -<code><doc lang="language" assembly="assembly">typedocs</doc></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> -<doc lang="en"> - <type name="Graphics.Point"> - <!-- ... --> - </type> -</doc> -</pre> - -*** <a name="event"><event></a> - -This tag documents an event. - -**** Syntax - -<code><event name="eventname">documentation</event></code> - -<blockquote> -<em>name="eventname"</em><br /> -The name of the event being documented. -</blockquote> - -**** Example - -<pre> -<event name="Click"> - <summary> - Occurs when the control is clicked. - </summary> - <data> - The event handler receives an argument of type EventArgs - containing data related to this event. - </data> - <remarks> - <para>The ControlStyles.StandardClick style must be set - for this event to be raised.</para> - <para>For more information about handling events, see - Consuming Events.</para> - </remarks> -</event> -</pre> - -*** <a name="example"><example></a> - -This tag marks a section of text as an example, and optionally specifies -what programming language <code><a href="#code"><code></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"><code></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"><code><a/></code> for an example. - -*** <a name="exception"><exception></a> - -This tag provides a way to specify the exceptions a method can throw. - -**** Syntax - -<code><exception cref="exception-type">description</exception></code> - -<blockquote> -<em>cref="exception-type"</em><br /> -The name of an exception type. -</blockquote> - -**** Example - -<pre> -<exception cref="System.IO.FileNotFoundException"> - Thrown when the requested file is not found. -</exception> -</pre> - -*** <a name="field"><field></a> - -This tag is used to describe a field. - -**** Syntax - -<code><field name="fieldname">documentation</field></code> - -<blockquote> -<em>name="fieldname"</em><br /> -The name of the field being documented. -</blockquote> - -**** Example - -<pre> -<field name="x"> - <summary> - Instance variable <c>x</c> represents the point's - x-coordinate. - </summary> -</field> -</pre> - -*** <a name="list"><list></a> - -This tag is used to create a list or table of items. It may contain a -<code><listheader></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><item></code> block. When creating a -definition list, both <code><term></code> and <code><description></code> must be specified. -However, for a table, bulleted list, or numbered list, only <code><description></code> -need be specified. - -**** Syntax - -<pre> -<list type="bullet" | "number" | "table"> - <listheader> - <term>term</term> - <description>description</description> - </listheader> - <item> - <term>term</term> - <description>description</description> - </item> - - ... - -</list> -</pre> - -<blockquote> -<em>term</em><br /> -The term to define, whose definition is in <code><description></code>. -<br /><br /> -<em>description</em><br /> -Either an item in a bullet or numbered list, or the definition of a <code><term></code>. -</blockquote> - -**** Example - -<pre> -<list type="bullet"> - <item> - <description>Item 1</description> - </item> - <item> - <description>Item 2</description> - </item> -</list> -</pre> - -*** <a name="method"><method></a> - -This tag is the overall containing tag for documenting a method. - -**** Syntax - -<code><method name="methodname">documentation</method></code> - -**** Example - -<pre> -<method name="op_Equality(Graphics.Point,Graphics.Point)"> - <summary> - This operator determines whether two points have - the same location. - </summary> - <param name="p1"> - <c>p1</c> is the first Point to be compared. - </param> - <param name="p2"> - <c>p2</c> is the second Point to be compared. - </param> - <returns> - True if the points have the same location and they - have the exact same type; otherwise, false. - </returns> - <seealso cref="Equals(System.Object)" /> - <seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /> -</method> -</pre> - -*** <a name="para"><para></a> - - -This tag is for use inside other tags such as <code><remarks></code> or <code><returns></code>, and -allows text to be structured into paragraphs. - -**** Syntax - -<code><para>text</para></code> - -**** Example - -<pre> -<summary> - <para> - This is the entry point of the <c>Point</c> class testing - program. - </para> - <para> - This program tests each method and operator, and - is intended to be run after any non-trivial maintenance has - been performed on the <c>Point</c> class. - </para> -</summary> -</pre> - -*** <a name="param"><param></a> - -This tag is used to describe a parameter for a method, constructor, or -indexer. - -**** Syntax - -<code><param name="name">description</param></code> - -<blockquote> -<em>name</em><br /> -The name of the parameter. -</blockquote> - -**** Example - -<pre> -<summary> - This is the entry point of the <c>Point</c> - class. -</summary> -<param name="xor"><c>xor</c> is the new x-coordinate.</param> -<param name "yor"><c>yor</c> is the new y-coordinate.</param> -</pre> - -*** <a name="paramref"><paramref></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><paramref name="name" /></code> - -<blockquote> -<em>name</em><br /> -The name of the parameter. -</blockquote> - -**** Example - -<pre> -<summary> - This constructor initializes the new Point to - (<paramref name="xor" />,<paramref name="yor" />). -</summary> -<param name="xor"><c>xor</c> is the new x-coordinate.</param> -<param name "yor"><c>yor</c> is the new y-coordinate.</param> -</pre> - -*** <a name="permission"><permission></a> - -This tag allows the security accessibility of a member to be documented. - -**** Syntax - -<code><permission cref="member">description</permission></code> - -<blockquote> -<em>cref="member"</em><br /> -The name of a member.</br> -</blockquote> - -**** Example - -<pre> -<permission cref="System.Security.PermissionSet"> - Everyone can access this method. -</permission> -</pre> - -*** <a name="property"><property></a> - -This tag is the overall containing tag for documenting a property. - -**** Syntax - -<code><property name="propertyname">documentation</property></code> - -<blockquote> -<em>name="propertyname"</em><br /> -The name of the property. -</blockquote> - -**** Example - -<pre> -<property name="X"> - <summary> - Gets or sets the point's x-coordinate. - <value> - The point's x-coordinate. - </value> -</property> -</pre> - - -*** <a name="remarks"><remarks></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><remarks>description</remarks></code> - -**** Example - -<pre> -<type name="Graphics.Point"> - <summary> - Models a point in a two-dimensional plane. - </summary> - <remarks> - Herein I might have an extended discussion of - the validity of Cartesian coordinate systems, - with examples pro and con, and perhaps - some code. - </remarks> - - <!-- ... --> -</type> -</pre> - -*** <a name="returns"><returns></a> - -This tag is used to describe the return value of a method. - -**** Syntax - -<code><returns>description</returns></code> - -**** Example - -<pre> -<method name="op_Inequality(Graphics.Point,Graphics.Point)"> - <summary> - This operator determines whether two points have the - same location. - </summary> - <param name="p1"><c>p1</c> is the first Point to be compared.</param> - <param name="p2"><c>p2</c> is the second Point to be compared.</param> - <returns> - True if the points do not have the same location and they - have the exact same type; otherwise, false. - </returns> -</method> -</pre> - -*** <a name="see"><see></a> - -This tag allows a link to be specified within documentation text. (Use -<code><seealso></code> to indicate links that should appear in a 'See Also' section.) - -**** Syntax - -<code><see cref="destination" /></code> - -<blockquote> -<em>cref="destination"</em><br /> -A destination, such as a type or a member of a type. -</blockquote> - -**** Example - -<pre> -<summary> - This method changes the point's location to the given - coordinates. This is an asinine way to insert a link, - but <see cref="Equals(Object)" /> to understand - how points are compared. -</summary> -</pre> - -*** <a name="seealso"><seealso></a> - -This tag allows an entry to be generated for the 'See Also' section. (Use -<code><see></code> to specify a link from within text.) - -**** Syntax - -<code><seealso cref="destination" /></code> - -<blockquote> -<em>cref="destination"</em><br /> -A destination, such as a type or a member of a type. -</blockquote> - -**** Example - -<pre> -<summary> - This method determines whether two Points have the - same location. -</summary> -<seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /> -<seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /> -</pre> - -*** <a name="summary"><summary></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><summary>description</summary></code> - -**** Example - -<pre> -<summary> - This is the entry point of the <c>Point</c> class testing - program. -</summary> -<remarks> - This program tests each method an operator, and is intended - to be run after any non-trivial maintenance is performed - on the <c>Point</c> class. -</remarks> -</pre> - -*** <a name="type"><type></a> - -This tag is the overall containing tag for documenting a type. - -**** Syntax - -<code><type name="typename" assembly="assemblyname">documentation</type></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> -<type name="Graphics.Point" assembly="Point"> - <summary> - Models a point in two-dimensional space. - </summary> - - <!-- members --> - - <field name="x"> - <summary> - Represents the point's x-coordinate. - </summary> - </field> -</type> -</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> -<?xml version="1.0" encoding="UTF-8"?> -<doc lang="en"> - <type name="Graphics.Point" assembly="Point"> - <summary> - Models a point in a two-dimensional plane. - </summary> - <remarks> - No useful remarks. - </remarks> - - <!-- fields --> - <field name="x"> - <summary> - Instance variable <c>x</c> represents the point's x-coordinate. - </summary> - </field> - - <field name="y"> - <summary> - Instance variable <c>y</c> represents the point's y-coordinate. - </summary> - </field> - - <!-- methods --> - <method name="#ctor"> - <summary> - Initializes the new point to <c>(0,0)</c>. - </summary> - </method> - - <method name="#ctor(System.Int32,System.Int32)"> - <summary> - Initializes the new Point to (<paramref name="xor" />,<paramref name="yor" />). - </summary> - <param name="xor"><c>xor</c> is the new x-coordinate.</param> - <param name="yor"><c>yor</c> is the new y-coordinate.</param> - </method> - - <method name="Move(System.Int32,System.Int32)"> - <summary> - This method changes the point's location to the given coordinates. - </summary> - <param name="xor"><c>xor</c> is the new x-coordinate.</param> - <param name="yor"><c>yor</c> is the new y-coordinate.</param> - <seealso cref="Translate(System.Int32,System.Int32)" /> - </method> - - <method name="Translate(System.Int32,System.Int32)"> - <summary>This method changes the point's location by the given x- and y-offsets.</summary> - <remarks> - <example lang="C#"> - A C# example: - <code> - Point p = new Point(3, 5); - p.Translate(-1, 3); - </code> - This code results in <c>p</c> having the value (2,8). - </example> - </remarks> - <param name="xor"><c>xor</c> is the relative x-offset.</param> - <param name="yor"><c>yor</c> is the relative y-offset.</param> - <seealso cref="Move(System.Int32,System.Int32)" /> - </method> - - <method name="Equals(System.Object)"> - <summary>This method determines whether two points have the same location.</summary> - <param name="o"><c>o</c> is the object to be compared to the current object.</param> - <returns>True if the Points have the same location and they have the exact same - type; otherwise, false.</returns> - <seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /> - <seealso cref="op_Inequality(Graphics.Point,Graphics.Point" /> - </method> - - <method name="ToString"> - <summary>Report a point's location as a string.</summary> - <returns>A string representing a point's location, in the form (x,y), without any - leading, trailing, or embedded whitespace.</returns> - </method> - - <method name="op_Equality(Graphics.Point,Graphics.Point)"> - <summary>This operator determines whether two points have the same location.</summary> - <param name="p1"><c>p1</c> is the first Point to be compared.</param> - <param name="p2"><c>p2</c> is the second Point to be compared.</param> - <returns>True if the points have the same location and they have the exact same - type; otherwise, false.</returns> - <seealso cref="Equals(System.Object)" /> - <seealso cref="op_Inequality(Graphics.Point,Graphics.Point)" /> - </method> - - <method name="op_Inequality(Graphics.Point,Graphics.Point)"> - <summary>This operator determines whether two points have the same location.</summary> - <param name="p1"><c>p1</c> is the first Point to be compared.</param> - <param name="p2"><c>p2</c> is the second Point to be compared.</param> - <returns>True if the points do not have the same location and they have the exact same - type; otherwise, false.</returns> - <seealso cref="Equals(System.Object)" /> - <seealso cref="op_Equality(Graphics.Point,Graphics.Point)" /> - </method> - - <method name="Main"> - <summary> - This is the entry point of the Point class testing program. - </summary> - <remarks> - <para>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.</para> - </remarks> - </method> - - <!-- properties --> - <property name="X"> - <value>Property <c>X</c> represents the point's x-coordinate.</value> - </property> - - <property name="Y"> - <value>Property <c>y</c> represents the point's y-coordinate.</value> - </property> - </type> -</doc> -</pre> - diff --git a/web/mysql b/web/mysql deleted file mode 100755 index 45d03c679d8..00000000000 --- a/web/mysql +++ /dev/null @@ -1,181 +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. Mono.Data.MySql is no longer included in - Mono releases.</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 a nice article to read.</li> - -** 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) - </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) - </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> -<pre> - mcs TestExample.cs -r System.Data.dll \ - -r ByteFX.Data.dll -</pre> - </li> - </ul> - </li> - <li>Running the Example: -<pre> -mono TestExample.exe -</pre> - </li> - -</ul> - diff --git a/web/odbc b/web/odbc deleted file mode 100755 index e29bc448552..00000000000 --- a/web/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/web/oldnews b/web/oldnews deleted file mode 100644 index 55632f3ffbb..00000000000 --- a/web/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/web/oledb b/web/oledb deleted file mode 100755 index 1dabe6244ed..00000000000 --- a/web/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/web/oracle b/web/oracle deleted file mode 100755 index a83eb776c35..00000000000 --- a/web/oracle +++ /dev/null @@ -1,168 +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 on Linux and Windows (WORKING)</li> - <li>Support for Oracle 9i on Linux and Windows (WORKING)</li> - <li>Support for Oracle 10g on Linux and Windows [TODO]. Please let us - know on mono-list if Mono OracleClient works with Oracle 10g or not. If not, what errors do you get</li> - <li>Support Large OBjects</li> - <li>Support all the data types</li> - <li>Implement Connection pooling</li> - <li>Security</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/web/other b/web/other deleted file mode 100644 index f37cb18208a..00000000000 --- a/web/other +++ /dev/null @@ -1,42 +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>. - - <li><a href="http://www.go-mono.nl/">Neatherlands Mono - Site</a>: Mono forum in the Neatherlands. - - <li><a href="http://monobrasil.softwarelivre.org">Mono Brasil</a>: - Mono discussion site for brazilian users. - </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/web/papers b/web/papers deleted file mode 100644 index 162f79d1637..00000000000 --- a/web/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/web/passport b/web/passport deleted file mode 100644 index 3ffe0dfeef9..00000000000 --- a/web/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/web/pending b/web/pending deleted file mode 100644 index e243a10dedf..00000000000 --- a/web/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/web/pending-classes.in b/web/pending-classes.in deleted file mode 100644 index 94da9df3247..00000000000 --- a/web/pending-classes.in +++ /dev/null @@ -1,246 +0,0 @@ -System.Object -System.Exception -System.ValueType -System.Delegate -System.MulticastDelegate -System.Enum -System.Activator -System.ArgIterator -System.__ComObject -System.TypedReference -System.Security.AllowPartiallyTrustedCallersAttribute -System.Runtime.Serialization.Formatter -System.Runtime.Serialization.FormatterConverter -System.Runtime.Serialization.FormatterServices -System.Runtime.Serialization.ObjectIDGenerator -System.Runtime.Serialization.ObjectManager -System.Reflection.ModuleResolveEventHandler -System.Reflection.Pointer -System.Globalization.CompareInfo -System.Globalization.HebrewCalendar -System.Globalization.HijriCalendar -System.Globalization.JapaneseCalendar -System.Globalization.KoreanCalendar -System.Globalization.SortKey -System.Globalization.StringInfo -System.Globalization.TaiwanCalendar -System.Globalization.TextElementEnumerator -System.Globalization.TextInfo -System.Globalization.ThaiBuddhistCalendar -System.IO.IsolatedStorage.IsolatedStorageFile -System.Reflection.Emit.MethodRental -System.Runtime.CompilerServices.AccessedThroughPropertyAttribute -System.Runtime.CompilerServices.CallConvCdecl -System.Runtime.CompilerServices.CallConvStdcall -System.Runtime.CompilerServices.CallConvThiscall -System.Runtime.CompilerServices.CallConvFastcall -System.Runtime.CompilerServices.CustomConstantAttribute -System.Runtime.CompilerServices.DateTimeConstantAttribute -System.Runtime.CompilerServices.DiscardableAttribute -System.Runtime.CompilerServices.DecimalConstantAttribute -System.Runtime.CompilerServices.CompilationRelaxationsAttribute -System.Runtime.CompilerServices.CompilerGlobalScopeAttribute -System.Runtime.CompilerServices.IDispatchConstantAttribute -System.Runtime.CompilerServices.IsVolatile -System.Runtime.CompilerServices.IUnknownConstantAttribute -System.Runtime.CompilerServices.RequiredAttributeAttribute -System.Runtime.InteropServices.ArrayWithOffset -System.Runtime.InteropServices.DispIdAttribute -System.Runtime.InteropServices.ClassInterfaceType -System.Runtime.InteropServices.ClassInterfaceAttribute -System.Runtime.InteropServices.ComVisibleAttribute -System.Runtime.InteropServices.LCIDConversionAttribute -System.Runtime.InteropServices.ComRegisterFunctionAttribute -System.Runtime.InteropServices.ComUnregisterFunctionAttribute -System.Runtime.InteropServices.ProgIdAttribute -System.Runtime.InteropServices.ImportedFromTypeLibAttribute -System.Runtime.InteropServices.IDispatchImplType -System.Runtime.InteropServices.IDispatchImplAttribute -System.Runtime.InteropServices.ComSourceInterfacesAttribute -System.Runtime.InteropServices.ComConversionLossAttribute -System.Runtime.InteropServices.TypeLibTypeFlags -System.Runtime.InteropServices.TypeLibFuncFlags -System.Runtime.InteropServices.TypeLibVarFlags -System.Runtime.InteropServices.TypeLibTypeAttribute -System.Runtime.InteropServices.TypeLibFuncAttribute -System.Runtime.InteropServices.TypeLibVarAttribute -System.Runtime.InteropServices.ComImportAttribute -System.Runtime.InteropServices.PreserveSigAttribute -System.Runtime.InteropServices.ComAliasNameAttribute -System.Runtime.InteropServices.AutomationProxyAttribute -System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute -System.Runtime.InteropServices.CoClassAttribute -System.Runtime.InteropServices.ComEventInterfaceAttribute -System.Runtime.InteropServices.COMException -System.Runtime.InteropServices.ComMemberType -System.Runtime.InteropServices.CurrencyWrapper -System.Runtime.InteropServices.DispatchWrapper -System.Runtime.InteropServices.ErrorWrapper -System.Runtime.InteropServices.ExtensibleClassFactory -System.Runtime.InteropServices.HandleRef -System.Runtime.InteropServices.InvalidComObjectException -System.Runtime.InteropServices.InvalidOleVariantTypeException -System.Runtime.InteropServices.TypeLibImporterFlags -System.Runtime.InteropServices.ExporterEventKind -System.Runtime.InteropServices.ITypeLibExporterNotifySink -System.Runtime.InteropServices.ITypeLibConverter -System.Runtime.InteropServices.MarshalDirectiveException -System.Runtime.InteropServices.ObjectCreationDelegate -System.Runtime.InteropServices.RuntimeEnvironment -System.Runtime.InteropServices.RegistrationServices -System.Runtime.InteropServices.SafeArrayRankMismatchException -System.Runtime.InteropServices.SafeArrayTypeMismatchException -System.Runtime.InteropServices.SEHException -System.Runtime.InteropServices.TypeLibConverter -System.Runtime.InteropServices.BIND_OPTS -System.Runtime.InteropServices.UCOMIBindCtx -System.Runtime.InteropServices.UCOMIConnectionPointContainer -System.Runtime.InteropServices.UCOMIConnectionPoint -System.Runtime.InteropServices.UCOMIEnumMoniker -System.Runtime.InteropServices.CONNECTDATA -System.Runtime.InteropServices.UCOMIEnumConnections -System.Runtime.InteropServices.UCOMIEnumConnectionPoints -System.Runtime.InteropServices.UCOMIEnumString -System.Runtime.InteropServices.UCOMIEnumVARIANT -System.Runtime.InteropServices.FILETIME -System.Runtime.InteropServices.UCOMIMoniker -System.Runtime.InteropServices.UCOMIPersistFile -System.Runtime.InteropServices.UCOMIRunningObjectTable -System.Runtime.InteropServices.STATSTG -System.Runtime.InteropServices.UCOMIStream -System.Runtime.InteropServices.DESCKIND -System.Runtime.InteropServices.BINDPTR -System.Runtime.InteropServices.UCOMITypeComp -System.Runtime.InteropServices.TYPEKIND -System.Runtime.InteropServices.TYPEFLAGS -System.Runtime.InteropServices.IMPLTYPEFLAGS -System.Runtime.InteropServices.TYPEATTR -System.Runtime.InteropServices.FUNCDESC -System.Runtime.InteropServices.IDLFLAG -System.Runtime.InteropServices.IDLDESC -System.Runtime.InteropServices.PARAMFLAG -System.Runtime.InteropServices.PARAMDESC -System.Runtime.InteropServices.TYPEDESC -System.Runtime.InteropServices.ELEMDESC -System.Runtime.InteropServices.VARDESC -System.Runtime.InteropServices.DISPPARAMS -System.Runtime.InteropServices.EXCEPINFO -System.Runtime.InteropServices.FUNCKIND -System.Runtime.InteropServices.INVOKEKIND -System.Runtime.InteropServices.CALLCONV -System.Runtime.InteropServices.FUNCFLAGS -System.Runtime.InteropServices.VARFLAGS -System.Runtime.InteropServices.UCOMITypeInfo -System.Runtime.InteropServices.SYSKIND -System.Runtime.InteropServices.LIBFLAGS -System.Runtime.InteropServices.TYPELIBATTR -System.Runtime.InteropServices.UCOMITypeLib -System.Runtime.InteropServices.UnknownWrapper -System.Runtime.Remoting.IObjectHandle -System.Runtime.Remoting.IRemotingTypeInfo -System.Runtime.Remoting.IChannelInfo -System.Runtime.Remoting.IEnvoyInfo -System.Runtime.Remoting.RemotingConfiguration -System.Runtime.Remoting.TypeEntry -System.Runtime.Remoting.ActivatedClientTypeEntry -System.Runtime.Remoting.ActivatedServiceTypeEntry -System.Runtime.Remoting.WellKnownClientTypeEntry -System.Runtime.Remoting.WellKnownServiceTypeEntry -System.Runtime.Remoting.RemotingException -System.Runtime.Remoting.ServerException -System.Runtime.Remoting.RemotingTimeoutException -System.Runtime.Remoting.RemotingServices -System.Runtime.Remoting.InternalRemotingServices -System.Runtime.Remoting.SoapServices -System.Runtime.Remoting.Activation.UrlAttribute -System.Runtime.Remoting.Messaging.IMessageSink -System.Runtime.Remoting.Messaging.AsyncResult -System.Runtime.Remoting.Messaging.CallContext -System.Runtime.Remoting.Messaging.ILogicalThreadAffinative -System.Runtime.Remoting.Messaging.InternalMessageWrapper -System.Runtime.Remoting.Messaging.IMethodCallMessage -System.Runtime.Remoting.Messaging.MethodCallMessageWrapper -System.Runtime.Remoting.Messaging.HeaderHandler -System.Runtime.Remoting.Messaging.IMessageCtrl -System.Runtime.Remoting.Messaging.IRemotingFormatter -System.Runtime.Remoting.Messaging.ReturnMessage -System.Runtime.Remoting.Messaging.MethodCall -System.Runtime.Remoting.Messaging.ConstructionCall -System.Runtime.Remoting.Messaging.MethodResponse -System.Runtime.Remoting.Messaging.ConstructionResponse -System.Runtime.Remoting.Messaging.MethodReturnMessageWrapper -System.Runtime.Remoting.Messaging.OneWayAttribute -System.Runtime.Remoting.Messaging.MessageSurrogateFilter -System.Runtime.Remoting.Messaging.RemotingSurrogateSelector -System.Runtime.Remoting.Contexts.CrossContextDelegate -System.Runtime.Remoting.Contexts.ContextProperty -System.Runtime.Remoting.Contexts.IContextPropertyActivator -System.Runtime.Remoting.Contexts.IContributeClientContextSink -System.Runtime.Remoting.Contexts.IContributeDynamicSink -System.Runtime.Remoting.Contexts.IContributeEnvoySink -System.Runtime.Remoting.Contexts.IContributeObjectSink -System.Runtime.Remoting.Contexts.IContributeServerContextSink -System.Runtime.Serialization.Formatters.InternalRM -System.Runtime.Serialization.Formatters.InternalST -System.Runtime.Serialization.Formatters.SoapMessage -System.Runtime.Serialization.Formatters.SoapFault -System.Runtime.Serialization.Formatters.ServerFault -System.Runtime.Serialization.Formatters.Binary.BinaryFormatter -System.Security.Cryptography.CryptoConfig -System.Security.Cryptography.KeyedHashAlgorithm -System.Security.Cryptography.HMACSHA1 -System.Security.Cryptography.MACTripleDES -System.Security.Cryptography.MaskGenerationMethod -System.Security.Cryptography.PasswordDeriveBytes -System.Security.Cryptography.PKCS1MaskGenerationMethod -System.Security.Cryptography.RC2 -System.Security.Cryptography.RC2CryptoServiceProvider -System.Security.Cryptography.RSACryptoServiceProvider -System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter -System.Security.Cryptography.RSAOAEPKeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter -System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1SignatureDeformatter -System.Security.Cryptography.RSAPKCS1SignatureFormatter -System.Security.Cryptography.SHA1Managed -System.Security.Cryptography.TripleDES -System.Security.Cryptography.TripleDESCryptoServiceProvider -System.Security.Permissions.EnvironmentPermission -System.Security.Permissions.FileDialogPermission -System.Security.Permissions.IsolatedStorageFilePermission -System.Security.Permissions.PrincipalPermissionAttribute -System.Security.Permissions.SecurityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermission -System.Security.Permissions.ReflectionPermission -System.Security.Permissions.RegistryPermission -System.Security.Permissions.PrincipalPermission -System.Security.Permissions.SiteIdentityPermission -System.Security.Permissions.StrongNameIdentityPermission -System.Security.Permissions.StrongNamePublicKeyBlob -System.Security.Permissions.UIPermission -System.Security.Permissions.UrlIdentityPermission -System.Security.Permissions.ZoneIdentityPermission -System.Security.Policy.ApplicationDirectory -System.Security.Policy.ApplicationDirectoryMembershipCondition -System.Security.Policy.FirstMatchCodeGroup -System.Security.Policy.Hash -System.Security.Policy.HashMembershipCondition -System.Security.Policy.NetCodeGroup -System.Security.Policy.PermissionRequestEvidence -System.Security.Policy.Publisher -System.Security.Policy.PublisherMembershipCondition -System.Security.Policy.Site -System.Security.Policy.SiteMembershipCondition -System.Security.Policy.StrongName -System.Security.Policy.StrongNameMembershipCondition -System.Security.Policy.UnionCodeGroup -System.Security.Policy.Url -System.Security.Policy.UrlMembershipCondition -System.Security.Policy.Zone -System.Security.Policy.ZoneMembershipCondition -System.Security.Principal.WindowsIdentity -System.Security.Principal.WindowsImpersonationContext -System.Security.Principal.WindowsPrincipal -System.Threading.CompressedStack - diff --git a/web/performance b/web/performance deleted file mode 100644 index 3760197ed14..00000000000 --- a/web/performance +++ /dev/null @@ -1,215 +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. - -** Profiling without JIT instrumentation - - You might also be interested in using mono --aot to generate - precompiled code, and then use a system like `oprofile' to - profile your programs. - -** 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/web/plans b/web/plans deleted file mode 100755 index f53aecd4e95..00000000000 --- a/web/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/web/porting b/web/porting deleted file mode 100644 index a09ab69deaa..00000000000 --- a/web/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/web/postgresql b/web/postgresql deleted file mode 100644 index 44101316d2a..00000000000 --- a/web/postgresql +++ /dev/null @@ -1,365 +0,0 @@ -* PostgreSQL and Mono - - When it comes to Mono and PostgreSQL, there are many ways - you can access your data. - -* 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.PostgreSqlClient (DEPRECATED) - <ul> - - <li>Deprecated in favor of Npgsql. No longer included in a release of Mono.</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> - -** 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> -</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>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 been replaced Mono.Data.PostgreSqlClient as the provider of - choice to use. Mono.Data.PostgreSqlClient is deprecated and is no longer included in - Mono releases. Please use Npgsql for PostgreSQL data access.</li> - - <li>Implement new features of PostgreSQL.</li> - </ul> - -</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>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> -<pre> - mcs TestExample.cs -r System.Data.dll \ - -r Npgsql.dll -</pre> - </ul> - </li> - <li>Running the Example: -<pre> -mono TestExample.exe -</pre> -</li> -</ul> - - -** Installation instructions for PostgreSQL DBMS: - <p><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> - - diff --git a/web/ppc b/web/ppc deleted file mode 100644 index bc2295f7aa4..00000000000 --- a/web/ppc +++ /dev/null @@ -1,39 +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. - -*** JIT and code precompiled: - - Works on MacOS X 10.2, 10.3 and Linux/PPC, exception handling - is currently broken on the JIT. - -** 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/web/print-stack b/web/print-stack deleted file mode 100755 index 1bf79581801..00000000000 --- a/web/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/web/projects b/web/projects deleted file mode 100755 index 8f4a40a275c..00000000000 --- a/web/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/web/provider-factory b/web/provider-factory deleted file mode 100755 index 37309ec4324..00000000000 --- a/web/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 <appSettings> - 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> - -<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <configSections> - <sectionGroup name="mono.data"> - <section name="providers" type="Mono.Data.ProviderSectionHandler,Mono.Data" /> - </sectionGroup> - </configSections> - <appSettings> - <add key="PubsConnStr" value="factory=System.Data.SqlClient;server=speedy;database=pubs;uid=sa;pwd=" /> - </appSettings> - <mono.data> - <providers> - <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"/> - <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"/> - <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"/> - <provider name="Mono.Data.TdsClient" connection="Mono.Data.TdsClient.TdsConnection" adapter="Mono.Data.TdsClient.TdsDataAdapter" assembly="Mono.Data.TdsClient" /> - <provider name="Mono.Data.MySql" connection="Mono.Data.MySql.MySqlConnection" adapter="Mono.Data.MySql.MySqlDataAdapter" assembly="Mono.Data.MySql" /> - <provider name="Mono.Data.PostgreSqlClient" connection="Mono.Data.PostgreSqlClient.PgSqlConnection" adapter="Mono.Data.PostgreSqlClient.PgSqlDataAdapter" assembly="Mono.Data.PostgreSqlClient" /> - <provider name="Mono.Data.SqliteClient" connection="Mono.Data.SqliteClient.SqliteConnection" adapter="Mono.Data.SqliteClient.SqliteDataAdapter" assembly="Mono.Data.SqliteClient" /> - <provider name="Mono.Data.SybaseClient" connection="Mono.Data.SybaseClient.SybaseConnection" adapter="Mono.Data.SybaseClient.SybaseDataAdapter" assembly="Mono.Data.SybaseClient" /> - </providers> - </mono.data> -</configuration> - -</pre> - diff --git a/web/rationale b/web/rationale deleted file mode 100644 index 91cd3c7af7b..00000000000 --- a/web/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/web/release-notes/mono-0.3 b/web/release-notes/mono-0.3 deleted file mode 100644 index 4976037b957..00000000000 --- a/web/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/web/release-notes/mono-0.4 b/web/release-notes/mono-0.4 deleted file mode 100644 index 1d7e1cea5f1..00000000000 --- a/web/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/web/remap b/web/remap deleted file mode 100644 index 28daca0acfc..00000000000 --- a/web/remap +++ /dev/null @@ -1,36 +0,0 @@ -* History of remapping - - The Mono runtime was shipped with the .NET 1.1 library APIs, - but until recently we did not have strong names or Global - Assembly Cache support so our libraries did not actually - encode the proper information about references. - - Lacking this, in the early days of Mono we hardcoded our code - generator to set the values to the version of the .NET 1.0 API - to allow code to move back and forth between Windows and Linux. - - With the deployment of the GAC to Mono we no longer distribute - assemblies without version information, and they are only - available through a versioned directory. - - To assist people in migrating their applications from the - pre-Beta rollout of Mono, the runtime has a special feature to - remap references to the System.* assemblies with version 3300 - to version 5000 but a warning is displayed: - - <pre> - Compat mode: the request from XXXX to load YYYY was remapped (http://www.go-mono.com/remap.html) - </pre> - - To solve this issue, use a new version of Mono to rebuild the - program listed as XXXX, this will remove the warning. - - Alternatively, if you do not have the source, you can set the - environment variable MONO_SILENT_WARNING to eliminate those - messages: - - <pre> - export MONO_SILENT_WARNING=1 - </pre> - - diff --git a/web/resources b/web/resources deleted file mode 100644 index 4e61aa7c75a..00000000000 --- a/web/resources +++ /dev/null @@ -1,241 +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>. - -** Routine Tests - - Various test results that are run continously on Mono are available - at <a - href="http://www.go-mono.com/tests/index.php">www.go-mono.com/tests/index.php</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 - -** International Sites - - See our <a href="other.html">page</a> with information on Mono International Sites. - -** 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> - - 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/web/resources-pending b/web/resources-pending deleted file mode 100644 index fd9b9073d64..00000000000 --- a/web/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/web/roadmap b/web/roadmap deleted file mode 100644 index 6cdfa1366a8..00000000000 --- a/web/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/web/runtime b/web/runtime deleted file mode 100644 index d1dabab9968..00000000000 --- a/web/runtime +++ /dev/null @@ -1,204 +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. This supports - x86, PowerPC and SPARC cpus. - - * <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/web/screenshots b/web/screenshots deleted file mode 100644 index 25cc06998d7..00000000000 --- a/web/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/web/sqlclient b/web/sqlclient deleted file mode 100755 index d28169bcdbd..00000000000 --- a/web/sqlclient +++ /dev/null @@ -1,263 +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>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>Works in the SQL# command-line and GTK# GUI version</li> -</ul> - -** Action plan - -<ul> - - <li>Needs more testing and fixing bugs</li> - - <li>Start work on TDS Protocol Version 8.0 support</li> - - <li>Add support for the .NET Framework 2.0 (Whidbey)</li> - - <li>Add support for Microsoft SQL Server 2005 (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. If you want SqlClient to work with MSDE via SQL Server authentication, you will - need to change the setting. Otherwise, you wil have to use NT Authentication.</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>If you want to use Integrated Security (aka NT Authentication aka Trusted Connection aka Domain Login), you - will need to specify the Domain User ID and Password. This is because Mono is not integrated with Windows - nor SQL Server.</li> - - <li>Has a connection string format for SQL Server Authentication: -<pre> - Server=hostname; - Database=databaseName; - User ID=sqlServerUserid; - Password=sqlServerPassword -</pre> - </li> - <li>Has a connection string format for NT Authentication: -<pre> - Server=hostname; - Database=databaseName; - User ID=windowsDomain\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 using SQL Server Authentication: -<pre> - using System; - using System.Data; - using System.Data.SqlClient; - - public class Test - { - public static void Main(string[] args) - { - string connectionString = - "Server=MyServer;" + - "Database=pubs;" + - "User ID=MySqlServerUserId;" + - "Password=MySqlServerPassword;"; - 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>C# Example using NT Authentication (Integrated Security) -<pre> - using System; - using System.Data; - using System.Data.SqlClient; - - public class Test - { - public static void Main(string[] args) - { - string connectionString = - "Server=MyServer;" + - "Database=pubs;" + - "User ID=MyWindowsDomain\\MyWindowsUserid;" + - "Password=MyWindowsPassword;" + - "Integrated Security=SSPI"; - 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> - </ul> - </li> - <li>Running the Example: -<pre> -mono TestExample.exe -</pre> - </li> - -</ul> - diff --git a/web/sqlite b/web/sqlite deleted file mode 100755 index 88a2f99d60b..00000000000 --- a/web/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/web/status b/web/status deleted file mode 100644 index 64948ba312f..00000000000 --- a/web/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/web/sybase b/web/sybase deleted file mode 100755 index 85deca1a67c..00000000000 --- a/web/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/web/tds-providers b/web/tds-providers deleted file mode 100644 index 6442e69601a..00000000000 --- a/web/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/web/tdsclient b/web/tdsclient deleted file mode 100755 index 2c58aea698f..00000000000 --- a/web/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/web/testing b/web/testing deleted file mode 100644 index ab60d7fe4d3..00000000000 --- a/web/testing +++ /dev/null @@ -1,273 +0,0 @@ -* Testing - - Daily <a href="http://www.go-mono.com/tests/index.php">test</a> results. - - 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/Test/System.Xml/standalone_tests : see README - * System.XML/Test/System.Xml.Schema/standalone_tests : see README - * System.XML/System.Xml.Serialization/standalone_tests/ - * System.XML/Test/System.Xml.Xsl/standalone_tests : see README - * Commons.Xml.Relaxng/Test/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/web/thanks b/web/thanks deleted file mode 100644 index 5f2df36f9cd..00000000000 --- a/web/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/web/todo b/web/todo deleted file mode 100644 index 178950afe0d..00000000000 --- a/web/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/web/tools b/web/tools deleted file mode 100644 index 84444ed0eee..00000000000 --- a/web/tools +++ /dev/null @@ -1,10 +0,0 @@ -* Tools - - The SDK tools have now been built. - - If you are interested in contributing to the IDE effort, - please visit the <a href="http://www.monodevelop.com">Mono - Develop</a> web site. - - To help on the documentation effort, use the MonoDoc system to - contribute from your own computer. diff --git a/web/web/.gitattributes b/web/web/.gitattributes deleted file mode 100644 index 82dfd3f6619..00000000000 --- a/web/web/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -/team.xsd -crlf diff --git a/web/web/.gitignore b/web/web/.gitignore deleted file mode 100644 index e3701ade7df..00000000000 --- a/web/web/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/*.src -/*.html -/masterinfos -/src diff --git a/web/web/XhtmlWriter.cs b/web/web/XhtmlWriter.cs deleted file mode 100644 index f7db3ead8a8..00000000000 --- a/web/web/XhtmlWriter.cs +++ /dev/null @@ -1,254 +0,0 @@ -// -// XhtmlWriter.cs -// -// Author: -// Atsushi Enomoto <atsushi@ximian.com> -// -// Copyright (C) 2005 Novell, Inc. http://www.novell.com -// -using System; -using System.Globalization; -using System.Collections; -using System.Xml; - -namespace Mono.Xml.Ext -{ - public class XhtmlWriter : DefaultXmlWriter - { - XmlWriter writer; - Stack localNames; - Stack namespaces; - - public XhtmlWriter (XmlWriter writer) : base (writer) - { - this.writer = writer; - localNames = new Stack (); - namespaces = new Stack (); - } - - public override void WriteStartElement (string prefix, string localName, string ns) - { - localNames.Push (localName); - namespaces.Push (ns); - writer.WriteStartElement (prefix, localName, ns); - } - - public override void WriteEndElement () - { - WriteWiseEndElement (false); - } - - public override void WriteFullEndElement () - { - WriteWiseEndElement (true); - } - - void WriteWiseEndElement (bool full) - { - string localName = localNames.Pop () as string; - string ns = namespaces.Pop () as string; - if (ns == "http://www.w3.org/1999/xhtml") { - switch (localName.ToLower (CultureInfo.InvariantCulture)) { - case "area": - case "base": - case "basefont": - case "br": - case "col": - case "frame": - case "hr": - case "img": - case "input": - case "isindex": - case "link": - case "meta": - case "param": - full = false; - break; - default: - full = true; - break; - } - } - if (full) - writer.WriteFullEndElement (); - else - writer.WriteEndElement (); - } - } - - public class DefaultXmlWriter : XmlWriter - { - XmlWriter writer; - - public DefaultXmlWriter (XmlWriter writer) - { - this.writer = writer; - } - - public override void Close () - { - writer.Close (); - } - - public override void Flush () - { - writer.Flush (); - } - - public override string LookupPrefix (string ns) - { - return writer.LookupPrefix (ns); - } - - public override void WriteBase64 (byte [] buffer, int index, int count) - { - writer.WriteBase64 (buffer, index, count); - } - - public override void WriteBinHex (byte [] buffer, int index, int count) - { - writer.WriteBinHex (buffer, index, count); - } - - public override void WriteCData (string text) - { - writer.WriteCData (text); - } - - public override void WriteCharEntity (char ch) - { - writer.WriteCharEntity (ch); - } - - public override void WriteChars (char [] buffer, int index, int count) - { - writer.WriteChars (buffer, index, count); - } - - public override void WriteComment (string text) - { - writer.WriteComment (text); - } - - public override void WriteDocType (string name, string pubid, string sysid, string subset) - { - writer.WriteDocType (name, pubid, sysid, subset); - } - - public override void WriteEndAttribute () - { - writer.WriteEndAttribute (); - } - - public override void WriteEndDocument () - { - writer.WriteEndDocument (); - } - - public override void WriteEndElement () - { - writer.WriteEndElement (); - } - - public override void WriteEntityRef (string name) - { - writer.WriteEntityRef (name); - } - - public override void WriteFullEndElement () - { - writer.WriteFullEndElement (); - } - - public override void WriteName (string name) - { - writer.WriteName (name); - } - - public override void WriteNmToken (string name) - { - writer.WriteNmToken (name); - } - - public override void WriteNode (XmlReader reader, bool defattr) - { - writer.WriteNode (reader, defattr); - } - - public override void WriteProcessingInstruction (string name, string text) - { - writer.WriteProcessingInstruction (name, text); - } - - public override void WriteQualifiedName (string localName, string ns) - { - writer.WriteQualifiedName (localName, ns); - } - - public override void WriteRaw (string data) - { - writer.WriteRaw (data); - } - - public override void WriteRaw (char [] buffer, int index, int count) - { - writer.WriteRaw (buffer, index, count); - } - - public override void WriteStartAttribute (string prefix, string localName, string ns) - { - writer.WriteStartAttribute (prefix, localName, ns); - } - - public override void WriteStartDocument (bool standalone) - { - writer.WriteStartDocument (standalone); - } - - public override void WriteStartDocument () - { - writer.WriteStartDocument (); - } - - public override void WriteStartElement (string prefix, string localName, string ns) - { - writer.WriteStartElement (prefix, localName, ns); - } - - public override void WriteString (string text) - { - writer.WriteString (text); - } - - public override void WriteSurrogateCharEntity (char lowChar, char highChar) - { - writer.WriteSurrogateCharEntity (lowChar, highChar); - } - - public override void WriteWhitespace (string ws) - { - writer.WriteWhitespace (ws); - } - - public override WriteState WriteState { - get { - return writer.WriteState; - } - } - - public override string XmlLang { - get { - return writer.XmlLang; - } - } - - public override XmlSpace XmlSpace { - get { - return writer.XmlSpace; - } - } - - } -} - - diff --git a/web/web/commands b/web/web/commands deleted file mode 100644 index 07584fd5594..00000000000 --- a/web/web/commands +++ /dev/null @@ -1,94 +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 -2,Press Coverage,beta1-press.html,beta1-press.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,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,Remap,remap.html,remap.src -1,Known Issues,issues.html,issues.src -1,Crypto,crypto.html,crypto.src -1,Java,java.html,java.src -1,Delegates,delegate.html,delegate.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,mscorlib,class-status-mscorlib.html,class-status-mscorlib.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,Configuration.Install,class-status-System.Configuration.Install.html,class-status-System.Configuration.Install.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,Data.OracleClient,class-status-System.Data.OracleClient.html,class-status-System.Data.OracleClient.src,cm/cormissing.css,cm/cormissing.js -1,Design,class-status-System.Design.html,class-status-System.Design.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,Drawing.Design,class-status-System.Drawing.Design.html,class-status-System.Drawing.Design.src,cm/cormissing.css,cm/cormissing.js -1,Management,class-status-System.Management.html,class-status-System.Management.src,cm/cormissing.css,cm/cormissing.js -1,Messaging,class-status-System.Messaging.html,class-status-System.Messaging.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,EnterpriseSvcs,class-status-System.EnterpriseServices.html,class-status-System.EnterpriseServices.src,cm/cormissing.css,cm/cormissing.js -1,Remoting,class-status-System.Runtime.Remoting.html,class-status-System.Runtime.Remoting.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.Configuration,class-status-System.Configuration.html,class-status-System.Configuration.src,cm/cormissing.css,cm/cormissing.js -1,Microsoft.Build.Framework,class-status-Microsoft.Build.Framework.html,class-status-Microsoft.Build.Framework.src,cm/cormissing.css,cm/cormissing.js -1,Microsoft.Build.Engine,class-status-Microsoft.Build.Engine.html,class-status-Microsoft.Build.Engine.src,cm/cormissing.css,cm/cormissing.js -1,Microsoft.Build.Utilities,class-status-Microsoft.Build.Utilities.html,class-status-Microsoft.Build.Utilities.src,cm/cormissing.css,cm/cormissing.js -1,Microsoft.Build.Tasks,class-status-Microsoft.Build.Tasks.html,class-status-Microsoft.Build.Tasks.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/web/web/deploy/.gitignore b/web/web/deploy/.gitignore deleted file mode 100644 index f624110fa48..00000000000 --- a/web/web/deploy/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/*.html -/index.rss -/team diff --git a/web/web/deploy/cm/ChangeLog b/web/web/deploy/cm/ChangeLog deleted file mode 100644 index 66b97f811cc..00000000000 --- a/web/web/deploy/cm/ChangeLog +++ /dev/null @@ -1,13 +0,0 @@ -2008-04-18 Gert Driesen <drieseng@users.sourceforge.net> - - * cormissing.js: Added support for argument classes. - -2008-05-05 Gert Driesen <drieseng@users.sourceforge.net> - - * cormissing.css: Properly indent parameters. Added support for - collapse/expand of nested delegates, interfaces of delegates/enums - and event accessors. - -2008-04-05 Gert Driesen (drieseng@users.sourceforge.net> - - * cormissing.css: Allow nested enums and parameters to be collapsed. diff --git a/web/web/deploy/cm/c.gif b/web/web/deploy/cm/c.gif Binary files differdeleted file mode 100644 index 02c347efd0b..00000000000 --- a/web/web/deploy/cm/c.gif +++ /dev/null diff --git a/web/web/deploy/cm/cormissing.css b/web/web/deploy/cm/cormissing.css deleted file mode 100644 index add04c8c866..00000000000 --- a/web/web/deploy/cm/cormissing.css +++ /dev/null @@ -1,213 +0,0 @@ -.y IMG -{ - border: 0px; - padding: 0px; - margin: 0px; - margin-right: 4px; - vertical-align: middle; -} - -.a, .a_, -.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_, -.w, .w_ -{ - 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_ .d, -.c_ .d_, -.c_ .e, -.c_ .e_, -.c_ .f, -.c_ .f_, -.c_ .m, -.c_ .m_, -.c_ .o, -.c_ .o_, -.c_ .en, -.c_ .en_, -.c_ .p, -.c_ .p_, -.c_ .r, -.c_ .r_, -.c_ .x, -.c_ .x_, -.c_ .i, -.c_ .i_, -.c_ .w, -.c_ .w_, -.d_ .c, -.d_ .c_, -.d_ .e, -.d_ .e_, -.d_ .f, -.d_ .f_, -.d_ .i, -.d_ .i_, -.d_ .m, -.d_ .m_, -.d_ .o, -.d_ .o_, -.d_ .p, -.d_ .p_, -.d_ .r, -.d_ .r_, -.d_ .x, -.d_ .x_, -.d_ .w, -.d_ .w_, -.e_ .m, -.e_ .m_, -.en_ .c, -.en_ .c_, -.en_ .e, -.en_ .e_, -.en_ .f, -.en_ .f_, -.en_ .i, -.en_ .i_, -.en_ .m, -.en_ .m_, -.en_ .o, -.en_ .o_, -.en_ .p, -.en_ .p_, -.en_ .r, -.en_ .r_, -.en_ .x, -.en_ .x_, -.en_ .w, -.en_ .w_, -.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_ .w, -.i_ .w_, -.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_ .s, -.s_ .s_, -.s_ .x, -.s_ .x_, -.s_ .i, -.s_ .i_, -.s_ .w, -.s_ .w_, -.x_ .a, -.x_ .a_, -.m_ .a, -.m_ .a_, -.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_, -.o_ .a_, -.p_ .r, -.p_ .r_, -.p_ .o, -.p_ .o_, -.r_ .r, -.r_ .r_, -.r_ .o, -.r_ .o_, -.x_ .r, -.x_ .r_, -.x_ .o, -.x_ .o_ -.w_ .r, -.w_ .r_, -.w_ .o, -.w_ .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/web/web/deploy/cm/cormissing.js b/web/web/deploy/cm/cormissing.js deleted file mode 100644 index 44aa676c878..00000000000 --- a/web/web/deploy/cm/cormissing.js +++ /dev/null @@ -1,593 +0,0 @@ -// FIXME: -// It still does not update icons previous to a type/member name when -// certain icon kinds are unchecked (when an item has "todo" and "missing", -// the default display is "missing" and when "missing" is unchecked it -// should turn into "todo"). - -function toggle (elt) -{ - if (elt == null) - return; - - var eltLink = firstElement (elt); - 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 = firstElement (elt); - 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 firstElement (elt) -{ - var c = elt.firstChild; - while (c != null) { - if (c.nodeType == 1) // Node.ELEMENT_NODE (IE6 does not recognize it) - return c; - c = c.nextSibling; - } - return null; -} - -function trimSrc (strSrc) -{ - return strSrc.slice (strSrc.lastIndexOf ('/') + 1, strSrc.lastIndexOf ('.')); -} - -function getChildrenByTagName (elt, strTag) -{ - strTag = strTag.toLowerCase (); - var rgChildren = new Array (); - var eltChild = firstElement (elt); - while (eltChild) - { - if (eltChild.tagName && eltChild.tagName.toLowerCase () == strTag) - rgChildren.push (eltChild); - eltChild = eltChild.nextSibling; - } - return rgChildren; -} - -function viewAll (elt, dictTypes, attrFilters) -{ - var fView = isShown (elt, dictTypes, attrFilters); - - var aCounts = new Array (4); - for (i = 0; i < 4; i++) - aCounts [i] = 0; - var rgElts = getChildrenByTagName (elt, 'DIV'); - for (iElt in rgElts) { - var aChildRet = viewAll (rgElts [iElt], dictTypes, attrFilters); - if (aChildRet != null) { - fView = true; - for (i = 0; i < 4; i++) - aCounts [i] += aChildRet [i]; - } - } - - elt.style.display = fView ? '' : 'none'; - - if (!fView) - return null; - - rgShownDivs = getChildrenByTagName (elt, 'DIV'); - for (i = 0; i < rgShownDivs.length; i++) { - var cDiv = rgShownDivs [i]; - if (cDiv.style.display == 'none') - continue; - incrementCount (cDiv, aCounts, dictTypes); - } - - // update the numbers - rgSpans = getChildrenByTagName (elt, 'SPAN'); - for (iSpan in rgSpans) { - var cSpan = rgSpans [iSpan]; - var cImage = firstElement (cSpan); - if (cImage == null) - continue; - switch (trimSrc (cImage.src)) { - case 'st': cSpan.lastChild.nodeValue = ": " + aCounts [0]; break; - case 'sm': cSpan.lastChild.nodeValue = ": " + aCounts [1]; break; - case 'sx': cSpan.lastChild.nodeValue = ": " + aCounts [2]; break; - case 'se': cSpan.lastChild.nodeValue = ": " + aCounts [3]; break; - } - } - return aCounts; -} - -function isShown (elt, dictTypes, attrFilters) -{ - if (!isShownMarkType (elt, dictTypes)) - return false; - - // Check attributes that are being filtered out. - var rgSpans = getChildrenByTagName (elt, 'SPAN'); - var cSpans = rgSpans.length; - for (var iSpan = 0; iSpan < cSpans; iSpan++) - { - var strSpan = rgSpans [iSpan].firstChild.nodeValue; - for (strzzz in attrFilters) - if (strSpan == strzzz) - return false; - } - return true; -} - -function isShownMarkType (elt, dictTypes) -{ - 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]) - return true; - } - return false; -} - -function incrementCount (cDiv, aCounts, dictTypes) -{ - switch (cDiv.className) { - case 'y': case 'y_': // assembly - case 'n': case 'n_': // namespace - // types - case 'c': case 'c_': case 'i': case 'i_': - case 'en': case 'en_': case 'd': case 'd_': - // members - case 'r': case 'r_': case 'x': case 'x_': case 'm': case 'm_': - case 'f': case 'f_': case 'e': case 'e_': case 'p': case 'p_': - case 'o': case 'o_': case 'a': case 'a_': - var rgImgs = getChildrenByTagName (cDiv, 'IMG'); - for (iImg = 0; iImg < rgImgs.length; iImg++) { - var cImg = rgImgs [iImg]; - if (cImg.className != 't') - continue; - var stype = trimSrc (cImg.src); - if (!dictTypes [stype]) - continue; - switch (stype) { - case "st": aCounts [0]++; break; - case "sm": aCounts [1]++; break; - case "sx": aCounts [2]++; break; - case "se": aCounts [3]++; break; - default: - continue; - } - break; - } - break; - } -} - -/* just for debugging use now. -function firstInnerText (elt) -{ - var s = elt.innerText; - if (s != null) - return s; - var n = elt.firstChild; - while (n != null) { - s = n.nodeValue; - if (s != null && s.replace (/^\s+/g, '') != '') - return s; - s = firstInnerText (n); - if (s != null) - return s; - n = n.nextSibling; - } - return s; -} -*/ - -function getView (elt) -{ - var eltLink = firstElement (elt); - 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; - var strFieldType; - - 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 - { - strFieldType = strEltClass; - strField = getName (elt); - 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://anonsvn.mono-project.com/viewcvs/trunk/mcs/class/'; - var strExtra = ''; - - if (strAssembly) - { - if (strAssembly == 'mscorlib') - strAssembly = 'corlib'; - else if (strAssembly == 'System.Xml') - strAssembly = 'System.XML'; - - strRoot = strRoot + strAssembly + '/'; - if (strNamespace) - { - strRoot = strRoot + strNamespace + '/'; - if (strClass) - { - strRoot += strClass + '.cs'; - strExtra += '?view=markup'; - } - } - window.open (strRoot + strExtra, 'CVS'); - } - } - else if (strNamespace) - { - if (document.getElementById ('TargetMsdn1').checked) - { - 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 (strClass) - strNamespace += '.' + strClass; - if (strField) - strNamespace += '.' + strField; - if (document.getElementById ('TargetMonodoc').checked) - { - var category = null; - if (strClass == null) - category = "N:"; - else if (strField == null) - category = "T:"; - else { - switch (strFieldType) { - case 'f': category = "F:"; break; - case 'p': category = "P:"; break; - case 'm': category = "M:"; break; - case 'e': category = "E:"; break; - } - } - if (category != null) - window.open ('http://www.go-mono.com/docs/monodoc.ashx?link=' + category + strNamespace); - } - else - { - window.open ('http://msdn2.microsoft.com/library/' + strNamespace + '.aspx', '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 eltComVisible = document.getElementById ('ComVisible'); - var eltDebuggerDisplay = document.getElementById ('DebuggerDisplay'); - - 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; - - var attrFilters = new Object (); - var rgOptions = getChildrenByTagName (document.getElementById ('FilteredAttributes'), "option"); - for (i = 0; i < rgOptions.length; i++) - attrFilters [rgOptions [i].firstChild.nodeValue.replace (/\s+/g, '')] = true; - viewAll (document.getElementById ('ROOT'), dictTypes, attrFilters); -} - -function addAndFilter () -{ - var newInput = document.getElementById ('NewFilterTarget'); - var newAttr = newInput.value; - if (newAttr.length > 0) { - var selection = document.getElementById ('FilteredAttributes'); - var newElem = document.createElement ('option'); - newElem.appendChild (document.createTextNode (newAttr)); - selection.appendChild (newElem); - newInput.value = ''; - filterTree (); - } -} - -function removeAndFilter () -{ - var selection = document.getElementById ('FilteredAttributes'); - if (selection.selectedIndex >= 0) { - var newInput = document.getElementById ('NewFilterTarget'); - if (newInput.value.length == 0) - newInput.value = selection.options [selection.selectedIndex].firstChild.nodeValue; - selection.removeChild (selection.options [selection.selectedIndex]); - filterTree (); - } -} - -function selectMissing () -{ - toggleFilter ('missing'); -} - -function selectTodo () -{ - toggleFilter ('todo'); -} - -function selectExtra () -{ - toggleFilter ('extra'); -} - -function selectErrors () -{ - toggleFilter ('errors'); -} - -function toggleAttributeFilter (attrName) -{ - toggleFilter (attrName); -} - -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; - filterTree (); -} - -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/web/web/deploy/cm/d.gif b/web/web/deploy/cm/d.gif Binary files differdeleted file mode 100644 index c9735952f33..00000000000 --- a/web/web/deploy/cm/d.gif +++ /dev/null diff --git a/web/web/deploy/cm/e.gif b/web/web/deploy/cm/e.gif Binary files differdeleted file mode 100644 index 1137246bfae..00000000000 --- a/web/web/deploy/cm/e.gif +++ /dev/null diff --git a/web/web/deploy/cm/en.gif b/web/web/deploy/cm/en.gif Binary files differdeleted file mode 100644 index 00026b77300..00000000000 --- a/web/web/deploy/cm/en.gif +++ /dev/null diff --git a/web/web/deploy/cm/f.gif b/web/web/deploy/cm/f.gif Binary files differdeleted file mode 100644 index f78a2f53bbc..00000000000 --- a/web/web/deploy/cm/f.gif +++ /dev/null diff --git a/web/web/deploy/cm/i.gif b/web/web/deploy/cm/i.gif Binary files differdeleted file mode 100644 index 56cd032a565..00000000000 --- a/web/web/deploy/cm/i.gif +++ /dev/null diff --git a/web/web/deploy/cm/m.gif b/web/web/deploy/cm/m.gif Binary files differdeleted file mode 100644 index 75fe3586d48..00000000000 --- a/web/web/deploy/cm/m.gif +++ /dev/null diff --git a/web/web/deploy/cm/n.gif b/web/web/deploy/cm/n.gif Binary files differdeleted file mode 100644 index f6fa746304d..00000000000 --- a/web/web/deploy/cm/n.gif +++ /dev/null diff --git a/web/web/deploy/cm/p.gif b/web/web/deploy/cm/p.gif Binary files differdeleted file mode 100644 index b79d0dd7edb..00000000000 --- a/web/web/deploy/cm/p.gif +++ /dev/null diff --git a/web/web/deploy/cm/r.gif b/web/web/deploy/cm/r.gif Binary files differdeleted file mode 100644 index a3ef0f38ef0..00000000000 --- a/web/web/deploy/cm/r.gif +++ /dev/null diff --git a/web/web/deploy/cm/s.gif b/web/web/deploy/cm/s.gif Binary files differdeleted file mode 100644 index f2fd5c8aee2..00000000000 --- a/web/web/deploy/cm/s.gif +++ /dev/null diff --git a/web/web/deploy/cm/sc.gif b/web/web/deploy/cm/sc.gif Binary files differdeleted file mode 100644 index b02afd9b2e0..00000000000 --- a/web/web/deploy/cm/sc.gif +++ /dev/null diff --git a/web/web/deploy/cm/se.gif b/web/web/deploy/cm/se.gif Binary files differdeleted file mode 100644 index 1c46eaa5887..00000000000 --- a/web/web/deploy/cm/se.gif +++ /dev/null diff --git a/web/web/deploy/cm/sm.gif b/web/web/deploy/cm/sm.gif Binary files differdeleted file mode 100644 index 0c7194786d5..00000000000 --- a/web/web/deploy/cm/sm.gif +++ /dev/null diff --git a/web/web/deploy/cm/st.gif b/web/web/deploy/cm/st.gif Binary files differdeleted file mode 100644 index 067582cb398..00000000000 --- a/web/web/deploy/cm/st.gif +++ /dev/null diff --git a/web/web/deploy/cm/sx.gif b/web/web/deploy/cm/sx.gif Binary files differdeleted file mode 100644 index 2c8ca547929..00000000000 --- a/web/web/deploy/cm/sx.gif +++ /dev/null diff --git a/web/web/deploy/cm/tb.gif b/web/web/deploy/cm/tb.gif Binary files differdeleted file mode 100644 index ee68c5a356b..00000000000 --- a/web/web/deploy/cm/tb.gif +++ /dev/null diff --git a/web/web/deploy/cm/tm.gif b/web/web/deploy/cm/tm.gif Binary files differdeleted file mode 100644 index 3c8f18aecea..00000000000 --- a/web/web/deploy/cm/tm.gif +++ /dev/null diff --git a/web/web/deploy/cm/tp.gif b/web/web/deploy/cm/tp.gif Binary files differdeleted file mode 100644 index 8b7435361b7..00000000000 --- a/web/web/deploy/cm/tp.gif +++ /dev/null diff --git a/web/web/deploy/cm/w.gif b/web/web/deploy/cm/w.gif Binary files differdeleted file mode 100644 index 43fb38abce2..00000000000 --- a/web/web/deploy/cm/w.gif +++ /dev/null diff --git a/web/web/deploy/cm/y.gif b/web/web/deploy/cm/y.gif Binary files differdeleted file mode 100644 index 08f00d4ea11..00000000000 --- a/web/web/deploy/cm/y.gif +++ /dev/null diff --git a/web/web/deploy/images/bgsquares.gif b/web/web/deploy/images/bgsquares.gif Binary files differdeleted file mode 100644 index 864bcd44038..00000000000 --- a/web/web/deploy/images/bgsquares.gif +++ /dev/null diff --git a/web/web/deploy/images/bgsquares.png b/web/web/deploy/images/bgsquares.png Binary files differdeleted file mode 100644 index a9e2bb94dbb..00000000000 --- a/web/web/deploy/images/bgsquares.png +++ /dev/null diff --git a/web/web/deploy/images/bgsquares.xcf.gz b/web/web/deploy/images/bgsquares.xcf.gz Binary files differdeleted file mode 100644 index 200b5805615..00000000000 --- a/web/web/deploy/images/bgsquares.xcf.gz +++ /dev/null diff --git a/web/web/deploy/images/mono.gif b/web/web/deploy/images/mono.gif Binary files differdeleted file mode 100644 index 298976a07b7..00000000000 --- a/web/web/deploy/images/mono.gif +++ /dev/null diff --git a/web/web/deploy/images/mono.png b/web/web/deploy/images/mono.png Binary files differdeleted file mode 100644 index 21709009d60..00000000000 --- a/web/web/deploy/images/mono.png +++ /dev/null diff --git a/web/web/deploy/images/pixel.gif b/web/web/deploy/images/pixel.gif Binary files differdeleted file mode 100644 index a4f37d7e02e..00000000000 --- a/web/web/deploy/images/pixel.gif +++ /dev/null diff --git a/web/web/deploy/images/pixel.png b/web/web/deploy/images/pixel.png Binary files differdeleted file mode 100644 index 85cfd14929a..00000000000 --- a/web/web/deploy/images/pixel.png +++ /dev/null diff --git a/web/web/htmlify b/web/web/htmlify deleted file mode 100644 index cd347cad09f..00000000000 --- a/web/web/htmlify +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/perl -$q = 1; - -while (<>){ - chomp; - 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>$1</p>\n"; - } elsif (/^\t\t\* (.*)$/) { - print "<li>$1</li>\n"; - } elsif (/^\@item (.*)$/){ - $name = $link = $1; - $link =~ s/ //g; - print "<a name=\"$link\">\n"; - if (/Beta 1/){ - print "<h2>$name</h2>\n"; - } else { - 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/web/web/icaza.pl b/web/web/icaza.pl deleted file mode 100644 index ce8b87c44da..00000000000 --- a/web/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/web/web/images/bgsquares.gif b/web/web/images/bgsquares.gif Binary files differdeleted file mode 100644 index 864bcd44038..00000000000 --- a/web/web/images/bgsquares.gif +++ /dev/null diff --git a/web/web/images/bgsquares.png b/web/web/images/bgsquares.png Binary files differdeleted file mode 100644 index 54de2ad1e6d..00000000000 --- a/web/web/images/bgsquares.png +++ /dev/null diff --git a/web/web/images/bgsquares.xcf.gz b/web/web/images/bgsquares.xcf.gz Binary files differdeleted file mode 100644 index 200b5805615..00000000000 --- a/web/web/images/bgsquares.xcf.gz +++ /dev/null diff --git a/web/web/images/gtk-certview.png b/web/web/images/gtk-certview.png Binary files differdeleted file mode 100644 index d26d03ae2d3..00000000000 --- a/web/web/images/gtk-certview.png +++ /dev/null diff --git a/web/web/images/mono-new.gif b/web/web/images/mono-new.gif Binary files differdeleted file mode 100755 index 9aa496940a8..00000000000 --- a/web/web/images/mono-new.gif +++ /dev/null diff --git a/web/web/images/mono.gif b/web/web/images/mono.gif Binary files differdeleted file mode 100644 index 298976a07b7..00000000000 --- a/web/web/images/mono.gif +++ /dev/null diff --git a/web/web/images/mono.png b/web/web/images/mono.png Binary files differdeleted file mode 100644 index a19e38acedd..00000000000 --- a/web/web/images/mono.png +++ /dev/null diff --git a/web/web/images/pixel.gif b/web/web/images/pixel.gif Binary files differdeleted file mode 100644 index a4f37d7e02e..00000000000 --- a/web/web/images/pixel.gif +++ /dev/null diff --git a/web/web/images/pixel.png b/web/web/images/pixel.png Binary files differdeleted file mode 100644 index d8f33a2a3e4..00000000000 --- a/web/web/images/pixel.png +++ /dev/null diff --git a/web/web/images/swf-certview.png b/web/web/images/swf-certview.png Binary files differdeleted file mode 100644 index 0c4200458ac..00000000000 --- a/web/web/images/swf-certview.png +++ /dev/null diff --git a/web/web/images/xml.gif b/web/web/images/xml.gif Binary files differdeleted file mode 100755 index ecb09575418..00000000000 --- a/web/web/images/xml.gif +++ /dev/null diff --git a/web/web/makefile b/web/web/makefile deleted file mode 100644 index 723b994d033..00000000000 --- a/web/web/makefile +++ /dev/null @@ -1,207 +0,0 @@ - -MCSDIR=../../../mcs -PROFILE=default - -ifeq ($(findstring CYGWIN,$(shell uname)),) -CSC=gmcs -RUN_MONO=MONO_PATH=$(MCSDIR)/class/lib/$(PROFILE) mono --debug -else -CSC=gmcs /nologo -RUN_MONO=MONO_PATH=$(MCSDIR)/class/lib/$(PROFILE) mono --debug -endif - -CORCOMPARE=$(MCSDIR)/tools/corcompare - -OBJECTS= \ - deploy/ado-net.html \ - deploy/anoncvs.html \ - deploy/asp-net.html \ - deploy/beta1-press.html \ - deploy/blogs.html \ - deploy/books.html \ - deploy/bugs.html \ - deploy/contributing.html \ - deploy/contact.html \ - deploy/c-sharp.html \ - deploy/ccvs.html \ - deploy/delegate.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/issues.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/team.html \ - deploy/testing.html \ - deploy/tools.html \ - deploy/remap.html \ - deploy/winforms.html \ - deploy/xml-classes.html \ - deploy/class-library.html \ - deploy/classlib-doc.html \ - deploy/class-status.html \ - deploy/class-status-mscorlib.html \ - deploy/class-status-System.html \ - deploy/class-status-System.Xml.html \ - deploy/class-status-System.Configuration.Install.html \ - deploy/class-status-System.Data.html \ - deploy/class-status-System.Data.OracleClient.html \ - deploy/class-status-System.Design.html \ - deploy/class-status-System.Management.html \ - deploy/class-status-System.Messaging.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-System.Drawing.Design.html \ - deploy/class-status-Microsoft.VisualBasic.html \ - deploy/class-status-System.Windows.Forms.html \ - deploy/class-status-System.DirectoryServices.html \ - deploy/class-status-System.EnterpriseServices.html \ - deploy/class-status-System.Runtime.Remoting.html \ - deploy/class-status-cscompmgd.html \ - deploy/class-status-System.Runtime.Serialization.Formatters.Soap.html \ - deploy/class-status-Microsoft.Build.Framework.html \ - deploy/class-status-Microsoft.Build.Engine.html \ - deploy/class-status-Microsoft.Build.Utilities.html \ - deploy/class-status-Microsoft.Build.Tasks.html - -NET_2_0_COMPARES = \ - deploy/class-status-System.Configuration.html - -ifeq ($(PROFILE),net_2_0) - OBJECTS += $(NET_2_0_COMPARES) -endif - - -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' . mono-web@www.go-mono.com:go-mono) - - -push2: - scp -r deploy/* primates:public_html/xxx - -$(OBJECTS): $(patsubst deploy/%.html,src/%.src, $(OBJECTS)) - -transform.exe: transform.cs - $(CSC) transform.cs XhtmlWriter.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/$(PROFILE)/%.dll $(CORCOMPARE)/mono-api-info.exe - $(RUN_MONO) $(CORCOMPARE)/mono-api-info.exe $(notdir $(basename $<)) > $@ || (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) - -../class-status: ../class-status.in - cp -f $< $@ - -make-rss: - $(CSC) make-rss.cs -o diff --git a/web/web/masterinfos/Makefile b/web/web/masterinfos/Makefile deleted file mode 100644 index 73f0b96341b..00000000000 --- a/web/web/masterinfos/Makefile +++ /dev/null @@ -1,96 +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 -# DLL_PATH=c:/WINDOWS/Microsoft.NET/Framework/v1.2.30703 - -all: \ - mscorlib.xml \ - System.xml \ - System.Xml.xml \ - System.Configuration.Install.xml \ - System.Data.xml \ - System.Data.OracleClient.xml \ - System.Design.xml \ - System.Management.xml \ - System.Messaging.xml \ - System.Web.xml \ - System.Web.Services.xml \ - System.Runtime.Serialization.Formatters.Soap.xml \ - System.Drawing.xml \ - System.Drawing.Design.xml \ - System.Security.xml \ - System.DirectoryServices.xml \ - System.EnterpriseServices.xml \ - System.Runtime.Remoting.xml \ - System.Windows.Forms.xml \ - Microsoft.VisualBasic.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.Configuration.Install.xml : - mono-api-info $(DLL_PATH)/System.Configuration.Install.dll > System.Configuration.Install.xml - -System.Data.xml : - mono-api-info $(DLL_PATH)/System.Data.dll > System.Data.xml - -System.Data.OracleClient.xml : - mono-api-info $(DLL_PATH)/System.Data.OracleClient.dll > System.Data.OracleClient.xml - -System.Design.xml : - mono-api-info $(DLL_PATH)/System.Design.dll > System.Design.xml - -System.Management.xml : - mono-api-info $(DLL_PATH)/System.Management.dll > System.Management.xml - -System.Messaging.xml : - mono-api-info $(DLL_PATH)/System.Messaging.dll > System.Messaging.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.Remoting.xml : - mono-api-info $(DLL_PATH)/System.Runtime.Remoting.dll > System.Runtime.Remoting.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.Drawing.Design.xml : - mono-api-info $(DLL_PATH)/System.Drawing.Design.dll > System.Drawing.Design.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.EnterpriseServices.xml : - mono-api-info $(DLL_PATH)/System.EnterpriseServices.dll > System.EnterpriseServices.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 - -Microsoft.VisualBasic.xml : - mono-api-info $(DLL_PATH)/Microsoft.VisualBasic.dll > Microsoft.VisualBasic.xml - -clean: - rm mscorlib.xml System.xml System.Xml.xml System.Configuration.Install.xml System.Data.xml System.Data.OracleClient.xml System.Design.xml System.Drawing.Design.xml System.Management.xml System.Messaging.xml System.Web.xml System.Web.Services.xml System.Runtime.Serialization.Formatters.Soap.xml System.Drawing.xml System.Security.xml System.DirectoryServices.xml System.EnterpriseServices.xml System.Runtime.Remoting.xml System.Windows.Forms.xml Cscompmgd.xml Microsoft.VisualBasic.xml - - diff --git a/web/web/mono-rss.cs b/web/web/mono-rss.cs deleted file mode 100644 index ab39f6e91c5..00000000000 --- a/web/web/mono-rss.cs +++ /dev/null @@ -1,143 +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 int GetMonth (string s) - { - switch (s){ - case "Jan": return 1; - case "Feb": return 2; - case "Mar": return 3; - case "Apr": return 4; - case "May": return 5; - case "Jun": return 6; - case "Jul": return 7; - case "Aug": return 8; - case "Sep": return 9; - case "Oct": return 10; - case "Nov": return 11; - case "Dec": return 12; - } - throw new Exception ("Can not parse month name: " + s); - } - - static int GetDay (string s) - { - int d = s [0] - '0'; - - if (Char.IsDigit (s [1])){ - d = d * 10 + (s [1] - '0'); - } - return d; - } - - 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; - DateTime dt = new DateTime (2004, GetMonth (s.Substring (6, 3)), GetDay (s.Substring (10, 2))); - i.PubDate = dt.ToString ("R"); - } 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/web/web/process.pl b/web/web/process.pl deleted file mode 100755 index c0321afe2ef..00000000000 --- a/web/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>) { - chomp; - 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>) { - chomp; - 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/web/web/render-team-page.cs b/web/web/render-team-page.cs deleted file mode 100644 index 39ad660855e..00000000000 --- a/web/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/web/web/rss.cs b/web/web/rss.cs deleted file mode 100644 index 3bdaa95a843..00000000000 --- a/web/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/web/web/team.xml b/web/web/team.xml deleted file mode 100644 index 1ccb77bf36f..00000000000 --- a/web/web/team.xml +++ /dev/null @@ -1,1629 +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 -> 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>Southern California</location> - - <description>Hacker</description> - - <tasks> - - <task>IL Assembler</task> - - <task>System.Windows.Forms</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@ximian.com</e-mail> - - <image>lluis.png</image> - - <location>Barcelona, Spain</location> - - <organization>Novell / Ximian</organization> - - <description>Mono Hacker</description> - - <tasks> - - <task>Remoting</task> - - <task>Serialization</task> - - <task>Web Services</task> - - </tasks> - - </contributor> - - <contributor> - - <name> - - <first-name>Martin</first-name> - - <last-name>Baulig</last-name> - - </name> - - <e-mail>martin@ximian.com</e-mail> - - <image>martin.png</image> - - <location>Germany</location> - - <organization>Novell / Ximian</organization> - - <description>Mono Hacker</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 & 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 CONCAT gmail CONCAT com</e-mail> - - <image>none.png</image> - - <location>Hungary</location> - - <organization></organization> - - <description></description> - - <tasks> - - <task>IKVM port</task> - - <task>Sparc and AMD64 port</task> - - <task>Marshalling/Interop</task> - - <task>Reflection and Ref.Emit</task> - - <task>Random 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@sevenl.net</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> - - <contributor> - - <name> - - <first-name>Neale</first-name> - - <last-name>Ferguson</last-name> - - </name> - - <e-mail>Neale.Ferguson@SoftwareAG-usa.com</e-mail> - - <image></image> - - <location>Leesburg, VA, USA</location> - - <organization></organization> - - <description>External Contributor</description> - - <tasks> - - <task>JIT for Linux on zSeries</task> - - </tasks> - - </contributor> - -</contributors> diff --git a/web/web/team.xsd b/web/web/team.xsd deleted file mode 100755 index 30143d7c26c..00000000000 --- a/web/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/web/web/team/aleksey.png b/web/web/team/aleksey.png Binary files differdeleted file mode 100755 index 2b650587e01..00000000000 --- a/web/web/team/aleksey.png +++ /dev/null diff --git a/web/web/team/cesar.png b/web/web/team/cesar.png Binary files differdeleted file mode 100644 index d416c35829b..00000000000 --- a/web/web/team/cesar.png +++ /dev/null diff --git a/web/web/team/dietmar.png b/web/web/team/dietmar.png Binary files differdeleted file mode 100644 index e6086982d61..00000000000 --- a/web/web/team/dietmar.png +++ /dev/null diff --git a/web/web/team/duncan.png b/web/web/team/duncan.png Binary files differdeleted file mode 100755 index 69b5e638c55..00000000000 --- a/web/web/team/duncan.png +++ /dev/null diff --git a/web/web/team/gonzalo.png b/web/web/team/gonzalo.png Binary files differdeleted file mode 100644 index 6379362df31..00000000000 --- a/web/web/team/gonzalo.png +++ /dev/null diff --git a/web/web/team/gvaish.png b/web/web/team/gvaish.png Binary files differdeleted file mode 100644 index 131f9ae5966..00000000000 --- a/web/web/team/gvaish.png +++ /dev/null diff --git a/web/web/team/hector.png b/web/web/team/hector.png Binary files differdeleted file mode 100644 index 0e0781f961b..00000000000 --- a/web/web/team/hector.png +++ /dev/null diff --git a/web/web/team/jackson.png b/web/web/team/jackson.png Binary files differdeleted file mode 100644 index 2fb5545ee61..00000000000 --- a/web/web/team/jackson.png +++ /dev/null diff --git a/web/web/team/jluke.png b/web/web/team/jluke.png Binary files differdeleted file mode 100644 index d8578ad8258..00000000000 --- a/web/web/team/jluke.png +++ /dev/null diff --git a/web/web/team/johannes.png b/web/web/team/johannes.png Binary files differdeleted file mode 100755 index 096f88205dc..00000000000 --- a/web/web/team/johannes.png +++ /dev/null diff --git a/web/web/team/jonpryor.png b/web/web/team/jonpryor.png Binary files differdeleted file mode 100644 index d921a2dc051..00000000000 --- a/web/web/team/jonpryor.png +++ /dev/null diff --git a/web/web/team/jordi.png b/web/web/team/jordi.png Binary files differdeleted file mode 100644 index 126e5dff5f4..00000000000 --- a/web/web/team/jordi.png +++ /dev/null diff --git a/web/web/team/lluis.png b/web/web/team/lluis.png Binary files differdeleted file mode 100644 index b22edbfcd9a..00000000000 --- a/web/web/team/lluis.png +++ /dev/null diff --git a/web/web/team/martin.png b/web/web/team/martin.png Binary files differdeleted file mode 100644 index 7bfe4a04e41..00000000000 --- a/web/web/team/martin.png +++ /dev/null diff --git a/web/web/team/miguel.png b/web/web/team/miguel.png Binary files differdeleted file mode 100644 index 534ccd4caf4..00000000000 --- a/web/web/team/miguel.png +++ /dev/null diff --git a/web/web/team/mwh.png b/web/web/team/mwh.png Binary files differdeleted file mode 100644 index 4a390c5bb86..00000000000 --- a/web/web/team/mwh.png +++ /dev/null diff --git a/web/web/team/nickd.png b/web/web/team/nickd.png Binary files differdeleted file mode 100644 index c9a1561a3d5..00000000000 --- a/web/web/team/nickd.png +++ /dev/null diff --git a/web/web/team/none.png b/web/web/team/none.png Binary files differdeleted file mode 100755 index deba20e455e..00000000000 --- a/web/web/team/none.png +++ /dev/null diff --git a/web/web/team/pedro.png b/web/web/team/pedro.png Binary files differdeleted file mode 100644 index a3a4496a0d6..00000000000 --- a/web/web/team/pedro.png +++ /dev/null diff --git a/web/web/team/pedroas.png b/web/web/team/pedroas.png Binary files differdeleted file mode 100644 index 6905a00ff30..00000000000 --- a/web/web/team/pedroas.png +++ /dev/null diff --git a/web/web/team/per.png b/web/web/team/per.png Binary files differdeleted file mode 100644 index 5374cb64e2c..00000000000 --- a/web/web/team/per.png +++ /dev/null diff --git a/web/web/team/peterw.png b/web/web/team/peterw.png Binary files differdeleted file mode 100644 index 1cb36eab7c8..00000000000 --- a/web/web/team/peterw.png +++ /dev/null diff --git a/web/web/team/reggie.png b/web/web/team/reggie.png Binary files differdeleted file mode 100644 index 4f5dd4f1f70..00000000000 --- a/web/web/team/reggie.png +++ /dev/null diff --git a/web/web/team/rpratap.png b/web/web/team/rpratap.png Binary files differdeleted file mode 100644 index 5c51c7db283..00000000000 --- a/web/web/team/rpratap.png +++ /dev/null diff --git a/web/web/team/spouliot.png b/web/web/team/spouliot.png Binary files differdeleted file mode 100644 index 5c85a17b0f0..00000000000 --- a/web/web/team/spouliot.png +++ /dev/null diff --git a/web/web/team/tberman.png b/web/web/team/tberman.png Binary files differdeleted file mode 100755 index 9a26c2be737..00000000000 --- a/web/web/team/tberman.png +++ /dev/null diff --git a/web/web/team/timc.png b/web/web/team/timc.png Binary files differdeleted file mode 100644 index a129020576c..00000000000 --- a/web/web/team/timc.png +++ /dev/null diff --git a/web/web/template.html.in b/web/web/template.html.in deleted file mode 100644 index f85beefce3a..00000000000 --- a/web/web/template.html.in +++ /dev/null @@ -1,126 +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; - } - - pre { font-size: 12px; } - - .shell { - border-style: solid; background: #000000; color: #bbbbbb; - 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> -</table> - -</body> -</html> diff --git a/web/web/transform.cs b/web/web/transform.cs deleted file mode 100644 index af6424f90c3..00000000000 --- a/web/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/web/winforms b/web/winforms deleted file mode 100644 index a9a5e8ae54c..00000000000 --- a/web/winforms +++ /dev/null @@ -1,81 +0,0 @@ -* System.Windows.Forms - - <p>Currently Windows.Forms support is under heavy development. Check Mono's <a - href = "http://www.go-mono.com/mono-roadmap.html">Roadmap</a> for more - details on when it is going to be available. - - <p>System.Windows.Forms in Mono is implemented using System.Drawing. All controls - are natively drawn through System.Drawing. System.Windows.Forms implements it's own - driver interface to communicate with the host OS windowing system. Currently, - we have a driver for Win32 and a driver for X11. - The drivers translate the native window messages into WndProc compatible messages, - to provide as much compatibility with native .Net as possible. - - <p>In terms of integrating visually with the desktop, we have a (still incomplete) - themeing interface, currently with a classic Win32 theme and a Gtk theme. - - <p>The current implementation is still very incomplete, with several large controls - (Edit, ListBox, ComboBox, Menus), etc, still being developed. It is too early to - file bugs if you cannot compile or run a certain application because of controls - missing. - -* Why not use Wine? - - <ul> - - <li>Debugging with Wine was extremely hard, and Wine was a moving target, - some of the calls we relied on changed from release to release. - <li>Wine/GDI+ interactions were not efficient. - <li>Too many cooks contributed to the core, so it was hard to maintain. - <li>To many dependencies on install, many people where having problems getting - the very strict winelib requirements right. - - </ul> - - The driver interface should allow us to also create a Wine based driver for - System.Windows.Forms, to support applications performing Win32 P/Invokes, but - for now this is not a priority. - - -* Installation - - <p>To get the Windows.Forms support working, you need: - - <ul> - - <li> The latest <a href = "http://www.go-mono.com/download.html">Mono</a> package. - <li> The latest <a href = "http://www.go-mono.com/download.html">libgdiplus</a> library. - <li> The latest <a href = "http://www.cairographics.org/download">Cairo</a> vector graphics library. - - </ul> - - The current source of System.Windows.Forms resides in mcs/class/Managed.Windows.Forms. - The previous version of System.Windows.Forms, based on Wine, still can be found in - mcs/class/System.Windows.Forms, but it is no longer being worked on. - - <p>To use the latest version, go into Managed.Windows.Forms and issue a 'make clean', - followed by a 'make install'. Afterwards, the new implementation should be available - in the GAC for your use. - -* Contributing - - <p>The Winforms effort is being coordinated in the <a - href="mailto:mono-winforms-list@ximian.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">mono-winforms-list-request@ximian.com</a>. - - <p>If you want to help, you can pick a control and start implementing it's - methods. You can do this either on Windows or on Linux. All controls must be drawn - using System.Drawing calls, tied into the themeing interface, and not stubbed. - - <p>If you choose a particular control to work on, send a note to the - winforms list to avoid duplication of effort. - - -* System.Drawing - - <p>For details, see the <a - href="drawing.html">System.Drawing implementation notes</a> - section of the web site. - diff --git a/web/xml-classes b/web/xml-classes deleted file mode 100755 index b2a4c595b6c..00000000000 --- a/web/xml-classes +++ /dev/null @@ -1,530 +0,0 @@ -* XML Classes Status and Tasks - -** Abstract - - XML library is used by several areas 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 (Mono.Xml.MiniParser). - - Basically System.XML.dll feature is almost finished, so I write this - document mainly for bugs and improvement hints. - -** Status - -*** System.Xml namespace - - -**** Document Object Model (Core) - - DOM implementation has finished and our DOM implementation scores better - than MS.NET as to the NIST DOM test results (it is ported by Mainsoft - hackers and in our unit tests). - -**** Xml Writer - - Here XmlWriter almost equals to XmlTextWriter. If you want to see - another implementation, check XmlNodeWriter.cs and DTMXPathDocumentWriter.cs - in System.XML sources. - - XmlTextWriter is completed, though it looks a bit slower than MS.NET (I - tried 1.1). - -**** XmlResolver - - XmlUrlResolver is implemented. - - 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 some improved implementations which resides - in Mono.Xml.Ext.dll. - - [2.0] XmlDataSourceResolver <del>is not implemented as yet</del><ins>vanished</ins>. - -**** XmlNameTable - - NameTable is implemented, but also needs performance improvement. - Optimization hackings are welcome. There is also a <a - href="http://bugzilla.ximian.com/show_bug.cgi?id=59537">bugzilla entry</a> - for this matter. - -**** 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 than Microsoft. - * Entity expansion and its well-formedness check is incomplete. - It incorrectly allows divided content models. It incorrectly - treats its Base URI, so some dtd parse fails. - * 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). If anyone - contributes an implementation, it would be still nice. - </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 wouldn't be so 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 (this bug is fixed in .NET 2.0 beta, - taking shape of XmlReader.Create()). - - <del>I added extra support interface named "IHasXmlParserContext", which is - considered in XmlValidatingReader.ResolveEntity(). </del><ins>This is now - made as internal interface.</ins> Microsoft failed to design XmlReader - so that XmlReader cannot be subtree-pluggable (i.e. wrapping use of other - XmlReader) since XmlParserContext shoud be supplied for DTD information - support (e.g. entity references cannot be expanded) and namespace manager. - (In .NET 2.0, Microsoft also supported similar to IHasXmlParserContext, - named IXmlNamespaceResolver, but it still does not provide DTD information.) - - We also have RELAX NG validating reader (described later). - - -*** System.Xml.Schema - -**** Summary - - Basically it is completed. You can test how current schema validation engine - is complete (incomplete) 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 - - this score is better than that of Microsoft implementation. But instead, - we need performance boost. There should be many points to improve - schema compilation and validation. - -**** 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 - (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. - </ul> - -**** Validating Reader - - Basically this is implemented and actually its feature is 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 Sanchez is the maintainer of this namespace (as well as - System.Web.Services). - - 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. See "tools" section discussed later. There is also "sgen" - that is introduced in .NET 2.0. - - -*** System.Xml.XPath and System.Xml.Xsl - - There are two XSLT implementations. One and historical implementation is - based on libxslt (aka Unmanaged XSLT). Now we uses fully implemented and - managed XSLT by default. 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 tried to do some of them</a>, - but it is not successful because of System.Xml.Xsl design problem: - - <ul> - * In general, .NET's "extension objects" (including - msxsl:script) is not useful to return node-sets (MS XSLT - implementation rejects just overriden XPathNodeIterator, - but accepts only their hidden classes. And are the same - in Mono though classes are different) - - * In .NET's extension object design, extension function name - is a valid method name that cannot contain some characters - such as '-'. That is, implementing EXSLT in C# is impossible. - </ul> - - So if we support EXSLT, it has to be done inside our System.XML.dll. - Microsoft developers are also aware of this problem and some of them wish - to have EXSLT support in WinFX (not whidbey). If anyone is interested - in it, it would be nice. - - Our managed XSLT implementation is slower than MS XSLT for some kind of - stylesheets, and faster for some. - - -*** RELAX NG - - I implemented an experimental RelaxngValidatingReader. It is still not - complete, for example some simplification stuff (see RELAX NG spec - chapter 4; especially 4.17-19) and some constraints (especially 7.3). - See mcs/class/Commons.Xml.Relaxng/README for details. - - Currently we have - - <ul> - * Custom datatype support. Right now, you can use XML schema - datatypes ( http://www.w3.org/2001/XMLSchema-datatypes ) - as well as RELAX NG default datatypes (as used in relaxng.rng). - - * RELAX NG Compact Syntax support, though not yet stable. - See Commons.Xml.Relaxng.Rnc.RncParser class. -</ul> - - -** System.Xml v2.0 - - Microsoft released the first public beta version of .NET Framework 2.0, - available from <a href="http://www.microsoft.com/downloads/details.aspx?familyid=916EC067-8BDC-4737-9430-6CEC9667655C&displaylang=en">MSDN</a>. - It contains several new classes. - - There are two assemblies related to System.Xml v2.0; System.Xml.dll and - System.Data.SqlXml.dll. Now that System.Data.SqlXml.dll is little important. - It just contains only XQueryCommand class inside System.Xml.* namespace. - Most of the important part are in System.Xml.dll. - - Note that .NET Framework is pre-release version, so they are subject - to change. Actually many of the pre-released classes vanished. - - System.Xml 2.0 contains several features such as: - - <ul> - * new XPathNavigator members that supports editing XmlDocument - * XmlReaderSettings, XmlWriterSettings and factory methods - * Strongly typed XmlReader, XmlWriter and XPathNavigator. - * XML Schema design changes - * XSD Inference - * Well-documented and improved XmlSerializer. - * XSLT per-stylesheet assembly generator - </ul> - -*** System.Xml 2.0 - -**** Summary - - <a href="http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/class-status-System.Xml.html"> - Here</a> is the latest status of mono's System.Xml 2.0. - - Major remaining tasks are: - - <ul> - * binary content support on XmlReader - * XmlValueConverter - * XslCompiledTransform (not available in .NET FX 2.0 as yet) - </ul> - - In general, System.Xml 2.0 bits are largely implemented. - - I have some notes on things marked as "missing" in the above class status - page: - - <ul> - * XmlReader, XmlTextReader and XmlValidatingReader has - many "missing bits", but ReadValueAsXxx() are obsoleted. - They were now taken its place by ReadContentAsXxx() and - ReadElementContentAsXxx() methods (those differences come - from the basis of the methods: ReadElementString() or - ReadString()). - * In System.Xml.XPath - first, new features in XPathDocument - are said as reverted. So I just commented out those new - features that had been already implemented in mono. - Other missing classes such as XPathEditableNavigator are - obsolete and will vanish at the time of 2.0 RTM. - * There are some security attributes. They are either way - not applicable as yet, and actually currently corcompare - ignores them. (So I already added some, but are ignored.) - </ul> - -**** XmlReader/XmlWrier Factory methods - - In .NET 2.0, XmlTextReader, XmlNodeReader, XmlValidatingReader are - obsolete and XmlReader.Create() is recommended (there is however no - alternative way to create XmlNodeReader). Similarly, there are - XmlWriter.Create() overloads. - - Currently, Microsoft's XmlWriter.Create() is unstable and there will - be changes. So basically remaining XmlWriter.Create() is supposed to be - done after the next beta version of .NET 2.0. - - Some of XmlReader.Create() overloads are implemented, with limited - XmlReaderSettings support. - - -**** Strongly typed XmlReader/XmlWriter - - In .NET 2.0, XmlReader is supposed to support strongly-typed data reading. - They are based on W3C "XML Schema Datatypes" Recommendation and "XQuery 1.0 - and XPath 2.0 Data Model" Working Draft. - - Note that this W3C specification is just a Working Draft and there might - be incompatible changes for those strongly-typed API. For example, in the - latest version of the spec (as of November 2004), xs:QName is specified as - to have prefix, local name and namespace URI, while .NET XML classes just - treat it as XmlQualifiedName which does not contain prefix. So this part of - API might become obsolete or useless. - - Some of XmlReader.ReadValueAsXxx() and XmlWriter.WriteValue() overloads are - implemented, though incompletely. They are based on internal XQueryConvert. - - -**** Sub-tree handling in XmlReader/XmlWriter/XPathNavigator - - Currently XmlReader.ReadSubtree(), XmlWriter.WriteSubtree() and - XPathNavigator.ReadSubtree() are implemented, though not well-tested. - They are based on Mono.Xml.SubtreeXmlReader and - Mono.Xml.XPath.XPathNavigatorReader classes. - - -*** System.Xml.Schema 2.0 - - Since .NET 1.x is not so compliant with W3C XML Schema specification, - Microsoft had to redesign System.Xml.Schema classes. We also have to - change many things. - - <ul> - * It does not expose XmlSchemaDatatype as a type of an - element or an attribute (except for obsolete members). - Primitive types are represented as XmlSchemaSimpleType - instances (thus there are ElementSchemaType, - AttributeSchemaType, BaseXmlSchemaType that replace some - existing properties). Note that XmlSchemaDatatype itself is - not deprecated as yet. - - * "XQuery 1.0 and XPath 2.0 Data Model" datatypes (such as - xdt:dayTimeDuration) are newly supported. They are partially - implemented yet. - - * schema structures are now bound in parent-child - relationship. It is not yet implemented. With related to - it, there seems bunch of schema compilation bugfixes. - - * XmlSchemaCollection is not used anymore to represent - effective set of schemas. Instead, new XmlSchemaSet class - is used. It should affect on schema compilation design. - </ul> - - -**** XSD Inference - - In .NET 2.0, there is an XML Schema inference implementation. The API (or - implementation design) is not cool and Microsoft will make changes in - later version of beta or .NET Framework. - -**** XmlSchemaValidator - - It is (somewhat) exposed XML Schema validation functionality. It enables - developers to get expected particles and attributes. Actually it is - internally used to implement XmlReader.Create() with XmlSchemaSet. - - -*** System.Xml.XPath 2.0 - -**** Editable XPathNavigator - - In System.Xml 2.0, XPathNavigator has many editing API (that used to be - "XPathEditableNavigator"). It enables developers to edit XmlDocument - (not for XPathDocument; it is read-only). - - (In the early stage of .NET 2.0, XPathDocument is supposed to be editable. - Also, the new version of editable XPathNavigator had been already - implemented in Mono, as Mono.Xml.XPath.XPathEditableDocument.) - - -*** System.Xml.Xsl 2.0 - - There used to be System.Xml.Query.XsltCommand class, and it now disappeared - and it is said (by Microsoft developers) that there will be a class named - XslCompiledTransform - so it will be included in the next beta version. - It is regarded as the identical thing to XsltCommand. - - XslCompiledtransform seems almost the same as System.Xml.Xsl.XslTransform, - but this class transforms documents twice to four times as fast as - XslTransform. Instead, stylesheet compilation is much slower, because - it generates compiled stylesheet assembly. - - - -** External assemblies for Mono 2.0 - -*** Mono.Xml.Ext - - (<strong>IMPORTANT</strong>: There used to be System.Xml.Query.XQueryCommand - class that implemented XQuery, but now Microsoft dropped it for .NET 2.0. - So we moved them out to external assembly named Mono.Xml.Ext.dll, but I - haven't changed thing so much when I just extracted them. Thus, this - section is kept as is, and basically old stuff.) - - Mono.Xml.Ext.dll contains mainly XQuery implementation, and some utility - classes. - - XQueryCommand implements XQuery. XQuery is a new face XML document - manipulation language (at least new face in .NET world). It is similar - to XSLT, but extended to support XML Schema based datatypes (and it is - not XML based langauge). It is similar to XPath, but it can construct - XML nodes. It has no complicated template resolution, but works like - functional languages. - - Under MS.NET, XQuery implementation is mainly in System.Xml.Query and - MS.Internal.Xml.* namespaces. The implementation is mostly - in System.Xml.dll. It is also true to our System.Xml.dll. Our XQueryCommand - in System.Data.SqlXml.dll just invokes the actual XQuery processor - (Mono.Xml.XPath2.XQueryCommandImpl) which resides in System.Xml.dll via - reflection. - - Currently we are not implementing MS.Internal.Xml.* classes. MS - implementation is based on an old version of the W3C specification, and - our implementation is currently based on - <a href="http://www.w3.org/TR/2004/WD-xquery-20040723/">23 July 2004 - version</a> (latest as of now) of the working draft. - - XQuery implementation tasks are: - - <ul> - * XQuery syntax parser that parses xquery string to AST - (abstract syntax tree). -> partly not done. - - * XQuery AST compiler into static context -> partly not done. - - * XQuery (dynamic context) runtime = XQuery expression evaluator - + sequence iterator. -> partly not done. - - * XPathItem data model and (mainly) conversion support. - -> partly done. - - * Applied expression classes for XQuery/XPath 2.0 functions and - operators. -> partly done. - - * Optimization, and design per-query assembly code generator (later) - </ul> - - It already handles some queries, while major part implementation is missing - or buggy (like FLWOR, expressions for sequence type handling, built-in - function support etc.). - - -*** Relax NG and DSDL in Mono 1.2 - - Currently we support only RELAX NG as one part of ISO DSDL effort. There - is existing Schematron implementation (NMatrix Project: <a - href="http://sourceforge.net/projects/dotnetopensrc/"> - http://sourceforge.net/projects/dotnetopensrc/</a>). With a few changes, - it can be used with mono. - - We don't have multi-language based validation support, namely - Namespace-based Validation Dispatch Language (NVDL). To support unwrapping, - one special XmlReader implementation is required (other schema validation - support can be done by ReadSubtree()). Note that we had seen RELAX - Namespace, Modular Namespace (MNS) and Namespace Routing Language (NRL) - - that is, standardization effort is still ongoing (though NVDL looks - mostly the same as NRL). - - In Mono 2.0, there are some improvements: - - <ul> - * RelaxngPattern.Compile() now provides error location. - - * RelaxngValidatingReader now supports "expected label - collector" API; You can get name list of expected element - names and attribute names by simulating validation. - - In Mono 2.0, there might be improvements on Commons.Xml.Relaxng. - - <ul> - * The type of error should be kind of RelaxngGrammarException. - - * Right now there is no ambiguity detection implementation that - would be useful for RelaxngPattern based xml serialization (if - there is need). - - * Because of lack of ambiguity detection, there is no way to - provide XmlMapping (XmlTypeMapping/XmlMemberMapping). But - If anyone is interested in such effort, integration with - XmlSerializer would be interesting task. - </ul> - - -** Tools - -*** xsd.exe - - See <a href="ado-net.html">ADO.NET page</a>. - - Note that xsd.exe does not support XmlSchemaInference in System.Xml 2.0. - -*** genxs.exe - - genxs.exe is a custom XmlSerializer code generator. This is Mono exclusive - advantage. See <a - href="http://primates.ximian.com/~lluis/blog/archives/000120.html">Lluis's - description</a> and manpages for details. Code files are in mcs/tools/genxs. - -*** sgen.exe - - sgen.exe is an alternative XmlSerializer code generator which is based on - XmlSerializer.GenerateSerializer() written by Lluis. Code files are in - mcs/tools/sgen. - -*** dtd2xsd.exe - - It is a tiny tool that enables conversion from DTD structure to XML Schema. - You need an XML instance, not DTD file itself (since basic XmlTextReader has - no feature to read external DTD resource itself). It runs only under mono. - -** Miscellaneous - -*** Mutual assembly dependency - - 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. - - Nowadays System.Xml.dll is built using incomplete System.dll (lacking - System.Xml dependent classes such as ConfigXmlDocument). Full System.dll - is built after System.Xml.dll is done. - - Note that you still need System.dll to run mcs. - - - Atsushi Eno <atsushi@ximian.com> - last updated 12/16/2004 - |