diff options
| author | Radek Polak <[email protected]> | 2009-06-25 10:29:29 +0200 |
|---|---|---|
| committer | Radek Polak <[email protected]> | 2009-06-25 10:29:29 +0200 |
| commit | 1ba1e1241c5542a67c389db22dd817ca4a716321 (patch) | |
| tree | 314bb4597e44f60e251caa4188fc25c870f8de82 | |
| parent | 244228e0a254dae9322035456bdad2e4383f08cf (diff) | |
| download | ml-pnet-master.tar.gz | |
This will build mono's System.XML and install it as System.XmlMono.dll. You can
reference this library in your programs instead of pnet's System.Xml.
If pnet later switches to mono's XML implementation ml-pnet will be used for
updating and creating autogenerated files (we probably wont pull all the build
infrastructure like jay to pnet's tree).
For patch that allows compiling mono's System.XML go to dotgnu.org and download
ml-pnet with bundled mcs-sources. To see the patch do:
cd mcs-sources/class/System.XML
svn diff
To fetch latest mono's changes just do svn update.
| -rw-r--r-- | ChangeLog | 12 | ||||
| -rw-r--r-- | NEWS | 3 | ||||
| -rw-r--r-- | README | 4 | ||||
| -rw-r--r-- | class/Makefile.am | 1 | ||||
| -rw-r--r-- | class/System.XML/Locale.cs | 51 | ||||
| -rw-r--r-- | class/System.XML/Makefile.am | 40 | ||||
| -rw-r--r-- | class/System.XML/MonoTODOAttribute.cs | 120 | ||||
| -rw-r--r-- | class/System.XML/README | 17 | ||||
| -rw-r--r-- | class/System.XML/System.XmlMono.build | 36 | ||||
| -rw-r--r-- | configure.in | 1 |
10 files changed, 284 insertions, 1 deletions
@@ -1,3 +1,15 @@ +2009-06-25 Radek Polak <[email protected]> + + * class/System.XML, class/System.XML/.cvsignore, + class/System.XML/Consts.cs, class/System.XML/Locale.cs, + class/System.XML/Makefile.am, class/System.XML/MonoTODOAttribute.cs, + class/System.XML/README, class/System.XML/System.XmlMono.build: New files + for building System.XML. + + * NEWS, README: Info about building System.XML. + + * class/Makefile.am: Added System.XML to build. + 2007-03-04 Klaus Treichel <[email protected]> * NEWS, configure.in: update version for the "0.8.0" release. @@ -1,3 +1,6 @@ +0.8.2 (25 June 2009) + + * Build System.XML. 0.8.0 (3 March 2007) @@ -30,7 +30,9 @@ Not all Mono libraries are built. In particular, the Portable.NET counterparts to "corlib", "System", and "System.Xml" are used instead of the Mono versions. Some other libraries may not be built yet because of missing features or bugs in Portable.NET or pnetlib, which -we are working on. Contributions are welcome. +we are working on. Contributions are welcome. It is possible to build +and use "System.Xml" from mono. See "class/System.XML/README" for more +info. Bug reports, contributions, offers of help, etc, should be addressed to the Portable.NET developers mailing list, "[email protected]". diff --git a/class/Makefile.am b/class/Makefile.am index 9d84977..78fe8ba 100644 --- a/class/Makefile.am +++ b/class/Makefile.am @@ -16,6 +16,7 @@ SUBDIRS = Custommarshalers \ Mono.Data.SybaseClient \ Mono.Data.TdsClient \ System.Data.OracleClient \ + System.XML \ System.Web \ System.Web.Services\ System.Runtime.Remoting \ diff --git a/class/System.XML/Locale.cs b/class/System.XML/Locale.cs new file mode 100644 index 0000000..7293ab2 --- /dev/null +++ b/class/System.XML/Locale.cs @@ -0,0 +1,51 @@ +// +// Locale.cs +// +// Author: +// Miguel de Icaza ([email protected]) +// Andreas Nahr ([email protected]) +// +// (C) 2001 - 2003 Ximian, Inc (http://www.ximian.com) +// + +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System; + +internal sealed class Locale { + + private Locale () + { + } + + public static string GetText (string msg) + { + return msg; + } + + public static string GetText (string fmt, params object [] args) + { + return String.Format (fmt, args); + } +} diff --git a/class/System.XML/Makefile.am b/class/System.XML/Makefile.am new file mode 100644 index 0000000..52d7d72 --- /dev/null +++ b/class/System.XML/Makefile.am @@ -0,0 +1,40 @@ + +.PHONY: System.Xml.dll + +all-local: Parser.cs PatternParser.jay PatternParser.cs PatternTokenizer.cs System.XmlMono.dll System.Xml.dll + +System.Xml.dll: + ilalink -l mscorlib.dll -l System.dll -o System.Xml.dll System.XmlMono.dll + +System.XmlMono.dll: + "$(CSANT)" $(CSANT_FLAGS) -Dmono.sources="$(MONO_SOURCE_PATH)" \ + -b "$(srcdir)" -B . -f System.XmlMono.build all + +Parser.cs: $(MONO_SOURCE_PATH)/class/System.XML/System.Xml.XPath/Parser.jay $(top_srcdir)/jay/skeleton.cs + $(top_builddir)/jay/jay -ct < $(top_srcdir)/jay/skeleton.cs $< >$@ + +PatternParser.jay: $(MONO_SOURCE_PATH)/class/System.XML/System.Xml.XPath/Parser.jay $(top_srcdir)/jay/skeleton.cs + sed "s/\%start Expr/\%start Pattern/" $< >$@ + +PatternParser.cs: PatternParser.jay $(top_srcdir)/jay/skeleton.cs + echo "#define XSLT_PATTERN" > $@ + $(top_builddir)/jay/jay -ct $< < $(top_srcdir)/jay/skeleton.cs >>$@ + +PatternTokenizer.cs: $(MONO_SOURCE_PATH)/class/System.XML/System.Xml.XPath/Tokenizer.cs + echo "#define XSLT_PATTERN" > $@ + cat $< >>$@ + +CLEANFILES = System.Xml.dll + +install-data-local: + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(libdir)/cscc/lib + "$(CSANT)" $(CSANT_FLAGS) -b "$(srcdir)" -B . \ + -Dmono.sources="$(MONO_SOURCE_PATH)" \ + -f "$(srcdir)/System.XmlMono.build" -i all + +uninstall-local: + @$(NORMALL_UNINSTALL) + "$(CSANT)" $(CSANT_FLAGS) -b "$(srcdir)" -B . \ + -Dmono.sources="$(MONO_SOURCE_PATH)" \ + -f "$(srcdir)/System.XmlMono.build" -u all diff --git a/class/System.XML/MonoTODOAttribute.cs b/class/System.XML/MonoTODOAttribute.cs new file mode 100644 index 0000000..018db98 --- /dev/null +++ b/class/System.XML/MonoTODOAttribute.cs @@ -0,0 +1,120 @@ +// +// MonoTODOAttribute.cs +// +// Authors: +// Ravi Pratap ([email protected]) +// Eyal Alaluf <[email protected]> +// +// (C) Ximian, Inc. http://www.ximian.com +// + +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// Copyright (C) 2006 Mainsoft, Inc (http://www.mainsoft.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +namespace System { + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoTODOAttribute : Attribute { + + string comment; + + public MonoTODOAttribute () + { + } + + public MonoTODOAttribute (string comment) + { + this.comment = comment; + } + + public virtual string Comment { + get { return comment; } + } + } + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoDocumentationNoteAttribute : MonoTODOAttribute { + + public MonoDocumentationNoteAttribute (string comment) + : base (comment) + { + } + + public override string Comment { + get { return base.Comment; } + } + } + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoExtensionAttribute : MonoTODOAttribute { + + public MonoExtensionAttribute (string comment) + : base (comment) + { + } + + public override string Comment { + get { return base.Comment; } + } + } + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoInternalNoteAttribute : MonoTODOAttribute { + + public MonoInternalNoteAttribute (string comment) + : base (comment) + { + } + + public override string Comment { + get { return base.Comment; } + } + } + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoLimitationAttribute : MonoTODOAttribute { + + public MonoLimitationAttribute (string comment) + : base (comment) + { + } + + public override string Comment { + get { return base.Comment; } + } + } + + [AttributeUsage (AttributeTargets.All, AllowMultiple=true)] + internal class MonoNotSupportedAttribute : MonoTODOAttribute { + + public MonoNotSupportedAttribute (string comment) + : base (comment) + { + } + + public override string Comment { + get { return base.Comment; } + } + } +} diff --git a/class/System.XML/README b/class/System.XML/README new file mode 100644 index 0000000..b463b13 --- /dev/null +++ b/class/System.XML/README @@ -0,0 +1,17 @@ +Mono's System.Xml.dll +===================== + +This is build directory for mono's "System.Xml.dll" library. Pnet has it's own +"System.Xml.dll" but you may prefer using library built from mono sources. + +We build and install library "System.XmlMono.dll" by default. You can use this +library in your program by referencing "System.XmlMono.dll" instead of +"System.Xml.dll". + +If you wish to replace pnet's "System.Xml.dll" system-wide do: + +# ilgac --install --force class/System.XML/System.Xml.dll + +There is also plan to replace System.Xml.dll in pnet with this mono +implementation. In this case we still use ml-pnet for updating System.Xml in +pnetlib, because ml-pnet has infrastructure to build autogenerated .cs files. diff --git a/class/System.XML/System.XmlMono.build b/class/System.XML/System.XmlMono.build new file mode 100644 index 0000000..d3f4953 --- /dev/null +++ b/class/System.XML/System.XmlMono.build @@ -0,0 +1,36 @@ +<?xml version="1.0"?>
+
+<project name="System.XmlMono" default="all">
+ <target name="all">
+ <compile target="library"
+ output="System.XmlMono.dll"
+ debug="${debug.flag}"
+ unsafe="false"
+ install="true"
+ installasdefault="true">
+
+ <sources basedir="${mono.sources}/class/System.XML/">
+ <includes name="**/*.cs"/>
+ <file basedir="./" name="Parser.cs"/>
+ <file basedir="./" name="PatternParser.cs"/>
+ <file basedir="./" name="PatternTokenizer.cs"/>
+ <file basedir="./" name="MonoTODOAttribute.cs"/>
+ <file basedir="./" name="Locale.cs"/>
+ <file basedir="./" name="Consts.cs"/>
+ <excludes name="Test/**"/>
+ <excludes name="System.Xml.Serialization/standalone_tests/**"/>
+ <excludes name="Mono.Xml.Xsl/XslDecimalFormat.jvm.cs"/>
+ </sources>
+
+ <references>
+ <file name="mscorlib.dll"/>
+ <file name="System.dll"/>
+ </references>
+
+ <arg compiler="cscc" value="-fassembly-version=${FRAMEWORK_VERSION}"/>
+ <arg compiler="cscc" value="-fassembly-key=neutral"/>
+ <arg compiler="cscc" value="-Wno-empty-input"/>
+
+ </compile>
+ </target>
+</project>
diff --git a/configure.in b/configure.in index c036d73..b64cf1b 100644 --- a/configure.in +++ b/configure.in @@ -315,6 +315,7 @@ class/Novell.Directory.Ldap/Makefile class/System.DirectoryServices/Makefile class/System.Web/Makefile class/System.Web.Services/Makefile +class/System.XML/Makefile class/System.Runtime.Remoting/Makefile class/Mono.Security/Makefile class/Mono.Security.Win32/Makefile |
