diff options
58 files changed, 1719 insertions, 1391 deletions
diff --git a/eglib/src/gunicode.c b/eglib/src/gunicode.c index c3a9000f8d2..e6f4b925b61 100644 --- a/eglib/src/gunicode.c +++ b/eglib/src/gunicode.c @@ -219,10 +219,10 @@ g_get_charset (G_CONST_RETURN char **charset) is_utf8 = FALSE; #else /* These shouldn't be heap allocated */ -#if HAVE_LOCALCHARSET_H - my_charset = locale_charset (); -#elif defined(HAVE_LANGINFO_H) +#if defined(HAVE_LANGINFO_H) my_charset = nl_langinfo (CODESET); +#elif defined(HAVE_LOCALCHARSET_H) + my_charset = locale_charset (); #else my_charset = "UTF-8"; #endif diff --git a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs index f88defeaff5..8d4c63c6564 100644 --- a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs +++ b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs @@ -118,6 +118,7 @@ namespace MonoTests.Mono.Unix { } [Test] + [Category ("AndroidNotWorking")] // Crashes (silently) the runtime in similar fashion to real-time signals public void TestSignumProperty () { UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV); diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs b/mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs index 354d4c8b410..c46742bd18d 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs @@ -456,14 +456,31 @@ namespace System.ServiceModel.MonoInternal if (parameters == null) throw new ArgumentNullException ("parameters"); + var pi = method.GetParameters (); + var countInParams = 0; + for (int i = 0; i < pi.Length; i++) { + if (pi [i].IsIn) + countInParams++; + } + + if (parameters.Length != countInParams) + throw new InvalidOperationException (); + object[] p = parameters; var retval = _processDelegate.EndInvoke (ref p, result); if (p == parameters) return retval; - if (p.Length != parameters.Length) + int pos = 0; + for (int i = 0; i < pi.Length; i++) { + if (!pi [i].IsOut && !pi [i].ParameterType.IsByRef) + continue; + parameters [i] = p [pos++]; + } + + if (pos != p.Length) throw new InvalidOperationException (); - Array.Copy (p, parameters, p.Length); + return retval; } diff --git a/mcs/class/System.ServiceModel/System.ServiceModel_test.dll.sources b/mcs/class/System.ServiceModel/System.ServiceModel_test.dll.sources index deb325709e5..0cde2c9bdec 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel_test.dll.sources +++ b/mcs/class/System.ServiceModel/System.ServiceModel_test.dll.sources @@ -128,6 +128,7 @@ System.ServiceModel.Description/WsdlImporterTest.cs System.ServiceModel.Dispatcher/ActionFilterTest.cs System.ServiceModel.Dispatcher/Bug652331Test.cs System.ServiceModel.Dispatcher/Bug652331_2Test.cs +System.ServiceModel.Dispatcher/Bug32886Test.cs System.ServiceModel.Dispatcher/ChannelDispatcherTest.cs System.ServiceModel.Dispatcher/DispatchOperationTest.cs System.ServiceModel.Dispatcher/DispatchRuntimeTest.cs diff --git a/mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs b/mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs new file mode 100644 index 00000000000..1562ba1ba9b --- /dev/null +++ b/mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs @@ -0,0 +1,706 @@ +// +// Author: +// Martin Baulig <martin.baulig@xamarin.com> +// +// Copyright (c) 2015 Xamarin, Inc. +// +// 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.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.ServiceModel; +using System.ServiceModel.Description; +using System.Threading; +using NUnit.Framework; + +using WebServiceMoonlightTest.ServiceReference1; + +using MonoTests.Helpers; + +namespace MonoTests.System.ServiceModel.Dispatcher +{ + [TestFixture] + public class Bug32886 + { + [Test] + public void Bug32886_Test () // test in one of the comment + { + // Init service + int port = NetworkHelpers.FindFreePort (); + ServiceHost serviceHost = new ServiceHost (typeof (TempConvertSoapImpl), new Uri ("http://localhost:" + port + "/TempConvertSoap")); + serviceHost.AddServiceEndpoint (typeof (TempConvertSoap), new BasicHttpBinding (), string.Empty); + + // Enable metadata exchange (WSDL publishing) + var mexBehavior = new ServiceMetadataBehavior (); + mexBehavior.HttpGetEnabled = true; + serviceHost.Description.Behaviors.Add (mexBehavior); + serviceHost.AddServiceEndpoint (typeof (IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding (), "mex"); + + serviceHost.Open (); + + try { + // client + var binding = new BasicHttpBinding (); + var remoteAddress = new EndpointAddress ("http://localhost:" + port + "/TempConvertSoap"); + var client = new TempConvertSoapClient (binding, remoteAddress); + + var wait = new ManualResetEvent (false); + client.CelsiusToFahrenheitCompleted += delegate (object o, CelsiusToFahrenheitCompletedEventArgs e) { + if (e.Error != null) + throw e.Error; + Assert.AreEqual ("76.1", e.Result, "#1"); + wait.Set (); + }; + + client.CelsiusToFahrenheitAsync ("24.5"); + if (!wait.WaitOne (TimeSpan.FromSeconds (20))) + Assert.Fail ("timeout"); + } finally { + serviceHost.Close (); + } + } + + class TempConvertSoapImpl : TempConvertSoap + { + public FahrenheitToCelsiusResponse FarenheitToCelsius (FahrenheitToCelsiusRequest request) + { + var farenheit = double.Parse (request.Body.Fahrenheit); + var celsius = ((farenheit - 32) / 9) * 5; + return new FahrenheitToCelsiusResponse (new FahrenheitToCelsiusResponseBody (celsius.ToString ())); + } + + public CelsiusToFahrenheitResponse CelsiusToFarenheit (CelsiusToFahrenheitRequest request) + { + var celsius = double.Parse (request.Body.Celsius); + var farenheit = ((celsius * 9) / 5) + 32; + return new CelsiusToFahrenheitResponse (new CelsiusToFahrenheitResponseBody (farenheit.ToString ())); + } + + Func<FahrenheitToCelsiusRequest,FahrenheitToCelsiusResponse> farenheitToCelsius; + Func<CelsiusToFahrenheitRequest,CelsiusToFahrenheitResponse> celsiusToFarenheit; + + public IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, AsyncCallback callback, object asyncState) + { + if (farenheitToCelsius == null) + farenheitToCelsius = new Func<FahrenheitToCelsiusRequest,FahrenheitToCelsiusResponse> (FarenheitToCelsius); + return farenheitToCelsius.BeginInvoke (request, callback, asyncState); + } + + public FahrenheitToCelsiusResponse EndFahrenheitToCelsius (IAsyncResult result) + { + return farenheitToCelsius.EndInvoke (result); + } + + public IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, AsyncCallback callback, object asyncState) + { + if (celsiusToFarenheit == null) + celsiusToFarenheit = new Func<CelsiusToFahrenheitRequest,CelsiusToFahrenheitResponse> (CelsiusToFarenheit); + return celsiusToFarenheit.BeginInvoke (request, callback, asyncState); + } + + public CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (IAsyncResult result) + { + return celsiusToFarenheit.EndInvoke (result); + } + } + } +} + +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.34003 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +// +// This code was auto-generated by SlSvcUtil, version 5.0.61118.0 +// + + +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ServiceModel.ServiceContractAttribute (Namespace = "http://www.w3schools.com/webservices/", ConfigurationName = "TempConvertSoap")] +public interface TempConvertSoap +{ + + [System.ServiceModel.OperationContractAttribute (AsyncPattern = true, Action = "http://www.w3schools.com/webservices/FahrenheitToCelsius", ReplyAction = "*")] + System.IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState); + + FahrenheitToCelsiusResponse EndFahrenheitToCelsius (System.IAsyncResult result); + + [System.ServiceModel.OperationContractAttribute (AsyncPattern = true, Action = "http://www.w3schools.com/webservices/CelsiusToFahrenheit", ReplyAction = "*")] + System.IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState); + + CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (System.IAsyncResult result); +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.ServiceModel.MessageContractAttribute (IsWrapped = false)] +public partial class FahrenheitToCelsiusRequest +{ + + [System.ServiceModel.MessageBodyMemberAttribute (Name = "FahrenheitToCelsius", Namespace = "http://www.w3schools.com/webservices/", Order = 0)] + public FahrenheitToCelsiusRequestBody Body; + + public FahrenheitToCelsiusRequest () + { + } + + public FahrenheitToCelsiusRequest (FahrenheitToCelsiusRequestBody Body) + { + this.Body = Body; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")] +public partial class FahrenheitToCelsiusRequestBody +{ + + [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)] + public string Fahrenheit; + + public FahrenheitToCelsiusRequestBody () + { + } + + public FahrenheitToCelsiusRequestBody (string Fahrenheit) + { + this.Fahrenheit = Fahrenheit; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.ServiceModel.MessageContractAttribute (IsWrapped = false)] +public partial class FahrenheitToCelsiusResponse +{ + + [System.ServiceModel.MessageBodyMemberAttribute (Name = "FahrenheitToCelsiusResponse", Namespace = "http://www.w3schools.com/webservices/", Order = 0)] + public FahrenheitToCelsiusResponseBody Body; + + public FahrenheitToCelsiusResponse () + { + } + + public FahrenheitToCelsiusResponse (FahrenheitToCelsiusResponseBody Body) + { + this.Body = Body; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")] +public partial class FahrenheitToCelsiusResponseBody +{ + + [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)] + public string FahrenheitToCelsiusResult; + + public FahrenheitToCelsiusResponseBody () + { + } + + public FahrenheitToCelsiusResponseBody (string FahrenheitToCelsiusResult) + { + this.FahrenheitToCelsiusResult = FahrenheitToCelsiusResult; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.ServiceModel.MessageContractAttribute (IsWrapped = false)] +public partial class CelsiusToFahrenheitRequest +{ + + [System.ServiceModel.MessageBodyMemberAttribute (Name = "CelsiusToFahrenheit", Namespace = "http://www.w3schools.com/webservices/", Order = 0)] + public CelsiusToFahrenheitRequestBody Body; + + public CelsiusToFahrenheitRequest () + { + } + + public CelsiusToFahrenheitRequest (CelsiusToFahrenheitRequestBody Body) + { + this.Body = Body; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")] +public partial class CelsiusToFahrenheitRequestBody +{ + + [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)] + public string Celsius; + + public CelsiusToFahrenheitRequestBody () + { + } + + public CelsiusToFahrenheitRequestBody (string Celsius) + { + this.Celsius = Celsius; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.ServiceModel.MessageContractAttribute (IsWrapped = false)] +public partial class CelsiusToFahrenheitResponse +{ + + [System.ServiceModel.MessageBodyMemberAttribute (Name = "CelsiusToFahrenheitResponse", Namespace = "http://www.w3schools.com/webservices/", Order = 0)] + public CelsiusToFahrenheitResponseBody Body; + + public CelsiusToFahrenheitResponse () + { + } + + public CelsiusToFahrenheitResponse (CelsiusToFahrenheitResponseBody Body) + { + this.Body = Body; + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] +[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")] +public partial class CelsiusToFahrenheitResponseBody +{ + + [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)] + public string CelsiusToFahrenheitResult; + + public CelsiusToFahrenheitResponseBody () + { + } + + public CelsiusToFahrenheitResponseBody (string CelsiusToFahrenheitResult) + { + this.CelsiusToFahrenheitResult = CelsiusToFahrenheitResult; + } +} + +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +public interface TempConvertSoapChannel : TempConvertSoap, System.ServiceModel.IClientChannel +{ +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +public partial class FahrenheitToCelsiusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs +{ + + private object[] results; + + public FahrenheitToCelsiusCompletedEventArgs (object[] results, System.Exception exception, bool cancelled, object userState) : + base (exception, cancelled, userState) + { + this.results = results; + } + + public string Result { + get { + base.RaiseExceptionIfNecessary (); + return ((string)(this.results [0])); + } + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +public partial class CelsiusToFahrenheitCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs +{ + + private object[] results; + + public CelsiusToFahrenheitCompletedEventArgs (object[] results, System.Exception exception, bool cancelled, object userState) : + base (exception, cancelled, userState) + { + this.results = results; + } + + public string Result { + get { + base.RaiseExceptionIfNecessary (); + return ((string)(this.results [0])); + } + } +} + +[System.Diagnostics.DebuggerStepThroughAttribute ()] +[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")] +public partial class TempConvertSoapClient : System.ServiceModel.ClientBase<TempConvertSoap>, TempConvertSoap +{ + + private BeginOperationDelegate onBeginFahrenheitToCelsiusDelegate; + + private EndOperationDelegate onEndFahrenheitToCelsiusDelegate; + + private System.Threading.SendOrPostCallback onFahrenheitToCelsiusCompletedDelegate; + + private BeginOperationDelegate onBeginCelsiusToFahrenheitDelegate; + + private EndOperationDelegate onEndCelsiusToFahrenheitDelegate; + + private System.Threading.SendOrPostCallback onCelsiusToFahrenheitCompletedDelegate; + + private BeginOperationDelegate onBeginOpenDelegate; + + private EndOperationDelegate onEndOpenDelegate; + + private System.Threading.SendOrPostCallback onOpenCompletedDelegate; + + private BeginOperationDelegate onBeginCloseDelegate; + + private EndOperationDelegate onEndCloseDelegate; + + private System.Threading.SendOrPostCallback onCloseCompletedDelegate; + + public TempConvertSoapClient () + { + } + + public TempConvertSoapClient (string endpointConfigurationName) : + base (endpointConfigurationName) + { + } + + public TempConvertSoapClient (string endpointConfigurationName, string remoteAddress) : + base (endpointConfigurationName, remoteAddress) + { + } + + public TempConvertSoapClient (string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base (endpointConfigurationName, remoteAddress) + { + } + + public TempConvertSoapClient (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base (binding, remoteAddress) + { + } + + public System.Net.CookieContainer CookieContainer { + get { + System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager> (); + if ((httpCookieContainerManager != null)) { + return httpCookieContainerManager.CookieContainer; + } else { + return null; + } + } + set { + System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager> (); + if ((httpCookieContainerManager != null)) { + httpCookieContainerManager.CookieContainer = value; + } else { + throw new System.InvalidOperationException ("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" + + "ookieContainerBindingElement."); + } + } + } + + public event System.EventHandler<FahrenheitToCelsiusCompletedEventArgs> FahrenheitToCelsiusCompleted; + + public event System.EventHandler<CelsiusToFahrenheitCompletedEventArgs> CelsiusToFahrenheitCompleted; + + public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted; + + public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted; + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + System.IAsyncResult TempConvertSoap.BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState) + { + return base.Channel.BeginFahrenheitToCelsius (request, callback, asyncState); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + private System.IAsyncResult BeginFahrenheitToCelsius (string Fahrenheit, System.AsyncCallback callback, object asyncState) + { + FahrenheitToCelsiusRequest inValue = new FahrenheitToCelsiusRequest (); + inValue.Body = new FahrenheitToCelsiusRequestBody (); + inValue.Body.Fahrenheit = Fahrenheit; + return ((TempConvertSoap)(this)).BeginFahrenheitToCelsius (inValue, callback, asyncState); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + FahrenheitToCelsiusResponse TempConvertSoap.EndFahrenheitToCelsius (System.IAsyncResult result) + { + return base.Channel.EndFahrenheitToCelsius (result); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + private string EndFahrenheitToCelsius (System.IAsyncResult result) + { + FahrenheitToCelsiusResponse retVal = ((TempConvertSoap)(this)).EndFahrenheitToCelsius (result); + return retVal.Body.FahrenheitToCelsiusResult; + } + + private System.IAsyncResult OnBeginFahrenheitToCelsius (object[] inValues, System.AsyncCallback callback, object asyncState) + { + string Fahrenheit = ((string)(inValues [0])); + return this.BeginFahrenheitToCelsius (Fahrenheit, callback, asyncState); + } + + private object[] OnEndFahrenheitToCelsius (System.IAsyncResult result) + { + string retVal = this.EndFahrenheitToCelsius (result); + return new object[] { + retVal + }; + } + + private void OnFahrenheitToCelsiusCompleted (object state) + { + if ((this.FahrenheitToCelsiusCompleted != null)) { + InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state)); + this.FahrenheitToCelsiusCompleted (this, new FahrenheitToCelsiusCompletedEventArgs (e.Results, e.Error, e.Cancelled, e.UserState)); + } + } + + public void FahrenheitToCelsiusAsync (string Fahrenheit) + { + this.FahrenheitToCelsiusAsync (Fahrenheit, null); + } + + public void FahrenheitToCelsiusAsync (string Fahrenheit, object userState) + { + if ((this.onBeginFahrenheitToCelsiusDelegate == null)) { + this.onBeginFahrenheitToCelsiusDelegate = new BeginOperationDelegate (this.OnBeginFahrenheitToCelsius); + } + if ((this.onEndFahrenheitToCelsiusDelegate == null)) { + this.onEndFahrenheitToCelsiusDelegate = new EndOperationDelegate (this.OnEndFahrenheitToCelsius); + } + if ((this.onFahrenheitToCelsiusCompletedDelegate == null)) { + this.onFahrenheitToCelsiusCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnFahrenheitToCelsiusCompleted); + } + base.InvokeAsync (this.onBeginFahrenheitToCelsiusDelegate, new object[] { + Fahrenheit + }, this.onEndFahrenheitToCelsiusDelegate, this.onFahrenheitToCelsiusCompletedDelegate, userState); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + System.IAsyncResult TempConvertSoap.BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState) + { + return base.Channel.BeginCelsiusToFahrenheit (request, callback, asyncState); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + private System.IAsyncResult BeginCelsiusToFahrenheit (string Celsius, System.AsyncCallback callback, object asyncState) + { + CelsiusToFahrenheitRequest inValue = new CelsiusToFahrenheitRequest (); + inValue.Body = new CelsiusToFahrenheitRequestBody (); + inValue.Body.Celsius = Celsius; + return ((TempConvertSoap)(this)).BeginCelsiusToFahrenheit (inValue, callback, asyncState); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + CelsiusToFahrenheitResponse TempConvertSoap.EndCelsiusToFahrenheit (System.IAsyncResult result) + { + return base.Channel.EndCelsiusToFahrenheit (result); + } + + [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)] + private string EndCelsiusToFahrenheit (System.IAsyncResult result) + { + CelsiusToFahrenheitResponse retVal = ((TempConvertSoap)(this)).EndCelsiusToFahrenheit (result); + return retVal.Body.CelsiusToFahrenheitResult; + } + + private System.IAsyncResult OnBeginCelsiusToFahrenheit (object[] inValues, System.AsyncCallback callback, object asyncState) + { + string Celsius = ((string)(inValues [0])); + return this.BeginCelsiusToFahrenheit (Celsius, callback, asyncState); + } + + private object[] OnEndCelsiusToFahrenheit (System.IAsyncResult result) + { + string retVal = this.EndCelsiusToFahrenheit (result); + return new object[] { + retVal + }; + } + + private void OnCelsiusToFahrenheitCompleted (object state) + { + if ((this.CelsiusToFahrenheitCompleted != null)) { + InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state)); + this.CelsiusToFahrenheitCompleted (this, new CelsiusToFahrenheitCompletedEventArgs (e.Results, e.Error, e.Cancelled, e.UserState)); + } + } + + public void CelsiusToFahrenheitAsync (string Celsius) + { + this.CelsiusToFahrenheitAsync (Celsius, null); + } + + public void CelsiusToFahrenheitAsync (string Celsius, object userState) + { + if ((this.onBeginCelsiusToFahrenheitDelegate == null)) { + this.onBeginCelsiusToFahrenheitDelegate = new BeginOperationDelegate (this.OnBeginCelsiusToFahrenheit); + } + if ((this.onEndCelsiusToFahrenheitDelegate == null)) { + this.onEndCelsiusToFahrenheitDelegate = new EndOperationDelegate (this.OnEndCelsiusToFahrenheit); + } + if ((this.onCelsiusToFahrenheitCompletedDelegate == null)) { + this.onCelsiusToFahrenheitCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnCelsiusToFahrenheitCompleted); + } + base.InvokeAsync (this.onBeginCelsiusToFahrenheitDelegate, new object[] { + Celsius + }, this.onEndCelsiusToFahrenheitDelegate, this.onCelsiusToFahrenheitCompletedDelegate, userState); + } + + private System.IAsyncResult OnBeginOpen (object[] inValues, System.AsyncCallback callback, object asyncState) + { + return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen (callback, asyncState); + } + + private object[] OnEndOpen (System.IAsyncResult result) + { + ((System.ServiceModel.ICommunicationObject)(this)).EndOpen (result); + return null; + } + + private void OnOpenCompleted (object state) + { + if ((this.OpenCompleted != null)) { + InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state)); + this.OpenCompleted (this, new System.ComponentModel.AsyncCompletedEventArgs (e.Error, e.Cancelled, e.UserState)); + } + } + + public void OpenAsync () + { + this.OpenAsync (null); + } + + public void OpenAsync (object userState) + { + if ((this.onBeginOpenDelegate == null)) { + this.onBeginOpenDelegate = new BeginOperationDelegate (this.OnBeginOpen); + } + if ((this.onEndOpenDelegate == null)) { + this.onEndOpenDelegate = new EndOperationDelegate (this.OnEndOpen); + } + if ((this.onOpenCompletedDelegate == null)) { + this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnOpenCompleted); + } + base.InvokeAsync (this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState); + } + + private System.IAsyncResult OnBeginClose (object[] inValues, System.AsyncCallback callback, object asyncState) + { + return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose (callback, asyncState); + } + + private object[] OnEndClose (System.IAsyncResult result) + { + ((System.ServiceModel.ICommunicationObject)(this)).EndClose (result); + return null; + } + + private void OnCloseCompleted (object state) + { + if ((this.CloseCompleted != null)) { + InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state)); + this.CloseCompleted (this, new System.ComponentModel.AsyncCompletedEventArgs (e.Error, e.Cancelled, e.UserState)); + } + } + + public void CloseAsync () + { + this.CloseAsync (null); + } + + public void CloseAsync (object userState) + { + if ((this.onBeginCloseDelegate == null)) { + this.onBeginCloseDelegate = new BeginOperationDelegate (this.OnBeginClose); + } + if ((this.onEndCloseDelegate == null)) { + this.onEndCloseDelegate = new EndOperationDelegate (this.OnEndClose); + } + if ((this.onCloseCompletedDelegate == null)) { + this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnCloseCompleted); + } + base.InvokeAsync (this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState); + } + + protected override TempConvertSoap CreateChannel () + { + return new TempConvertSoapClientChannel (this); + } + + private class TempConvertSoapClientChannel : ChannelBase<TempConvertSoap>, TempConvertSoap + { + + public TempConvertSoapClientChannel (System.ServiceModel.ClientBase<TempConvertSoap> client) : + base (client) + { + } + + public System.IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState) + { + object[] _args = new object[1]; + _args [0] = request; + System.IAsyncResult _result = base.BeginInvoke ("FahrenheitToCelsius", _args, callback, asyncState); + return _result; + } + + public FahrenheitToCelsiusResponse EndFahrenheitToCelsius (System.IAsyncResult result) + { + object[] _args = new object[0]; + FahrenheitToCelsiusResponse _result = ((FahrenheitToCelsiusResponse)(base.EndInvoke ("FahrenheitToCelsius", _args, result))); + return _result; + } + + public System.IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState) + { + object[] _args = new object[1]; + _args [0] = request; + System.IAsyncResult _result = base.BeginInvoke ("CelsiusToFahrenheit", _args, callback, asyncState); + return _result; + } + + public CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (System.IAsyncResult result) + { + object[] _args = new object[0]; + CelsiusToFahrenheitResponse _result = ((CelsiusToFahrenheitResponse)(base.EndInvoke ("CelsiusToFahrenheit", _args, result))); + return _result; + } + } +} diff --git a/mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs b/mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs index 7422a1f2695..715c748d1f5 100644 --- a/mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs +++ b/mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs @@ -48,7 +48,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void ServerHandshakeReturnCrapStatusCodeTest () { // On purpose, @@ -65,7 +65,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void ServerHandshakeReturnWrongUpgradeHeader () { #pragma warning disable 4014 @@ -84,7 +84,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void ServerHandshakeReturnWrongConnectionHeader () { #pragma warning disable 4014 @@ -105,7 +105,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // The test hangs when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // The test hangs when ran as part of the entire BCL test suite. Works when only this fixture is ran public void EchoTest () { const string Payload = "This is a websocket test"; @@ -130,7 +130,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void CloseOutputAsyncTest () { Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000)); @@ -147,7 +147,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void CloseAsyncTest () { Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000)); @@ -164,7 +164,7 @@ namespace MonoTests.System.Net.WebSockets } [Test, ExpectedException (typeof (ArgumentNullException))] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void SendAsyncArgTest_NoArray () { Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000)); @@ -178,7 +178,7 @@ namespace MonoTests.System.Net.WebSockets } [Test, ExpectedException (typeof (ArgumentNullException))] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void ReceiveAsyncArgTest_NoArray () { Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000)); @@ -186,7 +186,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void ReceiveAsyncWrongState_Closed () { try { @@ -201,7 +201,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void SendAsyncWrongState_Closed () { try { @@ -216,7 +216,7 @@ namespace MonoTests.System.Net.WebSockets } [Test] - [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran + [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran public void SendAsyncWrongState_CloseSent () { try { diff --git a/mcs/class/WindowsBase/System.IO.Packaging/PackagePart.cs b/mcs/class/WindowsBase/System.IO.Packaging/PackagePart.cs index d6586ab4d5e..06546720d6c 100644 --- a/mcs/class/WindowsBase/System.IO.Packaging/PackagePart.cs +++ b/mcs/class/WindowsBase/System.IO.Packaging/PackagePart.cs @@ -125,7 +125,8 @@ namespace System.IO.Packaging { private PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id, bool loading) { - Package.CheckIsReadOnly (); + if (!loading) + Package.CheckIsReadOnly (); Check.TargetUri (targetUri); Check.RelationshipTypeIsValid (relationshipType); Check.IdIsValid (id); diff --git a/mcs/class/WindowsBase/Test/System.IO.Packaging/PackagePartTest.cs b/mcs/class/WindowsBase/Test/System.IO.Packaging/PackagePartTest.cs index ad7eb968c3a..06ed852c52b 100644 --- a/mcs/class/WindowsBase/Test/System.IO.Packaging/PackagePartTest.cs +++ b/mcs/class/WindowsBase/Test/System.IO.Packaging/PackagePartTest.cs @@ -369,5 +369,19 @@ namespace MonoTests.System.IO.Packaging { {
Assert.IsFalse (package.PartExists(new Uri ("[Content_Types].xml", UriKind.Relative)));
}
+
+ [Test]
+ public void CheckCanGetRelationshipsIfReadOnly ()
+ {
+ using (var stream = new MemoryStream ()) {
+ var package = Package.Open (stream, FileMode.OpenOrCreate);
+ var part = package.CreatePart (uris [0], contentType);
+ part.CreateRelationship (part.Uri, TargetMode.Internal, "self");
+ package.Close ();
+ package = Package.Open (new MemoryStream (stream.ToArray ()), FileMode.Open, FileAccess.Read);
+ part = package.GetPart (uris [0]);
+ part.GetRelationships ();
+ }
+ }
}
}
diff --git a/mcs/class/corlib/System.Diagnostics/StackTrace.cs b/mcs/class/corlib/System.Diagnostics/StackTrace.cs index 3e775808fdc..721c38ef786 100644 --- a/mcs/class/corlib/System.Diagnostics/StackTrace.cs +++ b/mcs/class/corlib/System.Diagnostics/StackTrace.cs @@ -57,6 +57,7 @@ namespace System.Diagnostics { public const int METHODS_TO_SKIP = 0; private StackFrame[] frames; + readonly StackTrace[] captured_traces; private bool debug_info; public StackTrace () @@ -148,6 +149,8 @@ namespace System.Diagnostics { frames = l.ToArray (); } } + + captured_traces = e.captured_traces; } public StackTrace (StackFrame frame) @@ -189,7 +192,7 @@ namespace System.Diagnostics { return frames; } - internal bool AddFrames (StringBuilder sb, bool isException = false) + bool AddFrames (StringBuilder sb, bool isException = false) { bool printOffset; string debugInfo, indentation; @@ -306,6 +309,21 @@ namespace System.Diagnostics { public override string ToString () { StringBuilder sb = new StringBuilder (); + + // + // Add traces captured using ExceptionDispatchInfo + // + if (captured_traces != null) { + foreach (var t in captured_traces) { + if (!t.AddFrames (sb, true)) + continue; + + sb.Append (Environment.NewLine); + sb.Append ("--- End of stack trace from previous location where exception was thrown ---"); + sb.Append (Environment.NewLine); + } + } + AddFrames (sb); return sb.ToString (); } diff --git a/mcs/class/corlib/System/Exception.cs b/mcs/class/corlib/System/Exception.cs index 7670ce338e6..19833f0f854 100644 --- a/mcs/class/corlib/System/Exception.cs +++ b/mcs/class/corlib/System/Exception.cs @@ -199,26 +199,8 @@ namespace System /* Not thrown yet */ return null; - StringBuilder sb = new StringBuilder (); - - // Add traces captured using ExceptionDispatchInfo - if (captured_traces != null) { - foreach (var t in captured_traces) { - if (!t.AddFrames (sb, true)) - continue; - - sb.Append (Environment.NewLine); - sb.Append ("--- End of stack trace from previous location where exception was thrown ---"); - sb.Append (Environment.NewLine); - } - } - StackTrace st = new StackTrace (this, 0, true, true); - st.AddFrames (sb, true); - - stack_trace = sb.ToString (); - - return stack_trace; + return stack_trace = st.ToString (); } } diff --git a/mcs/class/corlib/Test/System.Runtime.ExceptionServices/ExceptionDispatchInfoTest.cs b/mcs/class/corlib/Test/System.Runtime.ExceptionServices/ExceptionDispatchInfoTest.cs index bef832b90c4..9c566b4bafc 100644 --- a/mcs/class/corlib/Test/System.Runtime.ExceptionServices/ExceptionDispatchInfoTest.cs +++ b/mcs/class/corlib/Test/System.Runtime.ExceptionServices/ExceptionDispatchInfoTest.cs @@ -30,6 +30,7 @@ using System; using NUnit.Framework; using System.Runtime.ExceptionServices; using System.Threading.Tasks; +using System.Diagnostics; namespace MonoTests.System.Runtime.ExceptionServices { @@ -150,7 +151,25 @@ namespace MonoTests.System.Runtime.ExceptionServices Assert.IsTrue (split [1].Contains ("---"), "#2"); Assert.IsTrue (split [4].Contains ("---"), "#3"); } - } + } + + [Test] + public void StackTraceUserCopy () + { + try { + try { + throw new NotImplementedException (); + } catch (Exception e) { + var edi = ExceptionDispatchInfo.Capture (e); + edi.Throw(); + } + } catch (Exception ex) { + var st = new StackTrace (ex, true); + var split = st.ToString ().Split (new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + Assert.AreEqual (4, split.Length, "#1"); + Assert.IsTrue (split [1].Contains ("---"), "#2"); + } + } } } diff --git a/mcs/ilasm/parser/ILParser.jay b/mcs/ilasm/parser/ILParser.jay index 8f994051c9a..63ddee82bfa 100644 --- a/mcs/ilasm/parser/ILParser.jay +++ b/mcs/ilasm/parser/ILParser.jay @@ -480,6 +480,9 @@ namespace Mono.ILASM { %token K_OFF
%token K_FORWARDER
%token K_CHARMAPERROR
+%token K_LEGACY
+%token K_LIBRARY
+%token K_AUTO
/* end generated */
@@ -3149,9 +3152,9 @@ assembly_all : assembly_head OPEN_BRACE assembly_decls CLOSE_BRACE }
;
-assembly_head : D_ASSEMBLY asm_attr slashed_name
+assembly_head : D_ASSEMBLY legacylibrary_opt asm_attr slashed_name
{
- codegen.SetThisAssembly ((string) $3, (PEAPI.AssemAttr) $2);
+ codegen.SetThisAssembly ((string) $4, (PEAPI.AssemAttr) $3);
codegen.CurrentCustomAttrTarget = codegen.ThisAssembly;
codegen.CurrentDeclSecurityTarget = codegen.ThisAssembly;
}
@@ -3211,19 +3214,19 @@ asm_or_ref_decl : D_PUBLICKEY ASSIGN bytes_list assemblyref_all : assemblyref_head OPEN_BRACE assemblyref_decls CLOSE_BRACE
;
-assemblyref_head : D_ASSEMBLY K_EXTERN asm_attr slashed_name
+assemblyref_head : D_ASSEMBLY K_EXTERN legacylibrary_opt asm_attr slashed_name
{
System.Reflection.AssemblyName asmb_name =
new System.Reflection.AssemblyName ();
- asmb_name.Name = (string) $4;
- codegen.BeginAssemblyRef ((string) $4, asmb_name, (PEAPI.AssemAttr) $3);
+ asmb_name.Name = (string) $5;
+ codegen.BeginAssemblyRef ((string) $5, asmb_name, (PEAPI.AssemAttr) $4);
}
- | D_ASSEMBLY K_EXTERN asm_attr slashed_name K_AS slashed_name
+ | D_ASSEMBLY K_EXTERN legacylibrary_opt asm_attr slashed_name K_AS slashed_name
{
System.Reflection.AssemblyName asmb_name =
new System.Reflection.AssemblyName ();
- asmb_name.Name = (string) $4;
- codegen.BeginAssemblyRef ((string) $6, asmb_name, (PEAPI.AssemAttr) $3);
+ asmb_name.Name = (string) $5;
+ codegen.BeginAssemblyRef ((string) $7, asmb_name, (PEAPI.AssemAttr) $4);
}
;
@@ -3258,6 +3261,7 @@ assemblyref_decl : D_VER int32 COLON int32 COLON int32 COLON int32 if (codegen.CurrentCustomAttrTarget != null)
codegen.CurrentCustomAttrTarget.AddCustomAttribute ((CustomAttr) $1);
}
+ | K_AUTO /* MS ilasm uses this keyword to lookup the specified assembly in the GAC and embeds its attributes, we just ignore it */
;
exptype_all : exptype_head OPEN_BRACE exptype_decls CLOSE_BRACE
@@ -3424,6 +3428,10 @@ semicolon_opt | SEMICOLON
;
+legacylibrary_opt : /* empty */
+ | K_LEGACY K_LIBRARY /* MS ilasm has these keywords for backwards compatibility, we just ignore them */
+ ;
+
%%
}
diff --git a/mcs/ilasm/scanner/ILTables.cs b/mcs/ilasm/scanner/ILTables.cs index 628c9b44367..62ab383b6b4 100644 --- a/mcs/ilasm/scanner/ILTables.cs +++ b/mcs/ilasm/scanner/ILTables.cs @@ -317,6 +317,9 @@ namespace Mono.ILASM { keywords ["off"] = new ILToken (Token.K_OFF, "off");
keywords ["strict"] = new ILToken (Token.K_STRICT, "strict");
keywords ["forwarder"] = new ILToken (Token.K_FORWARDER, "forwarder");
+ keywords ["legacy"] = new ILToken (Token.K_LEGACY, "legacy");
+ keywords ["library"] = new ILToken (Token.K_LIBRARY, "library");
+ keywords ["auto"] = new ILToken (Token.K_AUTO, "auto");
return keywords;
}
diff --git a/mcs/mcs/ecore.cs b/mcs/mcs/ecore.cs index 68e0551bb04..ce055dcbc31 100644 --- a/mcs/mcs/ecore.cs +++ b/mcs/mcs/ecore.cs @@ -1338,8 +1338,14 @@ namespace Mono.CSharp { return null; ExpressionStatement es = e as ExpressionStatement; - if (es == null || e is AnonymousMethodBody) + if (es == null || e is AnonymousMethodBody) { + var reduced = e as IReducedExpressionStatement; + if (reduced != null) { + return EmptyExpressionStatement.Instance; + } + Error_InvalidExpressionStatement (ec); + } // // This is quite expensive warning, try to limit the damage @@ -1406,6 +1412,10 @@ namespace Mono.CSharp { } } + interface IReducedExpressionStatement + { + } + /// <summary> /// This kind of cast is used to encapsulate the child /// whose type is child.Type into an expression that is @@ -2213,7 +2223,7 @@ namespace Mono.CSharp { // public class ReducedExpression : Expression { - public sealed class ReducedConstantExpression : EmptyConstantCast + public class ReducedConstantExpression : EmptyConstantCast { readonly Expression orig_expr; @@ -2263,6 +2273,14 @@ namespace Mono.CSharp { } } + sealed class ReducedConstantStatement : ReducedConstantExpression, IReducedExpressionStatement + { + public ReducedConstantStatement (Constant expr, Expression origExpr) + : base (expr, origExpr) + { + } + } + sealed class ReducedExpressionStatement : ExpressionStatement { readonly Expression orig_expr; @@ -2344,12 +2362,15 @@ namespace Mono.CSharp { // // Creates fully resolved expression switcher // - public static Constant Create (Constant expr, Expression original_expr) + public static Constant Create (Constant expr, Expression originalExpr) { if (expr.eclass == ExprClass.Unresolved) throw new ArgumentException ("Unresolved expression"); - return new ReducedConstantExpression (expr, original_expr); + if (originalExpr is ExpressionStatement) + return new ReducedConstantStatement (expr, originalExpr); + + return new ReducedConstantExpression (expr, originalExpr); } public static ExpressionStatement Create (ExpressionStatement s, Expression orig) diff --git a/mcs/mcs/lambda.cs b/mcs/mcs/lambda.cs index 7868c6a2c9d..9c804ceca57 100644 --- a/mcs/mcs/lambda.cs +++ b/mcs/mcs/lambda.cs @@ -217,8 +217,14 @@ namespace Mono.CSharp { return false; statement = Expr as ExpressionStatement; - if (statement == null) - Expr.Error_InvalidExpressionStatement (ec); + if (statement == null) { + var reduced = Expr as IReducedExpressionStatement; + if (reduced != null) { + statement = EmptyExpressionStatement.Instance; + } else { + Expr.Error_InvalidExpressionStatement (ec); + } + } return true; } diff --git a/mcs/tests/gtest-633.cs b/mcs/tests/gtest-633.cs new file mode 100644 index 00000000000..32882ba23e8 --- /dev/null +++ b/mcs/tests/gtest-633.cs @@ -0,0 +1,18 @@ +using System; + +struct BB +{} + +public class X +{ + public static void Main () + { + // Reduced expression statements + + new BB? (); + new float(); + + Action a = () => new float(); + a (); + } +}
\ No newline at end of file diff --git a/mcs/tests/ver-il-net_4_x.xml b/mcs/tests/ver-il-net_4_x.xml index 2a64b11127c..47cfe2ca469 100644 --- a/mcs/tests/ver-il-net_4_x.xml +++ b/mcs/tests/ver-il-net_4_x.xml @@ -19675,6 +19675,19 @@ </method> </type> </test> + <test name="gtest-633.cs"> + <type name="X"> + <method name="Void Main()" attrs="150"> + <size>38</size> + </method> + <method name="Void <Main>m__0()" attrs="145"> + <size>1</size> + </method> + <method name="Void .ctor()" attrs="6278"> + <size>7</size> + </method> + </type> + </test> <test name="gtest-anontype-01.cs"> <type name="Test"> <method name="Int32 Main()" attrs="150"> diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index 2bfa5457e77..4140a02deae 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -89,8 +89,6 @@ typedef struct gchar *filename; } RuntimeConfig; -mono_mutex_t mono_delegate_section; - static gunichar2 process_guid [36]; static gboolean process_guid_set = FALSE; @@ -255,8 +253,6 @@ mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb, domain->domain = ad; domain->setup = setup; - mono_mutex_init_recursive (&mono_delegate_section); - mono_thread_attach (domain); mono_type_initialization_init (); @@ -624,9 +620,9 @@ ves_icall_System_AppDomain_GetData (MonoAppDomain *ad, MonoString *name) MONO_CHECK_ARG_NULL (name, NULL); - g_assert (ad != NULL); + g_assert (ad); add = ad->data; - g_assert (add != NULL); + g_assert (add); str = mono_string_to_utf8 (name); @@ -669,9 +665,9 @@ ves_icall_System_AppDomain_SetData (MonoAppDomain *ad, MonoString *name, MonoObj MONO_CHECK_ARG_NULL (name,); - g_assert (ad != NULL); + g_assert (ad); add = ad->data; - g_assert (add != NULL); + g_assert (add); mono_domain_lock (add); @@ -683,8 +679,8 @@ ves_icall_System_AppDomain_SetData (MonoAppDomain *ad, MonoString *name, MonoObj MonoAppDomainSetup * ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad) { - g_assert (ad != NULL); - g_assert (ad->data != NULL); + g_assert (ad); + g_assert (ad->data); return ad->data->setup; } @@ -692,8 +688,8 @@ ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad) MonoString * ves_icall_System_AppDomain_getFriendlyName (MonoAppDomain *ad) { - g_assert (ad != NULL); - g_assert (ad->data != NULL); + g_assert (ad); + g_assert (ad->data); return mono_string_new (ad->data, ad->data->friendly_name); } @@ -1962,7 +1958,7 @@ ves_icall_System_AppDomain_LoadAssembly (MonoAppDomain *ad, MonoString *assRef, gchar *name; gboolean parsed; - g_assert (assRef != NULL); + g_assert (assRef); name = mono_string_to_utf8 (assRef); parsed = mono_assembly_name_parse (name, &aname); diff --git a/mono/metadata/domain-internals.h b/mono/metadata/domain-internals.h index b70d4069588..64cb3fd973f 100644 --- a/mono/metadata/domain-internals.h +++ b/mono/metadata/domain-internals.h @@ -16,9 +16,6 @@ #include <mono/io-layer/io-layer.h> #include <mono/metadata/mempool-internals.h> - -extern mono_mutex_t mono_delegate_section; - /* * If this is set, the memory belonging to appdomains is not freed when a domain is * unloaded, and assemblies loaded by the appdomain are not unloaded either. This diff --git a/mono/metadata/gc.c b/mono/metadata/gc.c index 17afcf6be46..665130d4485 100644 --- a/mono/metadata/gc.c +++ b/mono/metadata/gc.c @@ -623,7 +623,12 @@ static HandleData gc_handles [] = { {NULL, NULL, 0, HANDLE_PINNED, 0} }; -#define lock_handles(handles) mono_mutex_lock (&handle_section) +#define lock_handles(handles) do { \ + MONO_TRY_BLOCKING; \ + mono_mutex_lock (&handle_section); \ + MONO_FINISH_TRY_BLOCKING; \ +} while (0) + #define unlock_handles(handles) mono_mutex_unlock (&handle_section) static int diff --git a/mono/metadata/lock-tracer.c b/mono/metadata/lock-tracer.c index 959dd36aa3c..e0e6ac96a61 100644 --- a/mono/metadata/lock-tracer.c +++ b/mono/metadata/lock-tracer.c @@ -109,14 +109,16 @@ static void add_record (RecordType record_kind, RuntimeLocks kind, gpointer lock) { int i = 0; - gpointer frames[10]; + const int no_frames = 6; + gpointer frames[no_frames]; + char *msg; if (!trace_file) return; - memset (frames, 0, sizeof (gpointer)); - mono_backtrace (frames, 6); - for (i = 0; i < 6; ++i) + memset (frames, 0, sizeof (gpointer) * no_frames); + mono_backtrace (frames, no_frames); + for (i = 0; i < no_frames; ++i) frames [i] = (gpointer)((size_t)frames[i] - base_address); /*We only dump 5 frames, which should be more than enough to most analysis.*/ diff --git a/mono/metadata/mono-hash.c b/mono/metadata/mono-hash.c index 7ca1ebe857d..6f1dbb9cdd0 100644 --- a/mono/metadata/mono-hash.c +++ b/mono/metadata/mono-hash.c @@ -31,6 +31,7 @@ #include <glib.h> #include "mono-hash.h" #include "metadata/gc-internal.h" +#include <mono/utils/checked-build.h> #ifdef HAVE_BOEHM_GC #define mg_new0(type,n) ((type *) GC_MALLOC(sizeof(type) * (n))) @@ -207,6 +208,8 @@ do_rehash (void *_data) static void rehash (MonoGHashTable *hash) { + MONO_REQ_GC_UNSAFE_MODE; //we must run in unsafe mode to make rehash safe + int diff = ABS (hash->last_rehash - hash->in_use); RehashData data; void *old_table G_GNUC_UNUSED; /* unused on Boehm */ diff --git a/mono/metadata/object.c b/mono/metadata/object.c index 91e846d40fc..0a2070ab9db 100644 --- a/mono/metadata/object.c +++ b/mono/metadata/object.c @@ -111,10 +111,22 @@ typedef struct } TypeInitializationLock; /* for locking access to type_initialization_hash and blocked_thread_hash */ -#define mono_type_initialization_lock() mono_mutex_lock (&type_initialization_section) -#define mono_type_initialization_unlock() mono_mutex_unlock (&type_initialization_section) static mono_mutex_t type_initialization_section; +static inline void +mono_type_initialization_lock (void) +{ + /* The critical sections protected by this lock in mono_runtime_class_init_full () can block */ + MONO_PREPARE_BLOCKING; + mono_mutex_lock (&type_initialization_section); + MONO_FINISH_BLOCKING; +} + +static inline void +mono_type_initialization_unlock (void) +{ + mono_mutex_unlock (&type_initialization_section); +} static void mono_type_init_lock (TypeInitializationLock *lock) @@ -251,7 +263,7 @@ get_type_init_exception_for_vtable (MonoVTable *vtable) void mono_runtime_class_init (MonoVTable *vtable) { - MONO_REQ_GC_NEUTRAL_MODE; + MONO_REQ_GC_UNSAFE_MODE; mono_runtime_class_init_full (vtable, TRUE); } @@ -272,6 +284,11 @@ mono_runtime_class_init_full (MonoVTable *vtable, gboolean raise_exception) MonoMethod *method = NULL; MonoClass *klass; gchar *full_name; + MonoDomain *domain = vtable->domain; + TypeInitializationLock *lock; + guint32 tid; + int do_initialization = 0; + MonoDomain *last_domain = NULL; if (vtable->initialized) return NULL; @@ -303,143 +320,139 @@ mono_runtime_class_init_full (MonoVTable *vtable, gboolean raise_exception) } } method = mono_class_get_cctor (klass); + if (!method) { + vtable->initialized = 1; + return NULL; + } + + tid = GetCurrentThreadId (); + + mono_type_initialization_lock (); + /* double check... */ + if (vtable->initialized) { + mono_type_initialization_unlock (); + return NULL; + } + if (vtable->init_failed) { + mono_type_initialization_unlock (); - if (method) { - MonoDomain *domain = vtable->domain; - TypeInitializationLock *lock; - guint32 tid = GetCurrentThreadId(); - int do_initialization = 0; - MonoDomain *last_domain = NULL; + /* The type initialization already failed once, rethrow the same exception */ + if (raise_exception) + mono_raise_exception (get_type_init_exception_for_vtable (vtable)); + return get_type_init_exception_for_vtable (vtable); + } + lock = g_hash_table_lookup (type_initialization_hash, vtable); + if (lock == NULL) { + /* This thread will get to do the initialization */ + if (mono_domain_get () != domain) { + /* Transfer into the target domain */ + last_domain = mono_domain_get (); + if (!mono_domain_set (domain, FALSE)) { + vtable->initialized = 1; + mono_type_initialization_unlock (); + if (raise_exception) + mono_raise_exception (mono_get_exception_appdomain_unloaded ()); + return mono_get_exception_appdomain_unloaded (); + } + } + lock = g_malloc (sizeof(TypeInitializationLock)); + mono_mutex_init_recursive (&lock->initialization_section); + lock->initializing_tid = tid; + lock->waiting_count = 1; + lock->done = FALSE; + /* grab the vtable lock while this thread still owns type_initialization_section */ + /* This is why type_initialization_lock needs to enter blocking mode */ + mono_type_init_lock (lock); + g_hash_table_insert (type_initialization_hash, vtable, lock); + do_initialization = 1; + } else { + gpointer blocked; + TypeInitializationLock *pending_lock; - mono_type_initialization_lock (); - /* double check... */ - if (vtable->initialized) { + if (lock->initializing_tid == tid || lock->done) { mono_type_initialization_unlock (); return NULL; } - if (vtable->init_failed) { - mono_type_initialization_unlock (); - - /* The type initialization already failed once, rethrow the same exception */ - if (raise_exception) - mono_raise_exception (get_type_init_exception_for_vtable (vtable)); - return get_type_init_exception_for_vtable (vtable); - } - lock = g_hash_table_lookup (type_initialization_hash, vtable); - if (lock == NULL) { - /* This thread will get to do the initialization */ - if (mono_domain_get () != domain) { - /* Transfer into the target domain */ - last_domain = mono_domain_get (); - if (!mono_domain_set (domain, FALSE)) { - vtable->initialized = 1; + /* see if the thread doing the initialization is already blocked on this thread */ + blocked = GUINT_TO_POINTER (lock->initializing_tid); + while ((pending_lock = (TypeInitializationLock*) g_hash_table_lookup (blocked_thread_hash, blocked))) { + if (pending_lock->initializing_tid == tid) { + if (!pending_lock->done) { mono_type_initialization_unlock (); - if (raise_exception) - mono_raise_exception (mono_get_exception_appdomain_unloaded ()); - return mono_get_exception_appdomain_unloaded (); - } - } - lock = g_malloc (sizeof(TypeInitializationLock)); - mono_mutex_init_recursive (&lock->initialization_section); - lock->initializing_tid = tid; - lock->waiting_count = 1; - lock->done = FALSE; - /* grab the vtable lock while this thread still owns type_initialization_section */ - mono_type_init_lock (lock); - g_hash_table_insert (type_initialization_hash, vtable, lock); - do_initialization = 1; - } else { - gpointer blocked; - TypeInitializationLock *pending_lock; - - if (lock->initializing_tid == tid || lock->done) { - mono_type_initialization_unlock (); - return NULL; - } - /* see if the thread doing the initialization is already blocked on this thread */ - blocked = GUINT_TO_POINTER (lock->initializing_tid); - while ((pending_lock = (TypeInitializationLock*) g_hash_table_lookup (blocked_thread_hash, blocked))) { - if (pending_lock->initializing_tid == tid) { - if (!pending_lock->done) { - mono_type_initialization_unlock (); - return NULL; - } else { - /* the thread doing the initialization is blocked on this thread, - but on a lock that has already been freed. It just hasn't got - time to awake */ - break; - } + return NULL; + } else { + /* the thread doing the initialization is blocked on this thread, + but on a lock that has already been freed. It just hasn't got + time to awake */ + break; } - blocked = GUINT_TO_POINTER (pending_lock->initializing_tid); } - ++lock->waiting_count; - /* record the fact that we are waiting on the initializing thread */ - g_hash_table_insert (blocked_thread_hash, GUINT_TO_POINTER (tid), lock); + blocked = GUINT_TO_POINTER (pending_lock->initializing_tid); } - mono_type_initialization_unlock (); + ++lock->waiting_count; + /* record the fact that we are waiting on the initializing thread */ + g_hash_table_insert (blocked_thread_hash, GUINT_TO_POINTER (tid), lock); + } + mono_type_initialization_unlock (); - if (do_initialization) { - mono_runtime_invoke (method, NULL, NULL, (MonoObject **) &exc); + if (do_initialization) { + mono_runtime_invoke (method, NULL, NULL, (MonoObject **) &exc); - /* If the initialization failed, mark the class as unusable. */ - /* Avoid infinite loops */ - if (!(exc == NULL || - (klass->image == mono_defaults.corlib && - !strcmp (klass->name_space, "System") && - !strcmp (klass->name, "TypeInitializationException")))) { - vtable->init_failed = 1; + /* If the initialization failed, mark the class as unusable. */ + /* Avoid infinite loops */ + if (!(exc == NULL || + (klass->image == mono_defaults.corlib && + !strcmp (klass->name_space, "System") && + !strcmp (klass->name, "TypeInitializationException")))) { + vtable->init_failed = 1; - if (klass->name_space && *klass->name_space) - full_name = g_strdup_printf ("%s.%s", klass->name_space, klass->name); - else - full_name = g_strdup (klass->name); - exc_to_throw = mono_get_exception_type_initialization (full_name, exc); - g_free (full_name); - - /* - * Store the exception object so it could be thrown on subsequent - * accesses. - */ - mono_domain_lock (domain); - if (!domain->type_init_exception_hash) - domain->type_init_exception_hash = mono_g_hash_table_new_type (mono_aligned_addr_hash, NULL, MONO_HASH_VALUE_GC); - mono_g_hash_table_insert (domain->type_init_exception_hash, klass, exc_to_throw); - mono_domain_unlock (domain); - } - - if (last_domain) - mono_domain_set (last_domain, TRUE); - lock->done = TRUE; - mono_type_init_unlock (lock); - } else { - /* this just blocks until the initializing thread is done */ - mono_type_init_lock (lock); - mono_type_init_unlock (lock); - } + if (klass->name_space && *klass->name_space) + full_name = g_strdup_printf ("%s.%s", klass->name_space, klass->name); + else + full_name = g_strdup (klass->name); + exc_to_throw = mono_get_exception_type_initialization (full_name, exc); + g_free (full_name); - mono_type_initialization_lock (); - if (lock->initializing_tid != tid) - g_hash_table_remove (blocked_thread_hash, GUINT_TO_POINTER (tid)); - --lock->waiting_count; - if (lock->waiting_count == 0) { - mono_mutex_destroy (&lock->initialization_section); - g_hash_table_remove (type_initialization_hash, vtable); - g_free (lock); + /* + * Store the exception object so it could be thrown on subsequent + * accesses. + */ + mono_domain_lock (domain); + if (!domain->type_init_exception_hash) + domain->type_init_exception_hash = mono_g_hash_table_new_type (mono_aligned_addr_hash, NULL, MONO_HASH_VALUE_GC); + mono_g_hash_table_insert (domain->type_init_exception_hash, klass, exc_to_throw); + mono_domain_unlock (domain); } - mono_memory_barrier (); - if (!vtable->init_failed) - vtable->initialized = 1; - mono_type_initialization_unlock (); - if (vtable->init_failed) { - /* Either we were the initializing thread or we waited for the initialization */ - if (raise_exception) - mono_raise_exception (get_type_init_exception_for_vtable (vtable)); - return get_type_init_exception_for_vtable (vtable); - } + if (last_domain) + mono_domain_set (last_domain, TRUE); + lock->done = TRUE; + mono_type_init_unlock (lock); } else { + /* this just blocks until the initializing thread is done */ + mono_type_init_lock (lock); + mono_type_init_unlock (lock); + } + + mono_type_initialization_lock (); + if (lock->initializing_tid != tid) + g_hash_table_remove (blocked_thread_hash, GUINT_TO_POINTER (tid)); + --lock->waiting_count; + if (lock->waiting_count == 0) { + mono_mutex_destroy (&lock->initialization_section); + g_hash_table_remove (type_initialization_hash, vtable); + g_free (lock); + } + mono_memory_barrier (); + if (!vtable->init_failed) vtable->initialized = 1; - return NULL; + mono_type_initialization_unlock (); + + if (vtable->init_failed) { + /* Either we were the initializing thread or we waited for the initialization */ + if (raise_exception) + mono_raise_exception (get_type_init_exception_for_vtable (vtable)); + return get_type_init_exception_for_vtable (vtable); } return NULL; } diff --git a/mono/metadata/reflection.c b/mono/metadata/reflection.c index 096db3127ae..b04a53b2906 100644 --- a/mono/metadata/reflection.c +++ b/mono/metadata/reflection.c @@ -43,6 +43,7 @@ #include <mono/metadata/mono-ptr-array.h> #include <mono/utils/mono-string.h> #include <mono/utils/mono-error-internals.h> +#include <mono/utils/checked-build.h> static gboolean is_usertype (MonoReflectionType *ref); static MonoReflectionType *mono_reflection_type_resolve_user_types (MonoReflectionType *type); @@ -223,7 +224,9 @@ mono_reflection_init (void) static inline void dynamic_image_lock (MonoDynamicImage *image) { + MONO_TRY_BLOCKING; mono_image_lock ((MonoImage*)image); + MONO_FINISH_TRY_BLOCKING; } static inline void @@ -235,6 +238,8 @@ dynamic_image_unlock (MonoDynamicImage *image) static void register_dyn_token (MonoDynamicImage *assembly, guint32 token, MonoObject *obj) { + MONO_REQ_GC_UNSAFE_MODE; + dynamic_image_lock (assembly); mono_g_hash_table_insert (assembly->tokens, GUINT_TO_POINTER (token), obj); dynamic_image_unlock (assembly); @@ -243,6 +248,8 @@ register_dyn_token (MonoDynamicImage *assembly, guint32 token, MonoObject *obj) static MonoObject* lookup_dyn_token (MonoDynamicImage *assembly, guint32 token) { + MONO_REQ_GC_UNSAFE_MODE; + MonoObject *obj; dynamic_image_lock (assembly); @@ -255,6 +262,8 @@ lookup_dyn_token (MonoDynamicImage *assembly, guint32 token) static void sigbuffer_init (SigBuffer *buf, int size) { + MONO_REQ_GC_NEUTRAL_MODE; + buf->buf = g_malloc (size); buf->p = buf->buf; buf->end = buf->buf + size; @@ -263,6 +272,8 @@ sigbuffer_init (SigBuffer *buf, int size) static void sigbuffer_make_room (SigBuffer *buf, int size) { + MONO_REQ_GC_NEUTRAL_MODE; + if (buf->end - buf->p < size) { int new_size = buf->end - buf->buf + size + 32; char *p = g_realloc (buf->buf, new_size); @@ -276,6 +287,8 @@ sigbuffer_make_room (SigBuffer *buf, int size) static void sigbuffer_add_value (SigBuffer *buf, guint32 val) { + MONO_REQ_GC_NEUTRAL_MODE; + sigbuffer_make_room (buf, 6); mono_metadata_encode_value (val, buf->p, &buf->p); } @@ -283,6 +296,8 @@ sigbuffer_add_value (SigBuffer *buf, guint32 val) static void sigbuffer_add_byte (SigBuffer *buf, guint8 val) { + MONO_REQ_GC_NEUTRAL_MODE; + sigbuffer_make_room (buf, 1); buf->p [0] = val; buf->p++; @@ -291,6 +306,8 @@ sigbuffer_add_byte (SigBuffer *buf, guint8 val) static void sigbuffer_add_mem (SigBuffer *buf, char *p, guint32 size) { + MONO_REQ_GC_NEUTRAL_MODE; + sigbuffer_make_room (buf, size); memcpy (buf->p, p, size); buf->p += size; @@ -299,6 +316,8 @@ sigbuffer_add_mem (SigBuffer *buf, char *p, guint32 size) static void sigbuffer_free (SigBuffer *buf) { + MONO_REQ_GC_NEUTRAL_MODE; + g_free (buf->buf); } @@ -312,6 +331,8 @@ sigbuffer_free (SigBuffer *buf) static gpointer image_g_malloc (MonoImage *image, guint size) { + MONO_REQ_GC_NEUTRAL_MODE; + if (image) return mono_image_alloc (image, size); else @@ -328,6 +349,8 @@ image_g_malloc (MonoImage *image, guint size) static gpointer image_g_malloc0 (MonoImage *image, guint size) { + MONO_REQ_GC_NEUTRAL_MODE; + if (image) return mono_image_alloc0 (image, size); else @@ -338,6 +361,8 @@ image_g_malloc0 (MonoImage *image, guint size) static char* image_strdup (MonoImage *image, const char *s) { + MONO_REQ_GC_NEUTRAL_MODE; + if (image) return mono_image_strdup (image, s); else @@ -355,6 +380,8 @@ image_strdup (MonoImage *image, const char *s) static void alloc_table (MonoDynamicTable *table, guint nrows) { + MONO_REQ_GC_NEUTRAL_MODE; + table->rows = nrows; g_assert (table->columns); if (nrows + 1 >= table->alloc_rows) { @@ -372,6 +399,8 @@ alloc_table (MonoDynamicTable *table, guint nrows) static void make_room_in_stream (MonoDynamicStream *stream, int size) { + MONO_REQ_GC_NEUTRAL_MODE; + if (size <= stream->alloc_size) return; @@ -388,6 +417,8 @@ make_room_in_stream (MonoDynamicStream *stream, int size) static guint32 string_heap_insert (MonoDynamicStream *sh, const char *str) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 idx; guint32 len; gpointer oldkey, oldval; @@ -414,6 +445,8 @@ string_heap_insert (MonoDynamicStream *sh, const char *str) static guint32 string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str) { + MONO_REQ_GC_UNSAFE_MODE; + char *name = mono_string_to_utf8 (str); guint32 idx; idx = string_heap_insert (sh, name); @@ -425,6 +458,8 @@ string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str) static void string_heap_init (MonoDynamicStream *sh) { + MONO_REQ_GC_NEUTRAL_MODE; + sh->index = 0; sh->alloc_size = 4096; sh->data = g_malloc (4096); @@ -436,6 +471,8 @@ string_heap_init (MonoDynamicStream *sh) static guint32 mono_image_add_stream_data (MonoDynamicStream *stream, const char *data, guint32 len) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 idx; make_room_in_stream (stream, stream->index + len); @@ -452,6 +489,8 @@ mono_image_add_stream_data (MonoDynamicStream *stream, const char *data, guint32 static guint32 mono_image_add_stream_zero (MonoDynamicStream *stream, guint32 len) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 idx; make_room_in_stream (stream, stream->index + len); @@ -464,6 +503,8 @@ mono_image_add_stream_zero (MonoDynamicStream *stream, guint32 len) static void stream_data_align (MonoDynamicStream *stream) { + MONO_REQ_GC_NEUTRAL_MODE; + char buf [4] = {0}; guint32 count = stream->index % 4; @@ -476,6 +517,8 @@ stream_data_align (MonoDynamicStream *stream) static int mono_blob_entry_hash (const char* str) { + MONO_REQ_GC_NEUTRAL_MODE; + guint len, h; const char *end; len = mono_metadata_decode_blob_size (str, &str); @@ -492,6 +535,8 @@ mono_blob_entry_hash (const char* str) static gboolean mono_blob_entry_equal (const char *str1, const char *str2) { + MONO_REQ_GC_NEUTRAL_MODE; + int len, len2; const char *end1; const char *end2; @@ -505,6 +550,8 @@ mono_blob_entry_equal (const char *str1, const char *str2) { static guint32 add_to_blob_cached (MonoDynamicImage *assembly, char *b1, int s1, char *b2, int s2) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 idx; char *copy; gpointer oldkey, oldval; @@ -526,6 +573,8 @@ add_to_blob_cached (MonoDynamicImage *assembly, char *b1, int s1, char *b2, int static guint32 sigbuffer_add_to_blob_cached (MonoDynamicImage *assembly, SigBuffer *buf) { + MONO_REQ_GC_NEUTRAL_MODE; + char blob_size [8]; char *b = blob_size; guint32 size = buf->p - buf->buf; @@ -541,6 +590,7 @@ sigbuffer_add_to_blob_cached (MonoDynamicImage *assembly, SigBuffer *buf) */ static void swap_with_size (char *dest, const char* val, int len, int nelem) { + MONO_REQ_GC_NEUTRAL_MODE; #if G_BYTE_ORDER != G_LITTLE_ENDIAN int elem; @@ -583,6 +633,8 @@ swap_with_size (char *dest, const char* val, int len, int nelem) { static guint32 add_mono_string_to_blob_cached (MonoDynamicImage *assembly, MonoString *str) { + MONO_REQ_GC_UNSAFE_MODE; + char blob_size [64]; char *b = blob_size; guint32 idx = 0, len; @@ -608,6 +660,8 @@ add_mono_string_to_blob_cached (MonoDynamicImage *assembly, MonoString *str) static MonoClass * default_class_from_mono_type (MonoType *type) { + MONO_REQ_GC_NEUTRAL_MODE; + switch (type->type) { case MONO_TYPE_OBJECT: return mono_defaults.object_class; @@ -660,6 +714,8 @@ default_class_from_mono_type (MonoType *type) gpointer mono_class_get_ref_info (MonoClass *klass) { + MONO_REQ_GC_UNSAFE_MODE; + if (klass->ref_info_handle == 0) return NULL; else @@ -669,6 +725,8 @@ mono_class_get_ref_info (MonoClass *klass) void mono_class_set_ref_info (MonoClass *klass, gpointer obj) { + MONO_REQ_GC_UNSAFE_MODE; + klass->ref_info_handle = mono_gchandle_new ((MonoObject*)obj, FALSE); g_assert (klass->ref_info_handle != 0); } @@ -676,6 +734,8 @@ mono_class_set_ref_info (MonoClass *klass, gpointer obj) void mono_class_free_ref_info (MonoClass *klass) { + MONO_REQ_GC_NEUTRAL_MODE; + if (klass->ref_info_handle) { mono_gchandle_free (klass->ref_info_handle); klass->ref_info_handle = 0; @@ -685,6 +745,8 @@ mono_class_free_ref_info (MonoClass *klass) static void encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigBuffer *buf) { + MONO_REQ_GC_NEUTRAL_MODE; + int i; MonoGenericInst *class_inst; MonoClass *klass; @@ -707,6 +769,8 @@ encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigB static void encode_type (MonoDynamicImage *assembly, MonoType *type, SigBuffer *buf) { + MONO_REQ_GC_NEUTRAL_MODE; + if (!type) { g_assert_not_reached (); return; @@ -788,6 +852,8 @@ encode_type (MonoDynamicImage *assembly, MonoType *type, SigBuffer *buf) static void encode_reflection_type (MonoDynamicImage *assembly, MonoReflectionType *type, SigBuffer *buf) { + MONO_REQ_GC_UNSAFE_MODE; + if (!type) { sigbuffer_add_value (buf, MONO_TYPE_VOID); return; @@ -799,6 +865,8 @@ encode_reflection_type (MonoDynamicImage *assembly, MonoReflectionType *type, Si static void encode_custom_modifiers (MonoDynamicImage *assembly, MonoArray *modreq, MonoArray *modopt, SigBuffer *buf) { + MONO_REQ_GC_UNSAFE_MODE; + int i; if (modreq) { @@ -821,6 +889,8 @@ encode_custom_modifiers (MonoDynamicImage *assembly, MonoArray *modreq, MonoArra static guint32 method_encode_signature (MonoDynamicImage *assembly, MonoMethodSignature *sig) { + MONO_REQ_GC_UNSAFE_MODE; + SigBuffer buf; int i; guint32 nparams = sig->param_count; @@ -857,6 +927,8 @@ method_encode_signature (MonoDynamicImage *assembly, MonoMethodSignature *sig) static guint32 method_builder_encode_signature (MonoDynamicImage *assembly, ReflectionMethodBuilder *mb) { + MONO_REQ_GC_UNSAFE_MODE; + /* * FIXME: reuse code from method_encode_signature(). */ @@ -912,6 +984,8 @@ method_builder_encode_signature (MonoDynamicImage *assembly, ReflectionMethodBui static guint32 encode_locals (MonoDynamicImage *assembly, MonoReflectionILGen *ilgen) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint32 idx, sig_idx; @@ -955,6 +1029,8 @@ encode_locals (MonoDynamicImage *assembly, MonoReflectionILGen *ilgen) static guint32 method_count_clauses (MonoReflectionILGen *ilgen) { + MONO_REQ_GC_UNSAFE_MODE; + guint32 num_clauses = 0; int i; @@ -974,6 +1050,8 @@ method_count_clauses (MonoReflectionILGen *ilgen) static MonoExceptionClause* method_encode_clauses (MonoImage *image, MonoDynamicImage *assembly, MonoReflectionILGen *ilgen, guint32 num_clauses) { + MONO_REQ_GC_UNSAFE_MODE; + MonoExceptionClause *clauses; MonoExceptionClause *clause; MonoILExceptionInfo *ex_info; @@ -1023,6 +1101,8 @@ method_encode_clauses (MonoImage *image, MonoDynamicImage *assembly, MonoReflect static guint32 method_encode_code (MonoDynamicImage *assembly, ReflectionMethodBuilder *mb) { + MONO_REQ_GC_UNSAFE_MODE; + char flags = 0; guint32 idx; guint32 code_size; @@ -1178,6 +1258,8 @@ fat_header: static guint32 find_index_in_table (MonoDynamicImage *assembly, int table_idx, int col, guint32 token) { + MONO_REQ_GC_NEUTRAL_MODE; + int i; MonoDynamicTable *table; guint32 *values; @@ -1201,6 +1283,8 @@ find_index_in_table (MonoDynamicImage *assembly, int table_idx, int col, guint32 static MonoCustomAttrInfo* lookup_custom_attr (MonoImage *image, gpointer member) { + MONO_REQ_GC_NEUTRAL_MODE; + MonoCustomAttrInfo* res; res = mono_image_property_lookup (image, member, MONO_PROP_DYNAMIC_CATTR); @@ -1216,6 +1300,8 @@ lookup_custom_attr (MonoImage *image, gpointer member) static gboolean custom_attr_visible (MonoImage *image, MonoReflectionCustomAttr *cattr) { + MONO_REQ_GC_UNSAFE_MODE; + /* FIXME: Need to do more checks */ if (cattr->ctor->method && (cattr->ctor->method->klass->image != image)) { int visibility = cattr->ctor->method->klass->flags & TYPE_ATTRIBUTE_VISIBILITY_MASK; @@ -1230,6 +1316,8 @@ custom_attr_visible (MonoImage *image, MonoReflectionCustomAttr *cattr) static MonoCustomAttrInfo* mono_custom_attrs_from_builders (MonoImage *alloc_img, MonoImage *image, MonoArray *cattrs) { + MONO_REQ_GC_UNSAFE_MODE; + int i, index, count, not_visible; MonoCustomAttrInfo *ainfo; MonoReflectionCustomAttr *cattr; @@ -1278,6 +1366,8 @@ mono_custom_attrs_from_builders (MonoImage *alloc_img, MonoImage *image, MonoArr static void mono_save_custom_attrs (MonoImage *image, void *obj, MonoArray *cattrs) { + MONO_REQ_GC_UNSAFE_MODE; + MonoCustomAttrInfo *ainfo, *tmp; if (!cattrs || !mono_array_length (cattrs)) @@ -1298,6 +1388,8 @@ mono_save_custom_attrs (MonoImage *image, void *obj, MonoArray *cattrs) void mono_custom_attrs_free (MonoCustomAttrInfo *ainfo) { + MONO_REQ_GC_NEUTRAL_MODE; + if (!ainfo->cached) g_free (ainfo); } @@ -1309,6 +1401,8 @@ mono_custom_attrs_free (MonoCustomAttrInfo *ainfo) static void mono_image_add_cattrs (MonoDynamicImage *assembly, guint32 idx, guint32 type, MonoArray *cattrs) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; MonoReflectionCustomAttr *cattr; guint32 *values; @@ -1361,6 +1455,8 @@ mono_image_add_cattrs (MonoDynamicImage *assembly, guint32 idx, guint32 type, Mo static void mono_image_add_decl_security (MonoDynamicImage *assembly, guint32 parent_token, MonoArray *permissions) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint32 count, i, idx; @@ -1410,6 +1506,8 @@ mono_image_add_decl_security (MonoDynamicImage *assembly, guint32 parent_token, static void mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint i, count; @@ -1485,6 +1583,8 @@ mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly static void reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, MonoReflectionMethodBuilder *mb) { + MONO_REQ_GC_UNSAFE_MODE; + memset (rmb, 0, sizeof (ReflectionMethodBuilder)); rmb->ilgen = mb->ilgen; @@ -1524,6 +1624,8 @@ reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, Mono static void reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, MonoReflectionCtorBuilder *mb) { + MONO_REQ_GC_UNSAFE_MODE; + const char *name = mb->attrs & METHOD_ATTRIBUTE_STATIC ? ".cctor": ".ctor"; memset (rmb, 0, sizeof (ReflectionMethodBuilder)); @@ -1557,6 +1659,8 @@ reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, MonoRe static void reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, MonoReflectionDynamicMethod *mb) { + MONO_REQ_GC_UNSAFE_MODE; + memset (rmb, 0, sizeof (ReflectionMethodBuilder)); rmb->ilgen = mb->ilgen; @@ -1589,6 +1693,8 @@ reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, Mono static void mono_image_add_methodimpl (MonoDynamicImage *assembly, MonoReflectionMethodBuilder *mb) { + MONO_REQ_GC_UNSAFE_MODE; + MonoReflectionTypeBuilder *tb = (MonoReflectionTypeBuilder *)mb->type; MonoDynamicTable *table; guint32 *values; @@ -1628,6 +1734,8 @@ mono_image_add_methodimpl (MonoDynamicImage *assembly, MonoReflectionMethodBuild static void mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; ReflectionMethodBuilder rmb; @@ -1681,6 +1789,8 @@ mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *a static void mono_image_get_ctor_info (MonoDomain *domain, MonoReflectionCtorBuilder *mb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + ReflectionMethodBuilder rmb; reflection_methodbuilder_from_ctor_builder (&rmb, mb); @@ -1693,11 +1803,16 @@ mono_image_get_ctor_info (MonoDomain *domain, MonoReflectionCtorBuilder *mb, Mon static char* type_get_fully_qualified_name (MonoType *type) { + MONO_REQ_GC_NEUTRAL_MODE; + return mono_type_get_name_full (type, MONO_TYPE_NAME_FORMAT_ASSEMBLY_QUALIFIED); } static char* -type_get_qualified_name (MonoType *type, MonoAssembly *ass) { +type_get_qualified_name (MonoType *type, MonoAssembly *ass) +{ + MONO_REQ_GC_UNSAFE_MODE; + MonoClass *klass; MonoAssembly *ta; @@ -1721,6 +1836,8 @@ type_get_qualified_name (MonoType *type, MonoAssembly *ass) { static guint32 fieldref_encode_signature (MonoDynamicImage *assembly, MonoImage *field_image, MonoType *type) { + MONO_REQ_GC_NEUTRAL_MODE; + SigBuffer buf; guint32 idx, i, token; @@ -1761,6 +1878,8 @@ fieldref_encode_signature (MonoDynamicImage *assembly, MonoImage *field_image, M static guint32 field_encode_signature (MonoDynamicImage *assembly, MonoReflectionFieldBuilder *fb) { + MONO_REQ_GC_UNSAFE_MODE; + SigBuffer buf; guint32 idx; guint32 typespec = 0; @@ -1794,7 +1913,10 @@ field_encode_signature (MonoDynamicImage *assembly, MonoReflectionFieldBuilder * } static guint32 -encode_constant (MonoDynamicImage *assembly, MonoObject *val, guint32 *ret_type) { +encode_constant (MonoDynamicImage *assembly, MonoObject *val, guint32 *ret_type) +{ + MONO_REQ_GC_UNSAFE_MODE; + char blob_size [64]; char *b = blob_size; char *box_val; @@ -1891,7 +2013,10 @@ handle_enum: } static guint32 -encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo) { +encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo) +{ + MONO_REQ_GC_UNSAFE_MODE; + char *str; SigBuffer buf; guint32 idx, len; @@ -1968,6 +2093,8 @@ encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo) { static void mono_image_get_field_info (MonoReflectionFieldBuilder *fb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; @@ -2032,6 +2159,8 @@ mono_image_get_field_info (MonoReflectionFieldBuilder *fb, MonoDynamicImage *ass static guint32 property_encode_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBuilder *fb) { + MONO_REQ_GC_UNSAFE_MODE; + SigBuffer buf; guint32 nparams = 0; MonoReflectionMethodBuilder *mb = fb->get_method; @@ -2073,6 +2202,8 @@ property_encode_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBui static void mono_image_get_property_info (MonoReflectionPropertyBuilder *pb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint num_methods = 0; @@ -2131,6 +2262,8 @@ mono_image_get_property_info (MonoReflectionPropertyBuilder *pb, MonoDynamicImag static void mono_image_get_event_info (MonoReflectionEventBuilder *eb, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint num_methods = 0; @@ -2187,6 +2320,8 @@ mono_image_get_event_info (MonoReflectionEventBuilder *eb, MonoDynamicImage *ass static void encode_constraints (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 num_constraints, i; guint32 *values; @@ -2225,6 +2360,8 @@ encode_constraints (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynam static void mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynamicImage *assembly) { + MONO_REQ_GC_UNSAFE_MODE; + GenericParamTableEntry *entry; /* @@ -2246,6 +2383,8 @@ mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 o static void write_generic_param_entry (MonoDynamicImage *assembly, GenericParamTableEntry *entry) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; MonoGenericParam *param; guint32 *values; @@ -2270,6 +2409,8 @@ write_generic_param_entry (MonoDynamicImage *assembly, GenericParamTableEntry *e static guint32 resolution_scope_from_image (MonoDynamicImage *assembly, MonoImage *image) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 token; guint32 *values; @@ -2340,6 +2481,8 @@ resolution_scope_from_image (MonoDynamicImage *assembly, MonoImage *image) static guint32 create_typespec (MonoDynamicImage *assembly, MonoType *type) { + MONO_REQ_GC_NEUTRAL_MODE; + MonoDynamicTable *table; guint32 *values; guint32 token; @@ -2392,6 +2535,8 @@ create_typespec (MonoDynamicImage *assembly, MonoType *type) static guint32 mono_image_typedef_or_ref_full (MonoDynamicImage *assembly, MonoType *type, gboolean try_typespec) { + MONO_REQ_GC_UNSAFE_MODE; + MonoDynamicTable *table; guint32 *values; guint32 token, scope, enclosing; @@ -2454,6 +2599,8 @@ mono_image_typedef_or_ref (MonoDynamicImage *assembly, MonoType *type) static guint32 mono_image_add_memberef_row (MonoDynamicImage *assembly, guint32 parent, const char *name, guint32 sig) { + MONO_REQ_GC_NEUTRAL_MODE; + MonoDynamicTable *table; guint32 *values; guint32 token, pclass; @@ -2500,6 +2647,8 @@ mono_image_add_memberef_row (MonoDynamicImage *assembly, guint32 parent, const c static guint32 mono_image_get_memberref_token (MonoDynamicImage *assembly, MonoType *type, const char *name, guint32 sig) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 parent = mono_image_typedef_or_ref (assembly, type); return mono_image_add_memberef_row (assembly, parent, name, sig); } @@ -2508,6 +2657,8 @@ mono_image_get_memberref_token (MonoDynamicImage *assembly, MonoType *type, cons static guint32 mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec) { + MONO_REQ_GC_NEUTRAL_MODE; + guint32 token; MonoMethodSignature *sig; diff --git a/mono/metadata/sgen-os-win32.c b/mono/metadata/sgen-os-win32.c index 656d8393045..3145a5e3535 100644 --- a/mono/metadata/sgen-os-win32.c +++ b/mono/metadata/sgen-os-win32.c @@ -61,25 +61,25 @@ sgen_suspend_thread (SgenThreadInfo *info) #ifdef USE_MONO_CTX memset (&info->client_info.ctx, 0, sizeof (MonoContext)); #ifdef TARGET_AMD64 - info->client_info.ctx.rip = context.Rip; - info->client_info.ctx.rax = context.Rax; - info->client_info.ctx.rcx = context.Rcx; - info->client_info.ctx.rdx = context.Rdx; - info->client_info.ctx.rbx = context.Rbx; - info->client_info.ctx.rsp = context.Rsp; - info->client_info.ctx.rbp = context.Rbp; - info->client_info.ctx.rsi = context.Rsi; - info->client_info.ctx.rdi = context.Rdi; - info->client_info.ctx.r8 = context.R8; - info->client_info.ctx.r9 = context.R9; - info->client_info.ctx.r10 = context.R10; - info->client_info.ctx.r11 = context.R11; - info->client_info.ctx.r12 = context.R12; - info->client_info.ctx.r13 = context.R13; - info->client_info.ctx.r14 = context.R14; - info->client_info.ctx.r15 = context.R15; - info->client_info.stopped_ip = info->client_info.ctx.rip; - info->client_info.stack_start = (char*)info->client_info.ctx.rsp - REDZONE_SIZE; + info->client_info.ctx.gregs[AMD64_RIP] = context.Rip; + info->client_info.ctx.gregs[AMD64_RAX] = context.Rax; + info->client_info.ctx.gregs[AMD64_RCX] = context.Rcx; + info->client_info.ctx.gregs[AMD64_RDX] = context.Rdx; + info->client_info.ctx.gregs[AMD64_RBX] = context.Rbx; + info->client_info.ctx.gregs[AMD64_RSP] = context.Rsp; + info->client_info.ctx.gregs[AMD64_RBP] = context.Rbp; + info->client_info.ctx.gregs[AMD64_RSI] = context.Rsi; + info->client_info.ctx.gregs[AMD64_RDI] = context.Rdi; + info->client_info.ctx.gregs[AMD64_R8] = context.R8; + info->client_info.ctx.gregs[AMD64_R9] = context.R9; + info->client_info.ctx.gregs[AMD64_R10] = context.R10; + info->client_info.ctx.gregs[AMD64_R11] = context.R11; + info->client_info.ctx.gregs[AMD64_R12] = context.R12; + info->client_info.ctx.gregs[AMD64_R13] = context.R13; + info->client_info.ctx.gregs[AMD64_R14] = context.R14; + info->client_info.ctx.gregs[AMD64_R15] = context.R15; + info->client_info.stopped_ip = info->client_info.ctx.gregs[AMD64_RIP]; + info->client_info.stack_start = (char*)info->client_info.ctx.gregs[AMD64_RSP] - REDZONE_SIZE; #else info->client_info.ctx.edi = context.Edi; info->client_info.ctx.esi = context.Esi; diff --git a/mono/metadata/threadpool-ms.c b/mono/metadata/threadpool-ms.c index 670782a6090..d5e388d1e28 100644 --- a/mono/metadata/threadpool-ms.c +++ b/mono/metadata/threadpool-ms.c @@ -311,17 +311,18 @@ cleanup (void) { guint i; - MONO_PREPARE_BLOCKING; - /* we make the assumption along the code that we are * cleaning up only if the runtime is shutting down */ g_assert (mono_runtime_is_shutting_down ()); - + MONO_PREPARE_BLOCKING; while (monitor_status != MONITOR_STATUS_NOT_RUNNING) g_usleep (1000); + MONO_FINISH_BLOCKING; + MONO_PREPARE_BLOCKING; mono_mutex_lock (&threadpool->active_threads_lock); + MONO_FINISH_BLOCKING; /* stop all threadpool->working_threads */ for (i = 0; i < threadpool->working_threads->len; ++i) @@ -332,8 +333,6 @@ cleanup (void) worker_unpark ((ThreadPoolParkedThread*) g_ptr_array_index (threadpool->parked_threads, i)); mono_mutex_unlock (&threadpool->active_threads_lock); - - MONO_FINISH_BLOCKING; } void @@ -668,9 +667,11 @@ worker_thread (gpointer data) mono_mutex_unlock (&threadpool->domains_lock); + MONO_PREPARE_BLOCKING; mono_mutex_lock (&threadpool->active_threads_lock); g_ptr_array_remove_fast (threadpool->working_threads, thread); mono_mutex_unlock (&threadpool->active_threads_lock); + MONO_FINISH_BLOCKING; COUNTER_ATOMIC (counter, { counter._.working--; @@ -863,6 +864,7 @@ monitor_thread (void) if (mono_runtime_is_shutting_down () || !domain_any_has_request ()) continue; + MONO_PREPARE_BLOCKING; mono_mutex_lock (&threadpool->active_threads_lock); for (i = 0; i < threadpool->working_threads->len; ++i) { thread = g_ptr_array_index (threadpool->working_threads, i); @@ -872,6 +874,7 @@ monitor_thread (void) } } mono_mutex_unlock (&threadpool->active_threads_lock); + MONO_FINISH_BLOCKING; if (all_waitsleepjoin) { ThreadPoolCounter counter; diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c index a7de6445040..28903fe586e 100644 --- a/mono/metadata/threads.c +++ b/mono/metadata/threads.c @@ -228,7 +228,6 @@ static gboolean shutting_down = FALSE; static gint32 managed_thread_id_counter = 0; - static void mono_threads_lock (void) { @@ -453,7 +452,7 @@ static void thread_cleanup (MonoInternalThread *thread) } /* This needs to be called even if handle_remove () fails */ if (mono_thread_cleanup_fn) - mono_thread_cleanup_fn ((MonoNativeThreadId)thread->tid); + mono_thread_cleanup_fn (thread_get_tid (thread)); return; } mono_release_type_locks (thread); @@ -480,7 +479,7 @@ static void thread_cleanup (MonoInternalThread *thread) thread->appdomain_refs = NULL; if (mono_thread_cleanup_fn) - mono_thread_cleanup_fn ((MonoNativeThreadId)thread->tid); + mono_thread_cleanup_fn (thread_get_tid (thread)); if (mono_gc_is_moving ()) { MONO_GC_UNREGISTER_ROOT (thread->thread_pinning_ref); @@ -650,7 +649,7 @@ static guint32 WINAPI start_wrapper_internal(void *data) internal->thread_info = info; internal->small_id = info->small_id; - tid=internal->tid; + tid = internal->tid; SET_CURRENT_OBJECT (internal); @@ -981,8 +980,8 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach) tid=GetCurrentThreadId (); - thread->handle=thread_handle; - thread->tid=tid; + thread->handle = thread_handle; + thread->tid = tid; thread->stack_ptr = &tid; THREAD_DEBUG (g_message ("%s: Attached thread ID %"G_GSIZE_FORMAT" (handle %p)", __func__, tid, thread_handle)); @@ -2836,7 +2835,7 @@ static void build_wait_tids (gpointer key, gpointer value, gpointer user) return; } - handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid); + handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread)); if (handle == NULL) { THREAD_DEBUG (g_message ("%s: ignoring unopenable thread %"G_GSIZE_FORMAT, __func__, (gsize)thread->tid)); return; @@ -2876,7 +2875,7 @@ remove_and_abort_threads (gpointer key, gpointer value, gpointer user) if (thread->tid != self && (thread->state & ThreadState_Background) != 0 && !(thread->flags & MONO_THREAD_FLAG_DONT_MANAGE)) { - handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid); + handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread)); if (handle == NULL) return FALSE; @@ -3058,7 +3057,7 @@ collect_threads_for_suspend (gpointer key, gpointer value, gpointer user_data) return; if (wait->num<MAXIMUM_WAIT_OBJECTS) { - handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid); + handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread)); if (handle == NULL) return; @@ -3249,7 +3248,7 @@ dump_thread (gpointer key, gpointer value, gpointer user) We probably should loop a bit around trying to get it to either managed code or WSJ state. */ - mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, FALSE, print_thread_dump, thread); + mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), FALSE, print_thread_dump, thread); } void @@ -3425,7 +3424,7 @@ collect_appdomain_thread (gpointer key, gpointer value, gpointer user_data) /* printf ("ABORTING THREAD %p BECAUSE IT REFERENCES DOMAIN %s.\n", thread->tid, domain->friendly_name); */ if(data->wait.num<MAXIMUM_WAIT_OBJECTS) { - HANDLE handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid); + HANDLE handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread)); if (handle == NULL) return; data->wait.handles [data->wait.num] = handle; @@ -4471,7 +4470,7 @@ abort_thread_internal (MonoInternalThread *thread, gboolean can_raise_exception, return; } - mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, TRUE, abort_thread_critical, &data); + mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), TRUE, abort_thread_critical, &data); if (data.interrupt_token) mono_thread_info_finish_interrupt (data.interrupt_token); /*FIXME we need to wait for interruption to complete -- figure out how much into interruption we should wait for here*/ @@ -4529,7 +4528,7 @@ suspend_thread_internal (MonoInternalThread *thread, gboolean interrupt) data.thread = thread; data.interrupt = interrupt; - mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, interrupt, suspend_thread_critical, &data); + mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), interrupt, suspend_thread_critical, &data); if (data.interrupt_token) mono_thread_info_finish_interrupt (data.interrupt_token); UNLOCK_THREAD (thread); @@ -4553,7 +4552,7 @@ resume_thread_internal (MonoInternalThread *thread) { UNLOCK_THREAD (thread); /* Awake the thread */ - if (!mono_thread_info_resume ((MonoNativeThreadId)(gpointer)(gsize)thread->tid)) + if (!mono_thread_info_resume (thread_get_tid (thread))) return FALSE; LOCK_THREAD (thread); thread->state &= ~ThreadState_Suspended; diff --git a/mono/mini/mini-ppc.c b/mono/mini/mini-ppc.c index 06528bdee78..16d3eaf28eb 100644 --- a/mono/mini/mini-ppc.c +++ b/mono/mini/mini-ppc.c @@ -1096,8 +1096,10 @@ get_call_info (MonoMethodSignature *sig) cinfo->args [n].reg = fr; fr ++; FP_ALSO_IN_REG (gr ++); +#if !defined(__mono_ppc64__) if (size == 8) FP_ALSO_IN_REG (gr ++); +#endif ALWAYS_ON_STACK (stack_size += size); } else { cinfo->args [n].offset = PPC_STACK_PARAM_OFFSET + stack_size; @@ -1165,7 +1167,10 @@ get_call_info (MonoMethodSignature *sig) cinfo->args [n].size = 4; /* It was 7, now it is 8 in LinuxPPC */ - if (fr <= PPC_LAST_FPARG_REG) { + if (fr <= PPC_LAST_FPARG_REG + // For non-native vararg calls the parms must go in storage + && !(!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG)) + ) { cinfo->args [n].regtype = RegTypeFP; cinfo->args [n].reg = fr; fr ++; @@ -1182,7 +1187,10 @@ get_call_info (MonoMethodSignature *sig) case MONO_TYPE_R8: cinfo->args [n].size = 8; /* It was 7, now it is 8 in LinuxPPC */ - if (fr <= PPC_LAST_FPARG_REG) { + if (fr <= PPC_LAST_FPARG_REG + // For non-native vararg calls the parms must go in storage + && !(!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG)) + ) { cinfo->args [n].regtype = RegTypeFP; cinfo->args [n].reg = fr; fr ++; @@ -1354,7 +1362,7 @@ mono_arch_allocate_vars (MonoCompile *m) m->ret->inst_c0 = m->ret->dreg = ppc_r3; } else { /* FIXME: handle long values? */ - switch (mini_get_underlying_type (m, sig->ret)->type) { + switch (mini_get_underlying_type (sig->ret)->type) { case MONO_TYPE_VOID: break; case MONO_TYPE_R4: diff --git a/mono/mini/mini-runtime.c b/mono/mini/mini-runtime.c index a6bf4bb079c..b5c07ef9a44 100644 --- a/mono/mini/mini-runtime.c +++ b/mono/mini/mini-runtime.c @@ -119,12 +119,14 @@ static void register_icalls (void); gboolean mono_running_on_valgrind (void) { +#ifndef HOST_WIN32 if (RUNNING_ON_VALGRIND){ #ifdef VALGRIND_JIT_REGISTER_MAP valgrind_register = TRUE; #endif return TRUE; } else +#endif return FALSE; } @@ -604,30 +606,20 @@ mono_icall_get_wrapper_full (MonoJitICallInfo* callinfo, gboolean do_compile) MonoDomain *domain = mono_get_root_domain (); gboolean check_exc = TRUE; - if (callinfo->wrapper) { + if (callinfo->wrapper) return callinfo->wrapper; - } if (callinfo->trampoline) return callinfo->trampoline; - /* - * We use the lock on the root domain instead of the JIT lock to protect - * callinfo->trampoline, since we do a lot of stuff inside the critical section. - */ - mono_loader_lock (); /*FIXME mono_compile_method requires the loader lock, by large.*/ - mono_domain_lock (domain); - - if (callinfo->trampoline) { - mono_domain_unlock (domain); - mono_loader_unlock (); - return callinfo->trampoline; - } - if (!strcmp (callinfo->name, "mono_thread_interruption_checkpoint")) /* This icall is used to check for exceptions, so don't check in the wrapper */ check_exc = FALSE; + if (!strcmp (callinfo->name, "mono_threads_state_poll")) + /* Checking exceptions could lead to infinite recursion with mono_thread_interruption_checkpoint () */ + check_exc = FALSE; + name = g_strdup_printf ("__icall_wrapper_%s", callinfo->name); wrapper = mono_marshal_get_icall_wrapper (callinfo->sig, name, callinfo->func, check_exc); g_free (name); @@ -636,11 +628,12 @@ mono_icall_get_wrapper_full (MonoJitICallInfo* callinfo, gboolean do_compile) trampoline = mono_compile_method (wrapper); else trampoline = mono_create_ftnptr (domain, mono_create_jit_trampoline_in_domain (domain, wrapper)); - mono_register_jit_icall_wrapper (callinfo, trampoline); - callinfo->trampoline = trampoline; - - mono_domain_unlock (domain); + mono_loader_lock (); + if (!callinfo->trampoline) { + mono_register_jit_icall_wrapper (callinfo, trampoline); + callinfo->trampoline = trampoline; + } mono_loader_unlock (); return callinfo->trampoline; @@ -3492,8 +3485,6 @@ mini_cleanup (MonoDomain *domain) mono_mutex_destroy (&jit_mutex); - mono_mutex_destroy (&mono_delegate_section); - mono_code_manager_cleanup (); #ifdef USE_JUMP_TABLES diff --git a/mono/mini/mini-trampolines.c b/mono/mini/mini-trampolines.c index b8fc3337d75..d4af8df57a0 100644 --- a/mono/mini/mini-trampolines.c +++ b/mono/mini/mini-trampolines.c @@ -1002,7 +1002,10 @@ mono_delegate_trampoline (mgreg_t *regs, guint8 *code, gpointer *arg, guint8* tr } } } - } else { + // If "delegate->method_ptr" is null mono_get_addr_from_ftnptr will fail if + // ftnptrs are being used. "method" would end up null on archtitectures without + // ftnptrs so we can just skip this. + } else if (delegate->method_ptr) { ji = mono_jit_info_table_find (domain, mono_get_addr_from_ftnptr (delegate->method_ptr)); if (ji) method = jinfo_get_method (ji); diff --git a/mono/mini/tramp-amd64.c b/mono/mini/tramp-amd64.c index dc169f04d76..edeb4d3f575 100644 --- a/mono/mini/tramp-amd64.c +++ b/mono/mini/tramp-amd64.c @@ -148,6 +148,11 @@ mono_arch_get_llvm_imt_trampoline (MonoDomain *domain, MonoMethod *m, int vt_off return start; } +#ifdef _WIN64 +// Workaround lack of Valgrind support for 64-bit Windows +#define VALGRIND_DISCARD_TRANSLATIONS(...) +#endif + /* * mono_arch_patch_callsite: * diff --git a/mono/sgen/sgen-archdep.h b/mono/sgen/sgen-archdep.h index 410ba6aab0a..5e349f8416e 100644 --- a/mono/sgen/sgen-archdep.h +++ b/mono/sgen/sgen-archdep.h @@ -88,8 +88,8 @@ } while (0) /* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some - archs is 64k. */ -#if defined(TARGET_POWERPC64) && _CALL_ELF == 2 + architectures is 64k. */ +#if defined(TARGET_POWERPC64) #define ARCH_MIN_MS_BLOCK_SIZE (64*1024) #define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 #endif diff --git a/mono/sgen/sgen-gc.c b/mono/sgen/sgen-gc.c index 4b1a1ac1616..f2227aa9f72 100644 --- a/mono/sgen/sgen-gc.c +++ b/mono/sgen/sgen-gc.c @@ -822,7 +822,7 @@ sgen_conservatively_pin_objects_from (void **start, void **end, void *start_nurs { int count = 0; -#ifdef VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE +#if defined(VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE) && !defined(_WIN64) VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE (start, (char*)end - (char*)start); #endif diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index 97ad6e34dfd..18622085d54 100644 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -947,6 +947,7 @@ SGEN_TESTS = \ sgen-descriptors.exe \ sgen-gshared-vtype.exe \ sgen-domain-unload.exe \ + sgen-domain-unload-2.exe \ sgen-weakref-stress.exe \ sgen-cementing-stress.exe \ sgen-case-23400.exe \ diff --git a/mono/utils/mono-threads-posix.c b/mono/utils/mono-threads-posix.c index 84e423ec1c2..3e2790024a8 100644 --- a/mono/utils/mono-threads-posix.c +++ b/mono/utils/mono-threads-posix.c @@ -145,10 +145,13 @@ mono_threads_core_create_thread (LPTHREAD_START_ROUTINE start_routine, gpointer return NULL; } + MONO_TRY_BLOCKING; /* Wait until the thread register itself in various places */ while (MONO_SEM_WAIT (&(start_info.registered)) != 0) { /*if (EINTR != errno) ABORT("sem_wait failed"); */ } + MONO_FINISH_TRY_BLOCKING; + MONO_SEM_DESTROY (&(start_info.registered)); if (out_tid) diff --git a/mono/utils/mono-threads.c b/mono/utils/mono-threads.c index 5d4664369a1..4b2bcdc6937 100644 --- a/mono/utils/mono-threads.c +++ b/mono/utils/mono-threads.c @@ -357,14 +357,7 @@ unregister_thread (void *arg) if (threads_callbacks.thread_detach) threads_callbacks.thread_detach (info); - /* - Since the thread info lock is taken from within blocking sections, we can't check from there, so it must be done here. - This ensures that we won't lose any suspend requests as a suspend initiator must hold the lock. - Once we're holding the suspend lock, no threads can suspend us and once we unregister, no thread can find us. - */ - MONO_PREPARE_BLOCKING; mono_thread_info_suspend_lock (); - MONO_FINISH_BLOCKING; /* Now perform the callback that must be done under locks. @@ -884,6 +877,7 @@ mono_thread_info_safe_suspend_and_run (MonoNativeThreadId id, gboolean interrupt /*FIXME: unify this with self-suspend*/ g_assert (id != mono_native_thread_id_get ()); + /* This can block during stw */ mono_thread_info_suspend_lock (); mono_threads_begin_global_suspend (); @@ -968,7 +962,9 @@ STW to make sure no unsafe pending suspend is in progress. void mono_thread_info_suspend_lock (void) { + MONO_TRY_BLOCKING; MONO_SEM_WAIT_UNITERRUPTIBLE (&global_suspend_semaphore); + MONO_FINISH_TRY_BLOCKING; } void diff --git a/mono/utils/valgrind.h b/mono/utils/valgrind.h index 6954d751d5e..a8b3ce55cce 100644 --- a/mono/utils/valgrind.h +++ b/mono/utils/valgrind.h @@ -451,7 +451,7 @@ typedef #if defined(PLAT_amd64_win64) && !defined(__GNUC__) -#error Unsupported compiler. +//#error Unsupported compiler. #endif /* PLAT_amd64_win64 */ diff --git a/msvc/eglib.vcxproj b/msvc/eglib.vcxproj index b1692556f80..b3d0229f79d 100644 --- a/msvc/eglib.vcxproj +++ b/msvc/eglib.vcxproj @@ -110,19 +110,19 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
diff --git a/msvc/genmdesc.vcxproj b/msvc/genmdesc.vcxproj index 4b2af22d190..001463f7af2 100644 --- a/msvc/genmdesc.vcxproj +++ b/msvc/genmdesc.vcxproj @@ -118,20 +118,20 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
</PropertyGroup>
@@ -167,7 +167,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -254,7 +254,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -340,7 +340,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
@@ -426,7 +426,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
@@ -638,7 +638,11 @@ <ItemGroup>
<ProjectReference Include="eglib.vcxproj">
<Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/libgc.vcxproj b/msvc/libgc.vcxproj index d3dd9ffd2fa..2be0904f02f 100644 --- a/msvc/libgc.vcxproj +++ b/msvc/libgc.vcxproj @@ -110,19 +110,19 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
diff --git a/msvc/libmono.vcxproj b/msvc/libmono.vcxproj index 925a6158311..026306597d6 100644 --- a/msvc/libmono.vcxproj +++ b/msvc/libmono.vcxproj @@ -235,14 +235,14 @@ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">monosgen-2.0</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">mono-2.0</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">monosgen-2.0</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
@@ -283,16 +283,26 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>mono.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">
<PreBuildEvent>
@@ -325,16 +335,26 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
@@ -370,13 +390,23 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>mono.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">
<PreBuildEvent>
@@ -414,11 +444,21 @@ <Link>
<AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>monosgen64.def</ModuleDefinitionFile>
+ <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
@@ -436,7 +476,8 @@ <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
- <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<ResourceCompile>
@@ -447,15 +488,25 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>mono.def</ModuleDefinitionFile>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">
<PreBuildEvent>
@@ -473,7 +524,8 @@ <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
- <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<ResourceCompile>
@@ -484,16 +536,26 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
@@ -514,7 +576,8 @@ <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
- <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<ResourceCompile>
@@ -525,13 +588,23 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>mono.def</ModuleDefinitionFile>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">
<PreBuildEvent>
@@ -552,7 +625,8 @@ <FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
- <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<ResourceCompile>
@@ -563,13 +637,23 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>monosgen64.def</ModuleDefinitionFile>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
+ <PostBuildEvent>
+ <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuildStep Include="..\mono\mini\mini-x86.h">
@@ -588,15 +672,35 @@ <ItemGroup>
<ProjectReference Include="eglib.vcxproj">
<Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
- <ProjectReference Include="genmdesc.vcxproj">
- <Project>{b7098dfa-31e6-4006-8a15-1c9a4e925149}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
<ProjectReference Include="libgc.vcxproj">
<Project>{eb56000b-c80b-4e8b-908d-d84d31b517d3}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
+ <ProjectReference Include="libmonoruntime.vcxproj">
+ <Project>{c36612bd-22d3-4b95-85e2-7fdc4fc5d739}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
+ <ProjectReference Include="libmonoutils.vcxproj">
+ <Project>{8fc2b0c8-51ad-49df-851f-5d01a77a75e4}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/libmonoruntime.vcxproj b/msvc/libmonoruntime.vcxproj index 646ede95381..942da86574d 100644 --- a/msvc/libmonoruntime.vcxproj +++ b/msvc/libmonoruntime.vcxproj @@ -308,38 +308,38 @@ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)sgen</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)sgen</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)sgen</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)sgen</TargetName>
</PropertyGroup>
@@ -351,6 +351,7 @@ <Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;$(BOEHM_DEFINES);_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(top_srcdir);$(top_srcdir)/mono;$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
diff --git a/msvc/libmonoutils.vcxproj b/msvc/libmonoutils.vcxproj index 52e3dc4bc47..599febb589a 100644 --- a/msvc/libmonoutils.vcxproj +++ b/msvc/libmonoutils.vcxproj @@ -196,19 +196,19 @@ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(Platform)\lib\</OutDir>
+ <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>
<IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/msvc/libtest.vcxproj b/msvc/libtest.vcxproj index 49eba7f2e5a..64aaae18a4a 100644 --- a/msvc/libtest.vcxproj +++ b/msvc/libtest.vcxproj @@ -63,17 +63,17 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -93,14 +93,14 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -124,11 +124,11 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -147,7 +147,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -156,7 +156,7 @@ <RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -178,13 +178,13 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -194,7 +194,11 @@ <ItemGroup>
<ProjectReference Include="eglib.vcxproj">
<Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/mono.def b/msvc/mono.def index 109ef31eb84..97aa760a07e 100644 --- a/msvc/mono.def +++ b/msvc/mono.def @@ -317,8 +317,6 @@ mono_g_hash_table_foreach_remove mono_g_hash_table_insert mono_g_hash_table_lookup mono_g_hash_table_lookup_extended -mono_g_hash_table_new -mono_g_hash_table_new_full mono_g_hash_table_new_type mono_g_hash_table_print_stats mono_g_hash_table_remove @@ -826,11 +824,9 @@ mono_thread_detach_if_exiting mono_thread_exit mono_thread_get_main mono_thread_get_undeniable_exception -mono_thread_info_clear_interruption mono_thread_info_exit mono_thread_info_finish_interrupt mono_thread_info_get_stack_bounds -mono_thread_info_interrupt mono_thread_info_open_handle mono_thread_info_prepare_interrupt mono_thread_info_self_interrupt @@ -844,10 +840,6 @@ mono_thread_set_main mono_thread_set_manage_callback mono_thread_stop mono_threads_attach_tools_thread -mono_threads_core_clear_interruption -mono_threads_core_finish_interrupt -mono_threads_core_prepare_interrupt -mono_threads_core_self_interrupt mono_threads_create_thread mono_threads_get_default_stacksize mono_threads_request_thread_dump diff --git a/msvc/mono.vcxproj b/msvc/mono.vcxproj index 3ecf25bff1e..84edfbbe933 100644 --- a/msvc/mono.vcxproj +++ b/msvc/mono.vcxproj @@ -111,22 +111,22 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\$(Configuration)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\$(Configuration)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\$(Configuration)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\$(Configuration)</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(ProjectName)-sgen</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(ProjectName)-sgen</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(ProjectName)-sgen</TargetName>
@@ -149,7 +149,7 @@ </ClCompile>
<ProjectReference />
<Link>
- <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -179,7 +179,7 @@ </ClCompile>
<ProjectReference />
<Link>
- <AdditionalDependencies>monosgen-2.0.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -214,7 +214,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -266,7 +266,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@@ -294,7 +294,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>monosgen-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -325,7 +325,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -368,11 +368,19 @@ <ItemGroup>
<ProjectReference Include="eglib.vcxproj">
<Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
<ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/monodiet.vcxproj b/msvc/monodiet.vcxproj index b4b2c4e5d80..8f632070518 100644 --- a/msvc/monodiet.vcxproj +++ b/msvc/monodiet.vcxproj @@ -62,17 +62,17 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -82,7 +82,7 @@ <PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;__WIN32__;HAVE_CONFIG_H;__i386__;TARGET_X86;HOST_WIN32;TARGET_WIN32;GC_NOT_DLL;GC_GCJ_SUPPORT;GC_WIN32_THREADS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<PrecompiledHeader>
</PrecompiledHeader>
diff --git a/msvc/monodis.vcxproj b/msvc/monodis.vcxproj index b9cae332c8e..9a739c622b3 100644 --- a/msvc/monodis.vcxproj +++ b/msvc/monodis.vcxproj @@ -62,27 +62,27 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -92,10 +92,11 @@ <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>
+ </AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -108,7 +109,7 @@ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MinSpace</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -118,7 +119,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
</ProjectReference>
<Link>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@@ -130,6 +131,7 @@ <DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -138,7 +140,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -152,10 +154,11 @@ <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>
+ </AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -168,7 +171,7 @@ </Midl>
<ClCompile>
<Optimization>MinSpace</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -178,7 +181,7 @@ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
</ProjectReference>
<Link>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@@ -187,6 +190,7 @@ <OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@@ -208,9 +212,16 @@ <ClInclude Include="..\mono\dis\util.h" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="eglib.vcxproj">
+ <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
<ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/monograph.vcxproj b/msvc/monograph.vcxproj index f77df6ffae8..962d5bacf51 100644 --- a/msvc/monograph.vcxproj +++ b/msvc/monograph.vcxproj @@ -62,27 +62,27 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -95,7 +95,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -108,7 +108,7 @@ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MinSpace</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -138,7 +138,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -155,7 +155,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ws2_32.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -168,7 +168,7 @@ </Midl>
<ClCompile>
<Optimization>MinSpace</Optimization>
- <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -190,13 +190,25 @@ </Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\mono\monograph\monograph.c" />
<ClCompile Include="..\mono\metadata\opcodes.c" />
+ <ClCompile Include="..\tools\monograph\monograph.c" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="eglib.vcxproj">
+ <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
<ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/monoposixhelper.vcxproj b/msvc/monoposixhelper.vcxproj index 8fd2d718c90..df216b7622c 100644 --- a/msvc/monoposixhelper.vcxproj +++ b/msvc/monoposixhelper.vcxproj @@ -62,17 +62,17 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MonoPosixHelper</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MonoPosixHelper</TargetName>
@@ -94,7 +94,7 @@ <CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
- <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -102,7 +102,7 @@ <RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -128,9 +128,9 @@ <ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -146,7 +146,7 @@ <CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
- <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -156,7 +156,7 @@ <RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -182,9 +182,9 @@ <SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>
+ <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@@ -224,6 +224,9 @@ <None Include="monoposixhelper.def" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="eglib.vcxproj">
+ <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
+ </ProjectReference>
<ProjectReference Include="genmdesc.vcxproj">
<Project>{b7098dfa-31e6-4006-8a15-1c9a4e925149}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/msvc/monosgen.def b/msvc/monosgen.def index eb44f062a3f..215e64142f1 100644 --- a/msvc/monosgen.def +++ b/msvc/monosgen.def @@ -317,8 +317,6 @@ mono_g_hash_table_foreach_remove mono_g_hash_table_insert mono_g_hash_table_lookup mono_g_hash_table_lookup_extended -mono_g_hash_table_new -mono_g_hash_table_new_full mono_g_hash_table_new_type mono_g_hash_table_print_stats mono_g_hash_table_remove @@ -474,8 +472,6 @@ mono_install_assembly_refonly_preload_hook mono_install_assembly_refonly_search_hook mono_install_assembly_search_hook mono_install_runtime_cleanup -mono_install_threadpool_item_hooks -mono_install_threadpool_thread_hooks mono_install_unhandled_exception_hook mono_invoke_unhandled_exception_hook mono_is_debugger_attached @@ -831,11 +827,8 @@ mono_thread_detach_if_exiting mono_thread_exit mono_thread_get_main mono_thread_get_undeniable_exception -mono_thread_info_clear_interruption mono_thread_info_exit -mono_thread_info_finish_interrupt mono_thread_info_get_stack_bounds -mono_thread_info_interrupt mono_thread_info_open_handle mono_thread_info_prepare_interrupt mono_thread_info_self_interrupt @@ -849,10 +842,6 @@ mono_thread_set_main mono_thread_set_manage_callback mono_thread_stop mono_threads_attach_tools_thread -mono_threads_core_clear_interruption -mono_threads_core_finish_interrupt -mono_threads_core_prepare_interrupt -mono_threads_core_self_interrupt mono_threads_create_thread mono_threads_get_default_stacksize mono_threads_request_thread_dump @@ -906,4 +895,3 @@ mono_win32_compat_CopyMemory mono_win32_compat_FillMemory mono_win32_compat_MoveMemory mono_win32_compat_ZeroMemory -mono_xdebug_flush diff --git a/msvc/monosgen64.def b/msvc/monosgen64.def deleted file mode 100644 index f77f0192e9a..00000000000 --- a/msvc/monosgen64.def +++ /dev/null @@ -1,862 +0,0 @@ -; file generated by create-windef.pl -LIBRARY monosgen-2.0.dll -EXPORTS -MonoFixupCorEE -mono_add_internal_call -mono_aot_register_globals -mono_aot_register_module -mono_array_addr_with_size -mono_array_class_get -mono_array_clone -mono_array_element_size -mono_array_length -mono_array_new -mono_array_new_full -mono_array_new_specific -mono_assemblies_cleanup -mono_assemblies_init -mono_assembly_close -mono_assembly_fill_assembly_name -mono_assembly_foreach -mono_assembly_get_assemblyref -mono_assembly_get_image -mono_assembly_get_main -mono_assembly_get_object -mono_assembly_getrootdir -mono_assembly_invoke_load_hook -mono_assembly_invoke_search_hook -mono_assembly_load -mono_assembly_load_from -mono_assembly_load_from_full -mono_assembly_load_full -mono_assembly_load_module -mono_assembly_load_reference -mono_assembly_load_references -mono_assembly_load_with_partial_name -mono_assembly_loaded -mono_assembly_loaded_full -mono_assembly_name_free -mono_assembly_name_get_culture -mono_assembly_name_get_name -mono_assembly_name_get_pubkeytoken -mono_assembly_name_get_version -mono_assembly_name_new -mono_assembly_names_equal -mono_assembly_open -mono_assembly_open_full -mono_assembly_set_main -mono_assembly_setrootdir -mono_binary_search -mono_bitset_alloc_size -mono_bitset_clear -mono_bitset_clear_all -mono_bitset_clone -mono_bitset_copyto -mono_bitset_count -mono_bitset_equal -mono_bitset_find_first -mono_bitset_find_first_unset -mono_bitset_find_last -mono_bitset_find_start -mono_bitset_foreach -mono_bitset_free -mono_bitset_intersection -mono_bitset_intersection_2 -mono_bitset_invert -mono_bitset_mem_new -mono_bitset_new -mono_bitset_set -mono_bitset_set_all -mono_bitset_size -mono_bitset_sub -mono_bitset_test -mono_bitset_test_bulk -mono_bitset_union -mono_bounded_array_class_get -mono_breakpoint_clean_code -mono_check_corlib_version -mono_class_array_element_size -mono_class_data_size -mono_class_describe_statics -mono_class_enum_basetype -mono_class_from_generic_parameter -mono_class_from_mono_type -mono_class_from_name -mono_class_from_name_case -mono_class_from_typeref -mono_class_get -mono_class_get_byref_type -mono_class_get_com_object_class -mono_class_get_element_class -mono_class_get_event_token -mono_class_get_events -mono_class_get_field -mono_class_get_field_from_name -mono_class_get_field_token -mono_class_get_fields -mono_class_get_flags -mono_class_get_full -mono_class_get_idispatch_class -mono_class_get_image -mono_class_get_interfaces -mono_class_get_interop_proxy_class -mono_class_get_iunknown_class -mono_class_get_method_from_name -mono_class_get_method_from_name_flags -mono_class_get_methods -mono_class_get_name -mono_class_get_namespace -mono_class_get_nested_types -mono_class_get_nesting_type -mono_class_get_parent -mono_class_get_properties -mono_class_get_property_from_name -mono_class_get_property_token -mono_class_get_rank -mono_class_get_type -mono_class_get_type_token -mono_class_get_variant_class -mono_class_implements_interface -mono_class_inflate_generic_method -mono_class_inflate_generic_type -mono_class_init -mono_class_instance_size -mono_class_interface_offset -mono_class_is_assignable_from -mono_class_is_delegate -mono_class_is_enum -mono_class_is_subclass_of -mono_class_is_valid_enum -mono_class_is_valuetype -mono_class_min_align -mono_class_name_from_token -mono_class_num_events -mono_class_num_fields -mono_class_num_methods -mono_class_num_properties -mono_class_value_size -mono_class_vtable -mono_cli_rva_image_map -mono_code_manager_cleanup -mono_code_manager_commit -mono_code_manager_destroy -mono_code_manager_foreach -mono_code_manager_init -mono_code_manager_invalidate -mono_code_manager_new -mono_code_manager_new_dynamic -mono_code_manager_reserve -mono_code_manager_reserve_align -mono_code_manager_set_read_only -mono_code_manager_size -mono_compile_method -mono_config_cleanup -mono_config_for_assembly -mono_config_is_server_mode -mono_config_parse -mono_config_parse_memory -mono_config_set_server_mode -mono_config_string_for_assembly_file -mono_context_get -mono_context_get_desc -mono_context_init -mono_context_set -mono_counters_cleanup -mono_counters_dump -mono_counters_enable -mono_counters_register -mono_custom_attrs_construct -mono_custom_attrs_free -mono_custom_attrs_from_assembly -mono_custom_attrs_from_class -mono_custom_attrs_from_event -mono_custom_attrs_from_field -mono_custom_attrs_from_index -mono_custom_attrs_from_method -mono_custom_attrs_from_param -mono_custom_attrs_from_property -mono_custom_attrs_get_attr -mono_custom_attrs_has_attr -mono_debug_add_delegate_trampoline -mono_debug_add_method -mono_debug_cleanup -mono_debug_close_image -mono_debug_close_mono_symbol_file -mono_debug_domain_create -mono_debug_domain_unload -mono_debug_enabled -mono_debug_find_method -mono_debug_free_method_jit_info -mono_debug_free_source_location -mono_debug_il_offset_from_address -mono_debug_init -mono_debug_list_add -mono_debug_list_remove -mono_debug_lookup_locals -mono_debug_lookup_method -mono_debug_lookup_method_addresses -mono_debug_lookup_source_location -mono_debug_open_image_from_memory -mono_debug_open_mono_symbols -mono_debug_print_stack_frame -mono_debug_print_vars -mono_debug_remove_method -mono_debug_symfile_free_locals -mono_debug_symfile_free_location -mono_debug_symfile_get_line_numbers -mono_debug_symfile_get_line_numbers_full -mono_debug_symfile_is_loaded -mono_debug_symfile_lookup_locals -mono_debug_symfile_lookup_location -mono_debug_symfile_lookup_method -mono_debugger_insert_breakpoint -mono_debugger_method_has_breakpoint -mono_debugger_run_finally -mono_declsec_flags_from_assembly -mono_declsec_flags_from_class -mono_declsec_flags_from_method -mono_declsec_get_assembly_action -mono_declsec_get_class_action -mono_declsec_get_demands -mono_declsec_get_inheritdemands_class -mono_declsec_get_inheritdemands_method -mono_declsec_get_linkdemands -mono_declsec_get_method_action -mono_digest_get_public_token -mono_disasm_code -mono_disasm_code_one -mono_dl_fallback_register -mono_dl_fallback_unregister -mono_dllmap_insert -mono_domain_add_class_static_data -mono_domain_assembly_open -mono_domain_create -mono_domain_create_appdomain -mono_domain_finalize -mono_domain_foreach -mono_domain_free -mono_domain_from_appdomain -mono_domain_get -mono_domain_get_by_id -mono_domain_get_id -mono_domain_has_type_resolve -mono_domain_is_unloading -mono_domain_owns_vtable_slot -mono_domain_set -mono_domain_set_config -mono_domain_set_internal -mono_domain_try_type_resolve -mono_domain_try_unload -mono_domain_unload -mono_dwarf_escape_path -mono_emit_native_call -mono_environment_exitcode_get -mono_environment_exitcode_set -mono_error_cleanup -mono_error_get_error_code -mono_error_get_message -mono_error_init -mono_error_init_flags -mono_error_ok -mono_escape_uri_string -mono_event_get_add_method -mono_event_get_flags -mono_event_get_name -mono_event_get_object -mono_event_get_parent -mono_event_get_raise_method -mono_event_get_remove_method -mono_exception_from_name -mono_exception_from_name_domain -mono_exception_from_name_msg -mono_exception_from_name_two_strings -mono_exception_from_token -mono_exception_from_token_two_strings -mono_exception_walk_trace -mono_field_from_token -mono_field_full_name -mono_field_get_data -mono_field_get_flags -mono_field_get_name -mono_field_get_object -mono_field_get_offset -mono_field_get_parent -mono_field_get_type -mono_field_get_value -mono_field_get_value_object -mono_field_set_value -mono_field_static_get_value -mono_field_static_set_value -mono_file_map -mono_file_map_close -mono_file_map_fd -mono_file_map_open -mono_file_map_size -mono_file_unmap -mono_free -mono_free_bstr -mono_free_method -mono_free_verify_list -mono_g_hash_table_destroy -mono_g_hash_table_find -mono_g_hash_table_foreach -mono_g_hash_table_foreach_remove -mono_g_hash_table_insert -mono_g_hash_table_lookup -mono_g_hash_table_lookup_extended -mono_g_hash_table_new -mono_g_hash_table_new_full -mono_g_hash_table_new_type -mono_g_hash_table_print_stats -mono_g_hash_table_remove -mono_g_hash_table_replace -mono_g_hash_table_size -mono_gc_collect -mono_gc_collection_count -mono_gc_get_generation -mono_gc_get_heap_size -mono_gc_get_used_size -mono_gc_invoke_finalizers -mono_gc_max_generation -mono_gc_reference_queue_add -mono_gc_reference_queue_free -mono_gc_reference_queue_new -mono_gc_toggleref_add -mono_gc_toggleref_register_callback -mono_gc_walk_heap -mono_gc_wbarrier_arrayref_copy -mono_gc_wbarrier_generic_nostore -mono_gc_wbarrier_generic_store -mono_gc_wbarrier_generic_store_atomic -mono_gc_wbarrier_object_copy -mono_gc_wbarrier_set_arrayref -mono_gc_wbarrier_set_field -mono_gc_wbarrier_value_copy -mono_gchandle_free -mono_gchandle_get_target -mono_gchandle_new -mono_gchandle_new_weakref -mono_get_array_class -mono_get_boolean_class -mono_get_byte_class -mono_get_char_class -mono_get_config_dir -mono_get_corlib -mono_get_dbnull_object -mono_get_delegate_begin_invoke -mono_get_delegate_end_invoke -mono_get_delegate_invoke -mono_get_double_class -mono_get_enum_class -mono_get_exception_appdomain_unloaded -mono_get_exception_argument -mono_get_exception_argument_null -mono_get_exception_argument_out_of_range -mono_get_exception_arithmetic -mono_get_exception_array_type_mismatch -mono_get_exception_bad_image_format -mono_get_exception_bad_image_format2 -mono_get_exception_cannot_unload_appdomain -mono_get_exception_class -mono_get_exception_divide_by_zero -mono_get_exception_execution_engine -mono_get_exception_field_access -mono_get_exception_file_not_found -mono_get_exception_file_not_found2 -mono_get_exception_index_out_of_range -mono_get_exception_invalid_cast -mono_get_exception_invalid_operation -mono_get_exception_io -mono_get_exception_method_access -mono_get_exception_missing_field -mono_get_exception_missing_method -mono_get_exception_not_implemented -mono_get_exception_not_supported -mono_get_exception_null_reference -mono_get_exception_out_of_memory -mono_get_exception_overflow -mono_get_exception_reflection_type_load -mono_get_exception_runtime_wrapped -mono_get_exception_security -mono_get_exception_serialization -mono_get_exception_stack_overflow -mono_get_exception_synchronization_lock -mono_get_exception_thread_abort -mono_get_exception_thread_interrupted -mono_get_exception_thread_state -mono_get_exception_type_initialization -mono_get_exception_type_load -mono_get_inflated_method -mono_get_int16_class -mono_get_int32_class -mono_get_int64_class -mono_get_intptr_class -mono_get_machine_config -mono_get_method -mono_get_method_constrained -mono_get_method_full -mono_get_object_class -mono_get_root_domain -mono_get_runtime_build_info -mono_get_sbyte_class -mono_get_single_class -mono_get_string_class -mono_get_thread_class -mono_get_trampoline_func -mono_get_uint16_class -mono_get_uint32_class -mono_get_uint64_class -mono_get_uintptr_class -mono_get_void_class -mono_guid_to_string -mono_image_add_to_name_cache -mono_image_addref -mono_image_close -mono_image_ensure_section -mono_image_ensure_section_idx -mono_image_fixup_vtable -mono_image_get_assembly -mono_image_get_entry_point -mono_image_get_filename -mono_image_get_guid -mono_image_get_name -mono_image_get_public_key -mono_image_get_resource -mono_image_get_strong_name -mono_image_get_table_info -mono_image_get_table_rows -mono_image_has_authenticode_entry -mono_image_init -mono_image_init_name_cache -mono_image_is_dynamic -mono_image_load_file_for_image -mono_image_load_module -mono_image_loaded -mono_image_loaded_by_guid -mono_image_loaded_by_guid_full -mono_image_loaded_full -mono_image_lookup_resource -mono_image_open -mono_image_open_from_data -mono_image_open_from_data_full -mono_image_open_from_data_with_name -mono_image_open_full -mono_image_rva_map -mono_image_strerror -mono_image_strong_name_position -mono_images_cleanup -mono_images_init -mono_init -mono_init_from_assembly -mono_init_version -mono_inst_name -mono_install_assembly_load_hook -mono_install_assembly_postload_refonly_search_hook -mono_install_assembly_postload_search_hook -mono_install_assembly_preload_hook -mono_install_assembly_refonly_preload_hook -mono_install_assembly_refonly_search_hook -mono_install_assembly_search_hook -mono_install_runtime_cleanup -mono_install_threadpool_item_hooks -mono_install_threadpool_thread_hooks -mono_install_unhandled_exception_hook -mono_invoke_unhandled_exception_hook -mono_is_debugger_attached -mono_jit_cleanup -mono_jit_exec -mono_jit_info_get_code_size -mono_jit_info_get_code_start -mono_jit_info_get_method -mono_jit_info_table_find -mono_jit_init -mono_jit_init_version -mono_jit_parse_options -mono_jit_set_aot_only -mono_jit_set_domain -mono_jit_set_trace_options -mono_jit_thread_attach -mono_ldstr -mono_ldtoken -mono_lls_init -mono_load_remote_field -mono_load_remote_field_new -mono_local_deadce -mono_locks_dump -mono_lookup_icall_symbol -mono_lookup_internal_call -mono_lookup_pinvoke_call -mono_main -mono_marshal_string_to_utf16 -mono_md5_final -mono_md5_get_digest -mono_md5_get_digest_from_file -mono_md5_init -mono_md5_update -mono_mempool_alloc -mono_mempool_alloc0 -mono_mempool_contains_addr -mono_mempool_destroy -mono_mempool_empty -mono_mempool_get_allocated -mono_mempool_invalidate -mono_mempool_new -mono_mempool_new_size -mono_mempool_stats -mono_mempool_strdup -mono_metadata_blob_heap -mono_metadata_cleanup -mono_metadata_compute_size -mono_metadata_custom_attrs_from_index -mono_metadata_declsec_from_index -mono_metadata_decode_blob_size -mono_metadata_decode_row -mono_metadata_decode_row_col -mono_metadata_decode_signed_value -mono_metadata_decode_table_row -mono_metadata_decode_table_row_col -mono_metadata_decode_value -mono_metadata_encode_value -mono_metadata_events_from_typedef -mono_metadata_field_info -mono_metadata_field_info_with_mempool -mono_metadata_free_array -mono_metadata_free_inflated_signature -mono_metadata_free_marshal_spec -mono_metadata_free_method_signature -mono_metadata_free_mh -mono_metadata_free_type -mono_metadata_generic_class_is_valuetype -mono_metadata_get_constant_index -mono_metadata_get_generic_param_row -mono_metadata_get_inflated_signature -mono_metadata_get_marshal_info -mono_metadata_guid_heap -mono_metadata_implmap_from_method -mono_metadata_init -mono_metadata_interfaces_from_typedef -mono_metadata_load_generic_param_constraints -mono_metadata_load_generic_params -mono_metadata_locate -mono_metadata_locate_token -mono_metadata_methods_from_event -mono_metadata_methods_from_property -mono_metadata_nested_in_typedef -mono_metadata_nesting_typedef -mono_metadata_packing_from_typedef -mono_metadata_parse_array -mono_metadata_parse_custom_mod -mono_metadata_parse_field_type -mono_metadata_parse_marshal_spec -mono_metadata_parse_method_signature -mono_metadata_parse_method_signature_full -mono_metadata_parse_mh -mono_metadata_parse_mh_full -mono_metadata_parse_param -mono_metadata_parse_signature -mono_metadata_parse_type -mono_metadata_parse_type_full -mono_metadata_parse_typedef_or_ref -mono_metadata_properties_from_typedef -mono_metadata_signature_alloc -mono_metadata_signature_dup -mono_metadata_signature_equal -mono_metadata_string_heap -mono_metadata_token_from_dor -mono_metadata_translate_token_index -mono_metadata_type_equal -mono_metadata_type_hash -mono_metadata_typedef_from_field -mono_metadata_typedef_from_method -mono_metadata_user_string -mono_method_body_get_object -mono_method_can_access_field -mono_method_can_access_method -mono_method_desc_free -mono_method_desc_from_method -mono_method_desc_full_match -mono_method_desc_match -mono_method_desc_new -mono_method_desc_search_in_class -mono_method_desc_search_in_image -mono_method_full_name -mono_method_get_class -mono_method_get_flags -mono_method_get_generic_container -mono_method_get_header -mono_method_get_index -mono_method_get_last_managed -mono_method_get_marshal_info -mono_method_get_name -mono_method_get_object -mono_method_get_param_names -mono_method_get_param_token -mono_method_get_signature -mono_method_get_signature_full -mono_method_get_token -mono_method_get_unmanaged_thunk -mono_method_has_marshal_info -mono_method_header_get_clauses -mono_method_header_get_code -mono_method_header_get_locals -mono_method_header_get_num_clauses -mono_method_signature -mono_method_verify -mono_mlist_alloc -mono_mlist_append -mono_mlist_get_data -mono_mlist_last -mono_mlist_length -mono_mlist_next -mono_mlist_prepend -mono_mlist_remove_item -mono_mlist_set_data -mono_mlist_set_next -mono_module_file_get_object -mono_module_get_object -mono_monitor_enter -mono_monitor_exit -mono_monitor_try_enter -mono_mprotect -mono_mutex_init_suspend_safe -mono_object_castclass_mbyref -mono_object_castclass_with_cache -mono_object_clone -mono_object_describe -mono_object_describe_fields -mono_object_get_class -mono_object_get_domain -mono_object_get_size -mono_object_get_virtual_method -mono_object_hash -mono_object_isinst -mono_object_isinst_mbyref -mono_object_isinst_with_cache -mono_object_new -mono_object_new_alloc_specific -mono_object_new_fast -mono_object_new_from_token -mono_object_new_specific -mono_object_to_string -mono_object_unbox -mono_op_to_op_imm_noemul -mono_opcode_name -mono_opcode_value -mono_pagesize -mono_param_get_objects -mono_parse_default_optimizations -mono_path_canonicalize -mono_path_resolve_symlinks -mono_pe_file_open -mono_perfcounters_init -mono_pmip -mono_poll -mono_print_method_from_ip -mono_print_thread_dump -mono_print_thread_dump_from_ctx -mono_print_unhandled_exception -mono_profiler_coverage_get -mono_profiler_get_events -mono_profiler_install -mono_profiler_install_allocation -mono_profiler_install_appdomain -mono_profiler_install_assembly -mono_profiler_install_class -mono_profiler_install_code_buffer_new -mono_profiler_install_code_chunk_destroy -mono_profiler_install_code_chunk_new -mono_profiler_install_coverage_filter -mono_profiler_install_enter_leave -mono_profiler_install_exception -mono_profiler_install_gc -mono_profiler_install_gc_moves -mono_profiler_install_gc_roots -mono_profiler_install_iomap -mono_profiler_install_jit_compile -mono_profiler_install_jit_end -mono_profiler_install_method_free -mono_profiler_install_method_invoke -mono_profiler_install_module -mono_profiler_install_monitor -mono_profiler_install_runtime_initialized -mono_profiler_install_statistical -mono_profiler_install_statistical_call_chain -mono_profiler_install_thread -mono_profiler_install_thread_name -mono_profiler_install_transition -mono_profiler_load -mono_profiler_set_events -mono_property_get_flags -mono_property_get_get_method -mono_property_get_name -mono_property_get_object -mono_property_get_parent -mono_property_get_set_method -mono_property_get_value -mono_property_hash_destroy -mono_property_hash_insert -mono_property_hash_lookup -mono_property_hash_new -mono_property_hash_remove_object -mono_property_set_value -mono_ptr_class_get -mono_raise_exception -mono_realloc_native_code -mono_reflection_free_type_info -mono_reflection_get_custom_attrs -mono_reflection_get_custom_attrs_blob -mono_reflection_get_custom_attrs_by_type -mono_reflection_get_custom_attrs_data -mono_reflection_get_custom_attrs_info -mono_reflection_get_token -mono_reflection_get_type -mono_reflection_parse_type -mono_reflection_type_from_name -mono_reflection_type_get_type -mono_register_bundled_assemblies -mono_register_config_for_assembly -mono_register_machine_config -mono_register_symfile_for_assembly -mono_replace_ins -mono_runtime_class_init -mono_runtime_cleanup -mono_runtime_delegate_invoke -mono_runtime_exec_main -mono_runtime_exec_managed_code -mono_runtime_get_main_args -mono_runtime_init -mono_runtime_invoke -mono_runtime_invoke_array -mono_runtime_is_shutting_down -mono_runtime_object_init -mono_runtime_quit -mono_runtime_resource_check_limit -mono_runtime_resource_limit -mono_runtime_resource_set_callback -mono_runtime_run_main -mono_runtime_set_shutting_down -mono_security_core_clr_get_options -mono_security_core_clr_require_elevated_permissions -mono_security_core_clr_set_options -mono_security_enable_core_clr -mono_security_set_core_clr_platform_callback -mono_sem_post -mono_sem_timedwait -mono_sem_wait -mono_set_assemblies_path -mono_set_break_policy -mono_set_config_dir -mono_set_defaults -mono_set_dirs -mono_set_is_debugger_attached -mono_set_rootdir -mono_set_signal_chaining -mono_sha1_final -mono_sha1_get_digest -mono_sha1_get_digest_from_file -mono_sha1_init -mono_sha1_update -mono_shared_area -mono_shared_area_for_pid -mono_shared_area_instances -mono_shared_area_remove -mono_shared_area_unload -mono_signature_explicit_this -mono_signature_get_call_conv -mono_signature_get_desc -mono_signature_get_param_count -mono_signature_get_params -mono_signature_get_return_type -mono_signature_hash -mono_signature_is_instance -mono_signature_param_is_out -mono_signature_vararg_start -mono_signbit_double -mono_signbit_float -mono_stack_walk -mono_stack_walk_no_il -mono_store_remote_field -mono_store_remote_field_new -mono_string_chars -mono_string_equal -mono_string_from_bstr -mono_string_from_utf16 -mono_string_hash -mono_string_intern -mono_string_is_interned -mono_string_length -mono_string_new -mono_string_new_len -mono_string_new_size -mono_string_new_utf16 -mono_string_new_wrapper -mono_string_to_utf16 -mono_string_to_utf8 -mono_string_to_utf8_checked -mono_stringify_assembly_name -mono_table_info_get_rows -mono_thread_attach -mono_thread_cleanup -mono_thread_create -mono_thread_current -mono_thread_detach -mono_thread_exit -mono_thread_get_main -mono_thread_get_undeniable_exception -mono_thread_init -mono_thread_is_foreign -mono_thread_manage -mono_thread_new_init -mono_thread_set_main -mono_thread_set_manage_callback -mono_thread_stop -mono_threads_get_default_stacksize -mono_threads_request_thread_dump -mono_threads_set_default_stacksize -mono_tls_key_get_offset -mono_tls_key_set_offset -mono_trace_set_level_string -mono_trace_set_mask_string -mono_type_create_from_typespec -mono_type_full_name -mono_type_generic_inst_is_valuetype -mono_type_get_array_type -mono_type_get_class -mono_type_get_desc -mono_type_get_modifiers -mono_type_get_name -mono_type_get_object -mono_type_get_ptr_type -mono_type_get_signature -mono_type_get_type -mono_type_get_underlying_type -mono_type_is_byref -mono_type_is_pointer -mono_type_is_reference -mono_type_is_struct -mono_type_is_valid_enum_basetype -mono_type_is_void -mono_type_size -mono_type_stack_size -mono_type_to_unmanaged -mono_unhandled_exception -mono_unicode_from_external -mono_unicode_to_external -mono_upgrade_remote_class_wrapper -mono_utf8_from_external -mono_utf8_validate_and_len -mono_utf8_validate_and_len_with_bounds -mono_valloc -mono_valloc_aligned -mono_value_box -mono_value_copy -mono_value_copy_array -mono_value_describe_fields -mono_verify_corlib -mono_vfree -mono_vtable_get_static_field_data -mono_win32_compat_CopyMemory -mono_win32_compat_FillMemory -mono_win32_compat_MoveMemory -mono_win32_compat_ZeroMemory -mono_xdebug_flush diff --git a/msvc/pedump.vcxproj b/msvc/pedump.vcxproj index 5e57c01b5dd..275e4c17c95 100644 --- a/msvc/pedump.vcxproj +++ b/msvc/pedump.vcxproj @@ -62,23 +62,23 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\libgc\include;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;GC_NOT_DLL;GC_GCJ_SUPPORT;GC_WIN32_THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -98,7 +98,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libgc.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -118,12 +118,13 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -141,7 +142,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\;..\libgc\include;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -161,7 +162,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -181,12 +182,13 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -196,13 +198,11 @@ </Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\mono\utils\strtod.c" />
<ClCompile Include="..\mono\metadata\appdomain.c" />
<ClCompile Include="..\mono\metadata\assembly.c" />
<ClCompile Include="..\mono\metadata\boehm-gc.c" />
<ClCompile Include="..\mono\metadata\class.c" />
<ClCompile Include="..\mono\metadata\console-win32.c" />
- <ClCompile Include="..\mono\metadata\decimal.c" />
<ClCompile Include="..\mono\metadata\domain.c" />
<ClCompile Include="..\mono\metadata\environment.c" />
<ClCompile Include="..\mono\metadata\file-io.c" />
@@ -222,20 +222,53 @@ <ClCompile Include="..\mono\metadata\process.c" />
<ClCompile Include="..\mono\metadata\profiler.c" />
<ClCompile Include="..\mono\metadata\rand.c" />
- <ClCompile Include="..\mono\metadata\rawbuffer.c" />
<ClCompile Include="..\mono\metadata\reflection.c" />
<ClCompile Include="..\mono\metadata\security-manager.c" />
- <ClCompile Include="..\mono\metadata\security.c" />
<ClCompile Include="..\mono\metadata\socket-io.c" />
<ClCompile Include="..\mono\metadata\string-icalls.c" />
<ClCompile Include="..\mono\metadata\sysmath.c" />
- <ClCompile Include="..\mono\metadata\threadpool.c" />
<ClCompile Include="..\mono\metadata\threads.c" />
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="eglib.vcxproj">
+ <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
+ <ProjectReference Include="libgc.vcxproj">
+ <Project>{eb56000b-c80b-4e8b-908d-d84d31b517d3}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
<ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
+ <ProjectReference Include="libmonoruntime.vcxproj">
+ <Project>{c36612bd-22d3-4b95-85e2-7fdc4fc5d739}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+ </ProjectReference>
+ <ProjectReference Include="libmonoutils.vcxproj">
+ <Project>{8fc2b0c8-51ad-49df-851f-5d01a77a75e4}</Project>
+ <Private>false</Private>
+ <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/test-invoke.vcxproj b/msvc/test-invoke.vcxproj index ecfc8d6953c..2088fa3f0ac 100644 --- a/msvc/test-invoke.vcxproj +++ b/msvc/test-invoke.vcxproj @@ -62,23 +62,23 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -117,6 +117,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -139,7 +140,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -178,6 +179,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -198,6 +200,10 @@ <ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/test-metadata.vcxproj b/msvc/test-metadata.vcxproj index 3159e42dbb8..42a5bd68e09 100644 --- a/msvc/test-metadata.vcxproj +++ b/msvc/test-metadata.vcxproj @@ -62,23 +62,23 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\include;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -117,6 +117,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -139,7 +140,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\include;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -178,6 +179,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -198,6 +200,10 @@ <ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/test_eglib.vcxproj b/msvc/test_eglib.vcxproj index 69a9aefb9c0..6986e99de77 100644 --- a/msvc/test_eglib.vcxproj +++ b/msvc/test_eglib.vcxproj @@ -62,14 +62,14 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -89,7 +89,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>false</OptimizeReferences>
@@ -115,7 +115,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
@@ -143,7 +143,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>false</OptimizeReferences>
@@ -170,7 +170,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<TargetMachine>MachineX64</TargetMachine>
</Link>
@@ -215,6 +215,10 @@ <ProjectReference Include="eglib.vcxproj">
<Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/msvc/teste.vcxproj b/msvc/teste.vcxproj index 8ec30a352f2..772dd3692c5 100644 --- a/msvc/teste.vcxproj +++ b/msvc/teste.vcxproj @@ -62,23 +62,23 @@ <PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@ <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
- <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
@@ -117,6 +117,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -139,7 +140,7 @@ </Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -178,6 +179,7 @@ </PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -198,6 +200,10 @@ <ProjectReference Include="libmono.vcxproj">
<Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <Private>false</Private>
+ <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/winconfig.h b/winconfig.h index 27e774f066c..b30a3eb1c8e 100644 --- a/winconfig.h +++ b/winconfig.h @@ -16,6 +16,10 @@ #error Unknown architecture #endif +#define WINVER 0x0A00 + +#include <SDKDDKVer.h> + #if _WIN32_WINNT < 0x0600 #error "Mono requires Windows Vista or later" #endif /* _WIN32_WINNT < 0x0600 */ |