dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Mono Libraries (ml-pnet)


From: Radek Polak
Subject: [dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Mono Libraries (ml-pnet) branch, master, updated. 1ba1e1241c5542a67c389db22dd817ca4a716321
Date: Thu, 25 Jun 2009 08:38:03 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "DotGNU Portable.NET Mono Libraries (ml-pnet)".

The branch, master has been updated
       via  1ba1e1241c5542a67c389db22dd817ca4a716321 (commit)
      from  244228e0a254dae9322035456bdad2e4383f08cf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/ml-pnet.git/commit/?id=1ba1e1241c5542a67c389db22dd817ca4a716321

commit 1ba1e1241c5542a67c389db22dd817ca4a716321
Author: Radek Polak <address@hidden>
Date:   Thu Jun 25 10:29:29 2009 +0200

    Build mono's System.XML
    
    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.

diff --git a/ChangeLog b/ChangeLog
index 0397dab..818198f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-06-25  Radek Polak  <address@hidden>
+
+       *  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  <address@hidden>
 
        * NEWS, configure.in: update version for the "0.8.0" release.
diff --git a/NEWS b/NEWS
index a67134c..618444c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+0.8.2 (25 June 2009)
+
+       * Build System.XML.
 
 0.8.0 (3 March 2007)
 
diff --git a/README b/README
index abadc03..79faf17 100644
--- a/README
+++ b/README
@@ -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, "address@hidden".
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 (address@hidden)
+//   Andreas Nahr (address@hidden)
+//
+// (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 (address@hidden)
+//   Eyal Alaluf <address@hidden> 
+//
+// (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

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |   12 +++
 NEWS                                  |    3 +
 README                                |    4 +-
 class/Makefile.am                     |    1 +
 class/System.XML/Locale.cs            |   51 ++++++++++++++
 class/System.XML/Makefile.am          |   40 +++++++++++
 class/System.XML/MonoTODOAttribute.cs |  120 +++++++++++++++++++++++++++++++++
 class/System.XML/README               |   17 +++++
 class/System.XML/System.XmlMono.build |   36 ++++++++++
 configure.in                          |    1 +
 10 files changed, 284 insertions(+), 1 deletions(-)
 create mode 100644 class/System.XML/Locale.cs
 create mode 100644 class/System.XML/Makefile.am
 create mode 100644 class/System.XML/MonoTODOAttribute.cs
 create mode 100644 class/System.XML/README
 create mode 100644 class/System.XML/System.XmlMono.build


hooks/post-receive
-- 
DotGNU Portable.NET Mono Libraries (ml-pnet)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]