You've already forked linux-packaging-mono
Imported Upstream version 4.4.2.4
Former-commit-id: 92904c9c5915c37244316e42ba99e7b934ed7ee2
This commit is contained in:
parent
589d484eee
commit
0b4a830db1
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// AssemblyInfo.cs
|
||||
//
|
||||
// Author:
|
||||
// Alexander Köplinger (alexander.koeplinger@xamarin.com)
|
||||
//
|
||||
// (C) 2016 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.Reflection;
|
||||
using System.Resources;
|
||||
using System.Security;
|
||||
using System.Security.Permissions;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about the assembly
|
||||
|
||||
[assembly: AssemblyTitle ("System.Runtime.InteropServices.RuntimeInformation.dll")]
|
||||
[assembly: AssemblyDescription ("System.Runtime.InteropServices.RuntimeInformation.dll")]
|
||||
[assembly: AssemblyDefaultAlias ("System.Runtime.InteropServices.RuntimeInformation.dll")]
|
||||
|
||||
[assembly: AssemblyCompany (Consts.MonoCompany)]
|
||||
[assembly: AssemblyProduct (Consts.MonoProduct)]
|
||||
[assembly: AssemblyCopyright (Consts.MonoCopyright)]
|
||||
[assembly: AssemblyVersion (Consts.FxVersion)]
|
||||
[assembly: SatelliteContractVersion (Consts.FxVersion)]
|
||||
[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
|
||||
[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
|
||||
|
||||
[assembly: NeutralResourcesLanguage ("en-US")]
|
||||
[assembly: CLSCompliant (true)]
|
||||
[assembly: AssemblyDelaySign (true)]
|
||||
|
||||
[assembly: AssemblyKeyFile("../msfinal.pub")]
|
||||
|
||||
[assembly: SecurityCritical]
|
||||
|
||||
[assembly: ComVisible (false)]
|
@@ -0,0 +1,11 @@
|
||||
thisdir = class/System.Runtime.InteropServices.RuntimeInformation
|
||||
SUBDIRS =
|
||||
include ../../build/rules.make
|
||||
|
||||
LIBRARY = System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
LIB_REFS = System
|
||||
LIB_MCS_FLAGS =
|
||||
|
||||
NO_TEST = yes
|
||||
|
||||
include ../../build/library.make
|
@@ -0,0 +1,7 @@
|
||||
../../build/common/Consts.cs
|
||||
../../build/common/Locale.cs
|
||||
../../build/common/MonoTODOAttribute.cs
|
||||
Assembly/AssemblyInfo.cs
|
||||
System.Runtime.InteropServices/Architecture.cs
|
||||
System.Runtime.InteropServices/OSPlatform.cs
|
||||
System.Runtime.InteropServices/RuntimeInformation.cs
|
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// Architecture.cs
|
||||
//
|
||||
// Author:
|
||||
// Alexander Köplinger (alexander.koeplinger@xamarin.com)
|
||||
//
|
||||
// (C) 2016 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.
|
||||
//
|
||||
|
||||
namespace System.Runtime.InteropServices
|
||||
{
|
||||
public enum Architecture
|
||||
{
|
||||
X86,
|
||||
X64,
|
||||
Arm,
|
||||
Arm64
|
||||
}
|
||||
}
|
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// OSPlatform.cs
|
||||
//
|
||||
// Author:
|
||||
// Alexander Köplinger (alexander.koeplinger@xamarin.com)
|
||||
//
|
||||
// (C) 2016 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.
|
||||
//
|
||||
|
||||
namespace System.Runtime.InteropServices
|
||||
{
|
||||
public struct OSPlatform : IEquatable<OSPlatform>
|
||||
{
|
||||
private readonly string _osPlatform;
|
||||
|
||||
public static OSPlatform Linux { get; } = new OSPlatform ("LINUX");
|
||||
|
||||
public static OSPlatform OSX { get; } = new OSPlatform ("OSX");
|
||||
|
||||
public static OSPlatform Windows { get; } = new OSPlatform ("WINDOWS");
|
||||
|
||||
private OSPlatform (string osPlatform)
|
||||
{
|
||||
if (osPlatform == null) throw new ArgumentNullException (nameof (osPlatform));
|
||||
if (osPlatform.Length == 0) throw new ArgumentException ("Value cannot be empty.", nameof (osPlatform));
|
||||
|
||||
_osPlatform = osPlatform;
|
||||
}
|
||||
|
||||
public static OSPlatform Create (string osPlatform)
|
||||
{
|
||||
return new OSPlatform (osPlatform);
|
||||
}
|
||||
|
||||
public bool Equals (OSPlatform other)
|
||||
{
|
||||
return Equals (other._osPlatform);
|
||||
}
|
||||
|
||||
internal bool Equals (string other)
|
||||
{
|
||||
return string.Equals (_osPlatform, other, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
public override bool Equals (object obj)
|
||||
{
|
||||
return obj is OSPlatform && Equals ((OSPlatform)obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode ()
|
||||
{
|
||||
return _osPlatform == null ? 0 : _osPlatform.GetHashCode ();
|
||||
}
|
||||
|
||||
public override string ToString ()
|
||||
{
|
||||
return _osPlatform ?? string.Empty;
|
||||
}
|
||||
|
||||
public static bool operator ==(OSPlatform left, OSPlatform right)
|
||||
{
|
||||
return left.Equals (right);
|
||||
}
|
||||
|
||||
public static bool operator !=(OSPlatform left, OSPlatform right)
|
||||
{
|
||||
return !(left == right);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// RuntimeInformation.cs
|
||||
//
|
||||
// Author:
|
||||
// Alexander Köplinger (alexander.koeplinger@xamarin.com)
|
||||
//
|
||||
// (C) 2016 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.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace System.Runtime.InteropServices
|
||||
{
|
||||
public static class RuntimeInformation
|
||||
{
|
||||
[DllImport ("__Internal")]
|
||||
extern static string mono_get_runtime_build_info ();
|
||||
|
||||
public static string FrameworkDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
return mono_get_runtime_build_info ();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsOSPlatform (OSPlatform osPlatform)
|
||||
{
|
||||
// TODO: very barebones implementation
|
||||
|
||||
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
|
||||
return osPlatform == OSPlatform.Windows;
|
||||
|
||||
if (Environment.OSVersion.Platform == PlatformID.Unix && File.Exists ("/usr/lib/libc.dylib"))
|
||||
return osPlatform == OSPlatform.OSX;
|
||||
|
||||
if (Environment.OSVersion.Platform == PlatformID.Unix)
|
||||
return osPlatform == OSPlatform.Linux;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string OSDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
return Environment.OSVersion.VersionString;
|
||||
}
|
||||
}
|
||||
|
||||
public static Architecture OSArchitecture
|
||||
{
|
||||
get
|
||||
{
|
||||
// TODO: very barebones implementation, doesn't respect ARM
|
||||
return Environment.Is64BitOperatingSystem ? Architecture.X64 : Architecture.X86;
|
||||
}
|
||||
}
|
||||
|
||||
public static Architecture ProcessArchitecture
|
||||
{
|
||||
get
|
||||
{
|
||||
// TODO: very barebones implementation, doesn't respect ARM
|
||||
return Environment.Is64BitProcess ? Architecture.X64 : Architecture.X86;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user