Add System.ServiceModel.Activation assembly. Fixes #14544
authorMarek Safar <marek.safar@gmail.com>
Tue, 10 Sep 2013 08:13:49 +0000 (10:13 +0200)
committerMarek Safar <marek.safar@gmail.com>
Tue, 10 Sep 2013 08:14:50 +0000 (10:14 +0200)
15 files changed:
mcs/build/common/Consts.cs.in
mcs/class/Makefile
mcs/class/System.Data.Services/Makefile
mcs/class/System.Json/Makefile
mcs/class/System.ServiceModel.Activation/Assembly/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/System.ServiceModel.Activation/Makefile [new file with mode: 0644]
mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation.dll.sources [new file with mode: 0644]
mcs/class/System.ServiceModel.Web/Makefile
mcs/class/System.ServiceModel/Assembly/AssemblyInfo.cs
mcs/class/System.ServiceModel/Makefile
mcs/class/System.ServiceModel/System.ServiceModel.Activation/IServiceHostFactory.cs [deleted file]
mcs/class/System.ServiceModel/System.ServiceModel.Activation/ServiceHostFactory.cs
mcs/class/System.ServiceModel/System.ServiceModel.dll.sources
mcs/class/System.ServiceModel/System.ServiceModel/ServiceHostingEnvironment.cs
mono-core.spec.in

index 0728b03dd20451f2416a3aae706818e9d4e0f682..8fd804808591d5966520bf3c6cb4f769d58107e4 100644 (file)
@@ -120,6 +120,7 @@ static class Consts
        public const string AssemblyWindowsBase = "WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
        public const string AssemblyPresentationCore_3_5 = "PresentationCore, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
        public const string AssemblyPresentationFramework_3_5 = "PresentationFramework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
+       public const string AssemblySystemServiceModel_3_0 = "System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
 #elif NET_2_1
        public const string AssemblySystem_Core = "System.Core, Version=" + FxVersion + ", Culture=neutral, PublicKeyToken=b77a5c561934e089";
 #elif NET_2_0
index 414b282411fd98da15d7f7cb7075b4c69d381e0a..91decc95e6c9f4c79ea17bb03be087968f2ed16d 100644 (file)
@@ -106,7 +106,6 @@ net_2_0_dirs := \
        System.Web.Extensions.Design    \
        System.ComponentModel.DataAnnotations   \
        System.Web.DynamicData          \
-       System.ServiceModel.Web         \
        System.Web.Mvc2                 \
        Mono.C5                         \
        Mono.Management                 \
@@ -124,9 +123,10 @@ net_2_0_only_dirs := \
        System.Web.Extensions.Design_1.0        \
        Compat.ICSharpCode.SharpZipLib  \
        WindowsBase                     \
+       System.ServiceModel.Web \
        System.Data.Services.Client     \
        System.Data.Services            \
-       System.Web.Mvc                  
+       System.Web.Mvc \
 
 mobile_dirs := \
        corlib  \
@@ -180,6 +180,8 @@ net_4_0_dirs := \
        System.Windows.Forms.DataVisualization  \
        System.Xaml \
        WindowsBase \
+       System.ServiceModel.Activation \
+       System.ServiceModel \
        System.ServiceModel.Routing \
        System.ServiceModel.Discovery \
        System.Runtime.Caching \
@@ -197,6 +199,7 @@ net_4_0_dirs := \
        System.Reactive.Debugger \
        Microsoft.Web.Infrastructure \
        WebMatrix.Data \
+       System.ServiceModel.Web \
        System.Data.Services.Client     \
        System.Data.Services \
        System.Json.Microsoft \
index fd39977f965b132bb9f794c9989e0a57b7210c40..9027c49e7fa9095ddc277a094188c60b035ceae4 100644 (file)
@@ -12,6 +12,10 @@ LIB_MCS_FLAGS = \
        -r:System.ServiceModel.Web.dll \
        -r:System.Data.Services.Client.dll
 
+ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_MCS_FLAGS += -r:System.ServiceModel.Activation.dll
+endif
+
 TEST_MCS_FLAGS = -r:System.ServiceModel.dll -r:System.Core.dll
 
 include ../../build/library.make
index 906b0bf48f178ac8324ae1a357d887ee160d6007..8ef352d0aff71179429d9f44ac3719c974a61537 100644 (file)
@@ -6,8 +6,7 @@ LIBRARY = System.Json.dll
 LIB_MCS_FLAGS = \
                /r:System.dll \
                /r:System.Xml.dll \
-               /r:System.Core.dll \
-               /r:System.ServiceModel.Web.dll
+               /r:System.Core.dll
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
diff --git a/mcs/class/System.ServiceModel.Activation/Assembly/AssemblyInfo.cs b/mcs/class/System.ServiceModel.Activation/Assembly/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..f47e879
--- /dev/null
@@ -0,0 +1,60 @@
+//
+// AssemblyInfo.cs
+//
+// Authors:
+//     Marek Safar (marek.safar@gmail.com)
+//
+// Copyright 2013 Xamarin Inc (http://www.xamarin.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;
+using System.Reflection;
+using System.Resources;
+using System.Security;
+using System.Security.Permissions;
+using System.Diagnostics;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about the assembly
+
+[assembly: AssemblyTitle ("System.ServiceModel.Activation.dll")]
+[assembly: AssemblyDescription ("System.ServiceModel.Activation.dll")]
+[assembly: AssemblyDefaultAlias ("System.ServiceModel.Activation.dll")]
+
+[assembly: AssemblyCompany (Consts.MonoCompany)]
+[assembly: AssemblyProduct (Consts.MonoProduct)]
+[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyVersion (Consts.FxVersion)]
+[assembly: SatelliteContractVersion (Consts.FxVersion)]
+[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
+[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
+
+[assembly: NeutralResourcesLanguage ("en-US")]
+[assembly: CLSCompliant (true)]
+[assembly: AssemblyDelaySign (true)]
+
+[assembly: AssemblyKeyFile("../winfx.pub")]
+
+[assembly: ComVisible (false)]
+
+[assembly: InternalsVisibleTo ("System.ServiceModel, PublicKey=00000000000000000400000000000000")]
diff --git a/mcs/class/System.ServiceModel.Activation/Makefile b/mcs/class/System.ServiceModel.Activation/Makefile
new file mode 100644 (file)
index 0000000..a465c75
--- /dev/null
@@ -0,0 +1,11 @@
+thisdir = class/System.ServiceModel.Activation
+SUBDIRS = 
+include ../../build/rules.make
+
+LIBRARY = System.ServiceModel.Activation.dll
+
+LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.ServiceModel.dll
+
+TEST_MCS_FLAGS = -r:System.dll -r:System.Core.dll
+
+include ../../build/library.make
diff --git a/mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation.dll.sources b/mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation.dll.sources
new file mode 100644 (file)
index 0000000..1d17a9e
--- /dev/null
@@ -0,0 +1,6 @@
+../../build/common/Consts.cs
+../../build/common/MonoTODOAttribute.cs
+Assembly/AssemblyInfo.cs
+
+../System.ServiceModel/System.ServiceModel/ServiceHostingEnvironment.cs
+../System.ServiceModel/System.ServiceModel.Activation/ServiceHostFactory.cs
index 97c88830976542ee11ec081e577b11c4366d5d9a..4db6ae805b3a07ad81884797fc95a1a147169a55 100644 (file)
@@ -11,6 +11,10 @@ LIB_MCS_FLAGS += -d:NET_3_5 -d:NET_3_0       \
                        -r:System.Web.Extensions.dll
 endif
 
+ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_MCS_FLAGS += -r:System.ServiceModel.Activation.dll
+endif
+
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = $(RESOURCE_FILES) \
index 923e60cc22dbfcd5576a454ccef06e09784d3e98..daa5ae121d1b65ece1c66920ec84fc3965aaca0d 100644 (file)
@@ -38,7 +38,6 @@ using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about the System.ServiceModel assembly
-// v3.0 Assembly
 
 [assembly: AssemblyTitle ("System.ServiceModel.dll")]
 [assembly: AssemblyDescription ("System.ServiceModel.dll")]
@@ -76,3 +75,11 @@ using System.Runtime.InteropServices;
 [assembly: InternalsVisibleTo ("System.ServiceModel.Discovery, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] // AnnouncementChannelEndpointElementCollection requires it.
 #endif
 
+#if NET_4_0 && HAS_ACTIVATION
+
+[assembly: TypeForwardedTo (typeof (System.ServiceModel.ServiceHostingEnvironment))]
+[assembly: TypeForwardedTo (typeof (System.ServiceModel.Activation.ServiceHostFactory))]
+
+#endif
+
+
index 1aaf90fae44cf7210f605f6816acee19aeaa6187..fd9d297b95acc80c5e237d74ce71e7335c54caa4 100755 (executable)
@@ -7,6 +7,8 @@ RESOURCE_FILES = \
        resources/ws-addr.xsd
 
 LIBRARY = System.ServiceModel.dll
+LIBRARY_USE_INTERMEDIATE_FILE = yes
+
 LIB_MCS_FLAGS = \
                /nowarn:414,169,67,3005,436,219,618 \
                /unsafe \
@@ -31,12 +33,31 @@ LIB_MCS_FLAGS += /d:NET_3_0         \
                        /r:Mono.Security.dll
 endif
 
-ifeq (moonlight_raw, $(PROFILE))
-LIB_MCS_FLAGS += /r:System.Net
+ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+
+ACTIVATION_DEP := System.ServiceModel.Activation.dll
+ACTIVATION_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(ACTIVATION_DEP))
+CYCLIC_DEPS += $(ACTIVATION_DEP)
+CYCLIC_DEP_FILES += $(ACTIVATION_DEP_FILE)
+
+ifdef ACTIVATION_DEP_FILE
+LIB_MCS_FLAGS += -define:HAS_ACTIVATION -r:$(ACTIVATION_DEP)
 endif
 
-ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
 LIB_MCS_FLAGS += /r:System.Web.ApplicationServices.dll
+
+ifneq ($(CYCLIC_DEPS:%=../lib/$(PROFILE)/%), $(CYCLIC_DEP_FILES))
+NO_SIGN_ASSEMBLY = yes
+NO_INSTALL = yes
+all-local: echo-warning
+.PHONY: echo-warning
+
+ifeq   (, $(strip $(CYCLIC_DEP_FILES)))
+echo-warning:
+       @echo "** Warning: System.ServiceModel.dll built without parts that depend on: $(CYCLIC_DEPS)"
+endif
+endif
+
 endif
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
@@ -64,6 +85,8 @@ NO_SIGN_ASSEMBLY = yes
 NO_TEST = yes
 endif
 
-
-
 include ../../build/library.make
+
+ifdef ACTIVATION_DEP_FILE
+$(build_lib): $(CYCLIC_DEP_FILES)
+endif
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Activation/IServiceHostFactory.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Activation/IServiceHostFactory.cs
deleted file mode 100644 (file)
index e16bc10..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// IServiceHostFactory.cs
-//
-// Author: Atsushi Enomoto (atsushi@ximian.com)
-//
-// Copyright (C) 2006 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;
-using System.ServiceModel.Channels;
-
-namespace System.ServiceModel.Activation
-{
-       public interface IServiceHostFactory
-       {
-               ServiceHostBase CreateServiceHost (string constructorString,
-                       Uri [] baseAddresses);
-       }
-}
index b14abe885b46e5c57f2d40c04c4a44e05f0a48e4..126221fc4a166fff89c6f09f36b6d5251e1bd9c8 100644 (file)
 // 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;
-using System.ServiceModel;
+
+#if !HAS_ACTIVATION
 
 namespace System.ServiceModel.Activation
 {
+#if NET_4_0
+       [System.Runtime.CompilerServices.TypeForwardedFrom (Consts.AssemblySystemServiceModel_3_0)]
+#endif
        public class ServiceHostFactory : ServiceHostFactoryBase
        {
                [MonoTODO]
@@ -47,3 +50,5 @@ namespace System.ServiceModel.Activation
                }
        }
 }
+
+#endif
\ No newline at end of file
index 8baeb0a5ecd78d93bf64076f6ee7b9a560535503..7a5148018b5d18f43ae88a5626ee978f0caa5b6b 100644 (file)
@@ -130,7 +130,6 @@ System.Collections.Generic/SynchronizedKeyedCollection.cs
 System.Collections.Generic/SynchronizedReadOnlyCollection.cs
 System.IO/PipeException.cs
 System.ServiceModel.Activation/AspNetIntegrationRequirementsAttribute.cs
-System.ServiceModel.Activation/IServiceHostFactory.cs
 System.ServiceModel.Activation/ServiceHostFactory.cs
 System.ServiceModel.Activation/ServiceHostFactoryBase.cs
 System.ServiceModel.Activation/VirtualPathExtension.cs
index c0082788b29e1ed67367d4b2edceef95a988852c..e22e9a7c708789074f7f181fb838f065b50fad01 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+#if !HAS_ACTIVATION
+
 namespace System.ServiceModel {
 
+#if NET_4_0
+       [System.Runtime.CompilerServices.TypeForwardedFrom (Consts.AssemblySystemServiceModel_3_0)]
+#endif
        public static class ServiceHostingEnvironment
        {
                internal static bool InAspNet { get; set; }
@@ -39,3 +44,5 @@ namespace System.ServiceModel {
                }
        }
 }
+
+#endif
\ No newline at end of file
index 58ba773a1107e959264f9ea21d2428184ed2b2dc..455e0e5c51d4c2b1d929159d153e1603bd8eeb82 100644 (file)
@@ -826,6 +826,7 @@ Mono implementation of WCF, Windows Communication Foundation
 %_prefix/lib/mono/4.0/System.IdentityModel.Selectors.dll
 %_prefix/lib/mono/4.0/System.IdentityModel.dll
 %_prefix/lib/mono/4.0/System.Runtime.DurableInstancing.dll
+%_prefix/lib/mono/4.0/System.ServiceModel.Activation.dll
 %_prefix/lib/mono/4.0/System.ServiceModel.Discovery.dll
 %_prefix/lib/mono/4.0/System.ServiceModel.Routing.dll
 %_prefix/lib/mono/4.0/System.ServiceModel.Web.dll
@@ -834,6 +835,7 @@ Mono implementation of WCF, Windows Communication Foundation
 %_prefix/lib/mono/4.5/System.IdentityModel.Selectors.dll
 %_prefix/lib/mono/4.5/System.IdentityModel.dll
 %_prefix/lib/mono/4.5/System.Runtime.DurableInstancing.dll
+%_prefix/lib/mono/4.5/System.ServiceModel.Activation.dll
 %_prefix/lib/mono/4.5/System.ServiceModel.Discovery.dll
 %_prefix/lib/mono/4.5/System.ServiceModel.Routing.dll
 %_prefix/lib/mono/4.5/System.ServiceModel.Web.dll
@@ -844,6 +846,7 @@ Mono implementation of WCF, Windows Communication Foundation
 %_prefix/lib/mono/gac/System.IdentityModel.Selectors
 %_prefix/lib/mono/gac/System.Runtime.DurableInstancing
 %_prefix/lib/mono/gac/System.ServiceModel
+%_prefix/lib/mono/gac/System.ServiceModel.Activation
 %_prefix/lib/mono/gac/System.ServiceModel.Discovery
 %_prefix/lib/mono/gac/System.ServiceModel.Routing
 %_prefix/lib/mono/gac/System.ServiceModel.Web