2016-09-21 23:55:10 +03:00
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
|
<PropertyGroup>
|
|
|
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
|
|
|
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
|
|
|
|
|
<ProductVersion>8.0.30703</ProductVersion>
|
|
|
|
|
<SchemaVersion>2.0</SchemaVersion>
|
|
|
|
|
<ProjectGuid>{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}</ProjectGuid>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<OutputType>Exe</OutputType>
|
|
|
|
|
<RootNamespace>linksdk</RootNamespace>
|
|
|
|
|
<AssemblyName>link sdk</AssemblyName>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<TargetFrameworkIdentifier>Xamarin.iOS</TargetFrameworkIdentifier>
|
|
|
|
|
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)-unified</IntermediateOutputPath>
|
|
|
|
|
<DefineConstants>XAMCORE_2_0</DefineConstants>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
|
|
|
|
|
<DebugSymbols>True</DebugSymbols>
|
|
|
|
|
<DebugType>full</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
2016-10-07 15:58:13 +03:00
|
|
|
|
<OutputPath>bin\iPhoneSimulator\$(Configuration)-unified</OutputPath>
|
2017-02-10 20:22:46 +03:00
|
|
|
|
<DefineConstants>DEBUG;;$(DefineConstants)</DefineConstants>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<MtouchDebug>True</MtouchDebug>
|
|
|
|
|
<MtouchExtraArgs>-v -v -disable-thread-check -xml=${ProjectDir}/extra-linker-defs.xml</MtouchExtraArgs>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<MtouchArch>i386, x86_64</MtouchArch>
|
2016-06-12 20:44:37 +03:00
|
|
|
|
<MtouchLink>SdkOnly</MtouchLink>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
|
|
|
|
<DebugType>none</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
2016-10-07 15:58:13 +03:00
|
|
|
|
<OutputPath>bin\iPhoneSimulator\$(Configuration)-unified</OutputPath>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml</MtouchExtraArgs>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<MtouchArch>i386, x86_64</MtouchArch>
|
2017-02-10 20:22:46 +03:00
|
|
|
|
<DefineConstants>DO_NOT_REMOVE;;$(DefineConstants)</DefineConstants>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
|
|
|
|
<DebugSymbols>True</DebugSymbols>
|
|
|
|
|
<DebugType>full</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
2016-10-07 15:58:13 +03:00
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<DefineConstants>DEBUG;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<MtouchDebug>True</MtouchDebug>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk" -gcc_flags="-UhoItsB0rken"</MtouchExtraArgs>
|
2016-10-07 18:32:49 +03:00
|
|
|
|
<MtouchArch>ARMv7, ARM64</MtouchArch>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
|
|
|
|
|
</PropertyGroup>
|
2016-10-07 13:46:28 +03:00
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug32|iPhone' ">
|
|
|
|
|
<DebugSymbols>True</DebugSymbols>
|
|
|
|
|
<DebugType>full</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
|
|
|
|
<DefineConstants>DEBUG;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<MtouchDebug>True</MtouchDebug>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk" -gcc_flags="-UhoItsB0rken"</MtouchExtraArgs>
|
|
|
|
|
<MtouchArch>ARMv7</MtouchArch>
|
|
|
|
|
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
|
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug64|iPhone' ">
|
|
|
|
|
<DebugSymbols>True</DebugSymbols>
|
|
|
|
|
<DebugType>full</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
|
|
|
|
<DefineConstants>DEBUG;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<MtouchDebug>True</MtouchDebug>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk" -gcc_flags="-UhoItsB0rken"</MtouchExtraArgs>
|
|
|
|
|
<MtouchArch>ARM64</MtouchArch>
|
|
|
|
|
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
|
|
|
|
|
</PropertyGroup>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
|
|
|
|
<DebugType>none</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
2016-10-07 15:58:13 +03:00
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk"</MtouchExtraArgs>
|
|
|
|
|
<MtouchUseLlvm>True</MtouchUseLlvm>
|
2016-10-07 18:32:49 +03:00
|
|
|
|
<MtouchArch>ARMv7, ARM64</MtouchArch>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<DefineConstants>DO_NOT_REMOVE;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
|
|
|
|
</PropertyGroup>
|
2016-10-07 13:46:28 +03:00
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release32|iPhone' ">
|
|
|
|
|
<DebugType>none</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk"</MtouchExtraArgs>
|
|
|
|
|
<MtouchUseLlvm>True</MtouchUseLlvm>
|
|
|
|
|
<MtouchArch>ARMv7</MtouchArch>
|
|
|
|
|
<DefineConstants>DO_NOT_REMOVE;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release64|iPhone' ">
|
|
|
|
|
<DebugType>none</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk"</MtouchExtraArgs>
|
|
|
|
|
<MtouchUseLlvm>True</MtouchUseLlvm>
|
|
|
|
|
<MtouchArch>ARM64</MtouchArch>
|
|
|
|
|
<DefineConstants>DO_NOT_REMOVE;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
|
|
|
|
</PropertyGroup>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-bitcode|iPhone' ">
|
|
|
|
|
<DebugType>none</DebugType>
|
|
|
|
|
<Optimize>False</Optimize>
|
2016-10-07 15:58:13 +03:00
|
|
|
|
<OutputPath>bin\iPhone\$(Configuration)-unified</OutputPath>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<ErrorReport>prompt</ErrorReport>
|
|
|
|
|
<WarningLevel>4</WarningLevel>
|
|
|
|
|
<CodesignKey>iPhone Developer</CodesignKey>
|
|
|
|
|
<MtouchExtraArgs>-v -v -xml=${ProjectDir}/extra-linker-defs.xml "--dlsym:-link sdk" --bitcode:full</MtouchExtraArgs>
|
|
|
|
|
<MtouchUseLlvm>true</MtouchUseLlvm>
|
2016-10-07 18:32:49 +03:00
|
|
|
|
<MtouchArch>ARMv7, ARM64</MtouchArch>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<DefineConstants>DO_NOT_REMOVE;XAMARIN_APPLETLS;;$(DefineConstants)</DefineConstants>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</PropertyGroup>
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<Reference Include="System" />
|
|
|
|
|
<Reference Include="System.Xml" />
|
|
|
|
|
<Reference Include="System.Core" />
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<Reference Include="Xamarin.iOS" />
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<Reference Include="MonoTouch.NUnitLite" />
|
|
|
|
|
<Reference Include="Mono.Data.Sqlite" />
|
|
|
|
|
<Reference Include="System.Runtime.Serialization" />
|
|
|
|
|
<Reference Include="System.ServiceModel" />
|
|
|
|
|
<Reference Include="support">
|
|
|
|
|
<HintPath>support.dll</HintPath>
|
|
|
|
|
</Reference>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<Reference Include="OpenTK-1.0" />
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<Reference Include="System.Xml.Linq" />
|
|
|
|
|
<Reference Include="System.Json" />
|
|
|
|
|
<Reference Include="System.Data" />
|
|
|
|
|
<Reference Include="System.ServiceModel.Web" />
|
|
|
|
|
<Reference Include="System.Net.Http" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
<ItemGroup>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<None Include="Info.plist">
|
|
|
|
|
<LogicalName>Info.plist</LogicalName>
|
|
|
|
|
</None>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<None Include="extra-linker-defs.xml" />
|
|
|
|
|
</ItemGroup>
|
|
|
|
|
<ItemGroup>
|
|
|
|
|
<Compile Include="Main.cs" />
|
|
|
|
|
<Compile Include="AppDelegate.cs" />
|
|
|
|
|
<Compile Include="LinkSdkRegressionTest.cs" />
|
|
|
|
|
<Compile Include="Bug1820Test.cs" />
|
|
|
|
|
<Compile Include="Bug2096Test.cs" />
|
|
|
|
|
<Compile Include="OptimizeGeneratedCodeTest.cs" />
|
|
|
|
|
<Compile Include="AotBugs.cs" />
|
|
|
|
|
<Compile Include="CryptoTest.cs" />
|
|
|
|
|
<Compile Include="TaskTest.cs" />
|
|
|
|
|
<Compile Include="LinkExtraDefsTest.cs" />
|
|
|
|
|
<Compile Include="PclTest.cs" />
|
|
|
|
|
<Compile Include="AsyncTest.cs" />
|
|
|
|
|
<Compile Include="DataContractTest.cs" />
|
|
|
|
|
<Compile Include="CalendarTest.cs" />
|
|
|
|
|
<Compile Include="DllImportTest.cs" />
|
|
|
|
|
<Compile Include="LocaleTest.cs" />
|
|
|
|
|
<Compile Include="ReflectionTest.cs" />
|
2016-06-12 20:44:37 +03:00
|
|
|
|
<Compile Include="HttpClientHandlerTest.cs" />
|
[linker] Add an well known candidate inliner substep along with tests (#1513)
TL&DR: This is *how* it should be done and tested, it's not complete
(single, simple case) nor the most interesting case ;-)
The trick is to make sure each case is covered by tests so a mono
_bump_ won't give us a BCL that does not conform to what the linker
expect.
What's the impact ?
1. There is the expected reduction of metadata in mscorlib. Since both
methods don't call other API there's no indirect effect (removal).
--- before 2017-01-15 11:12:44.000000000 -0500
+++ after 2017-01-15 11:12:56.000000000 -0500
@@ -13166,9 +13166,6 @@
System.Void System.Security.SecurityException::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
System.Void System.Security.SecurityException::.ctor(System.String)
System.Void System.Security.SecurityException::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
-System.Boolean System.Security.SecurityManager::CheckElevatedPermissions()
-System.Security.SecurityManager
-System.Void System.Security.SecurityManager::EnsureElevatedPermissions()
System.Security.SecurityRulesAttribute
System.Security.SecurityRuleSet System.Security.SecurityRulesAttribute::m_ruleSet
System.Void System.Security.SecurityRulesAttribute::.ctor(System.Security.SecurityRuleSet)
2. There is no visible size change (even with #1) in mscorlib.dll due to
padding (compiler /filealign)
mscorlib.dll 793,600 793,600 0 0.00 %
3. there's a *very* small reduction of mscorlib.*.aotdata size
mscorlib.armv7.aotdata 717,264 717,216 -48 -0.01 %
mscorlib.arm64.aotdata 712,840 712,704 -136 -0.02 %
AOT data *.aotdata 6,460,064 6,459,880 -184 0.00 %
4. there's no change in executable size - normal as the AOT compiler has
_likely_ already doing the same optimization (before this commit)
Executable 29,270,272 29,270,272 0 0.00 %
Full comparison: https://gist.github.com/spouliot/0464c8fa3a92b6486dfd90595d9eb718
2017-01-18 05:49:44 +03:00
|
|
|
|
<Compile Include="CanaryTest.cs" />
|
2017-02-10 20:22:46 +03:00
|
|
|
|
<Compile Include="..\..\common\TestRuntime.cs">
|
|
|
|
|
<Link>TestRuntime.cs</Link>
|
|
|
|
|
</Compile>
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</ItemGroup>
|
|
|
|
|
<ItemGroup>
|
2016-06-09 00:39:47 +03:00
|
|
|
|
<ProjectReference Include="..\..\BundledResources\BundledResources.csproj">
|
2016-05-20 21:07:34 +03:00
|
|
|
|
<Project>{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}</Project>
|
|
|
|
|
<Name>BundledResources</Name>
|
|
|
|
|
</ProjectReference>
|
|
|
|
|
</ItemGroup>
|
2016-09-21 23:55:10 +03:00
|
|
|
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
2016-05-20 21:07:34 +03:00
|
|
|
|
</Project>
|