xamarin-macios/tools/mmp/mmp.csproj

416 строки
18 KiB
XML
Исходник Обычный вид История

2016-04-21 15:57:02 +03:00
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F3232882-0FA0-4BB6-9D9C-E2CC779EAF0D}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>linker</RootNamespace>
<AssemblyName>mmp</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<UseXamMacFullFramework>true</UseXamMacFullFramework>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>MONOMAC;MMP;DEBUG</DefineConstants>
2016-04-21 15:57:02 +03:00
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>anycpu</PlatformTarget>
2016-04-21 15:57:02 +03:00
<ConsolePause>False</ConsolePause>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnableCodeSigning>false</EnableCodeSigning>
<CreatePackage>false</CreatePackage>
<EnablePackageSigning>false</EnablePackageSigning>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<UseSGen>false</UseSGen>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<ConsolePause>False</ConsolePause>
2016-04-25 05:36:52 +03:00
<DefineConstants>MONOMAC;MMP</DefineConstants>
2016-04-21 15:57:02 +03:00
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnableCodeSigning>false</EnableCodeSigning>
<CreatePackage>false</CreatePackage>
<EnablePackageSigning>false</EnablePackageSigning>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<UseSGen>false</UseSGen>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Security" />
</ItemGroup>
<ItemGroup>
<Compile Include="Application.cs" />
2016-04-25 05:36:52 +03:00
<Compile Include="driver.cs" />
<Compile Include="aot.cs" />
2016-04-25 05:36:52 +03:00
<Compile Include="resolver.cs" />
<Compile Include="Tuning.cs" />
<Compile Include="Assembly.cs" />
<Compile Include="error.cs" />
<Compile Include="SdkVersions.cs" />
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\ApplyPreserveAttributeBase.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\ApplyPreserveAttributeBase.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\CecilRocks.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\CecilRocks.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\CustomizeActions.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\CustomizeActions.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\Dispatcher.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\Dispatcher.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\Extensions.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\Extensions.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\PreserveCrypto.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\PreserveCrypto.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\PreserveSoapHttpClients.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\PreserveSoapHttpClients.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\RemoveAttributesBase.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\RemoveAttributesBase.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\RemoveResources.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\RemoveResources.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\RemoveSecurity.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\RemoveSecurity.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\TunerAnnotations.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\TunerAnnotations.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\Annotations.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\Annotations.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\AssemblyAction.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\AssemblyAction.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\AssemblyResolver.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\AssemblyResolver.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\I18nAssemblies.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\I18nAssemblies.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\IXApiVisitor.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\IXApiVisitor.cs</Link>
</Compile>
[runtime] integrate mono 2017-10 (#2905) * Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now. * [builds] Pass --with-cross-offsets= to crosstv's configure. * Bump mono to 2017-08. * Bump mono to 2017-08. * Force disable 'futimens' and 'utimensat' so that we build with Xcode 9. This is also needed to build with Xcode 8.3 on High Sierra. * Remove old AppleTls implementation. * Bump mono. * Bump mono to 2017-08. * Bump mono to 2017-08 * Reenable link-keep-resources-2 test - This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4. - 2017-08 has linker fix * Bump mono to 2017-10 * Revert "Bump mono to 2017-10" This reverts commit bb7832724e18f8578449e46426382a537f3f4823. * Bump system mono to 2017-10 * Bump embedded mono to 2017-10 * [runtime] reflect eglib move https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7 * bump mono * [btouch] remove Security.Tls usage from test * [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now. see https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e fixes: ``` 1) Failed : Xamarin.MTouch.Profiling(tvOS) _mono_profiler_startup_log Expected: collection containing "_mono_profiler_startup_log" But was: < "_mono_profiler_init_log" > at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0 2) Failed : Xamarin.MTouch.Profiling(watchOS) _mono_profiler_startup_log Expected: collection containing "_mono_profiler_startup_log" But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" > at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0 ``` * [mmptest] update log profiler options. https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091 deprecated the dash prefix for the mlpd path. `noallocs` or `nocalls` are not needed, neither of them are default anymore. * [mmptest] fix link-keep-resources-2 test to cope with more corlib resources. another corlib resource (mscorlib.xml) was added: https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d * Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources." This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7. * [XHarness] Add the Mono.Data.Tds tests. * Address comments from rolf in the review. * [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped the test was failing in that way: > Executing link-keep-resources-2... > [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml also update the output, because it's actually expected at least three elements. fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277 * bump mono fixes crash in tvOS: https://github.com/mono/mono/pull/5812 * bump mono for updated BCL tests see https://github.com/mono/mono/pull/5820 * [mono] set 2017-10 branch in .gitmodules * [macos] Fix guiunit error on clean builds by depending on correct copy (#2912) * [macos] Fix guiunit error on clean builds by depending on correct copy - From a clean build making a BCL test would error due to the non-mobile guiunit not being built - This was because the Makefile-mac.inc target was incorrect - This was because xharness assumed that non variation based targets were always Modern - However, BCL tests are Full, not Modern * Code review change * Swap to var to reduce diff * Revert changes in the paths for GuiUnit. * [XHarness] Add the System.IO.Compression bcl tests. (#2918) * [XHarness] Add the System.IO.Compression bcl tests. * [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924) * [XHarness] Add the System.IO.Compression bcl tests. * Ensure that resources are correctly copied in the bundles. * [XHarness] Add bcl tests for System.IO.Compression.FileSystem. * As per review, make the Mac test app name match the tests that are ran. * [XHarness] Add Mono.CSharp tests on ios. (#2927) * [XHarness] Add Mono.CSharp tests on ios. * Bump mono to bring changes in the mono.csharp tests. * [xtro-sharpie] fix TypeDefinition access due to Cecil change * Bump mono * bump mono fixes - https://bugzilla.xamarin.com/show_bug.cgi?id=60480 - https://bugzilla.xamarin.com/show_bug.cgi?id=60482 * bump mono more fixes around conflicting paths when tests are run in parallel. * Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\ILogger.cs">
<Link>Mono.Linker\ILogger.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\ConsoleLogger.cs">
<Link>Mono.Linker\ConsoleLogger.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\LinkContext.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\LinkContext.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\LoadException.cs">
<Link>Mono.Linker\LoadException.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\MarkException.cs">
<Link>Mono.Linker\MarkException.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\MethodAction.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\MethodAction.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\Pipeline.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\Pipeline.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\MethodReferenceExtensions.cs">
2017-09-05 21:48:09 +03:00
<Link>Linker\Mono.Linker\MethodReferenceExtensions.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\TypeReferenceExtensions.cs">
2017-09-05 21:48:09 +03:00
<Link>Linker\Mono.Linker\TypeReferenceExtensions.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\TypePreserve.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\TypePreserve.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker\XApiReader.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker\XApiReader.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\BaseStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\BaseStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\BlacklistStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\BlacklistStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\CleanStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\CleanStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\IStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\IStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\LoadI18nAssemblies.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\LoadI18nAssemblies.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\LoadReferencesStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\LoadReferencesStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\MarkStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\MarkStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\OutputStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\OutputStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\RegenerateGuidStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\RegenerateGuidStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\ResolveFromAssemblyStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\ResolveFromAssemblyStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\ResolveFromXApiStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\ResolveFromXApiStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\ResolveFromXmlStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\ResolveFromXmlStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\ResolveStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\ResolveStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\SweepStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\SweepStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\linker\Mono.Linker.Steps\TypeMapStep.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Linker.Steps\TypeMapStep.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\external\linker\tuner\Mono.Tuner\Profile.cs">
2016-04-21 15:57:02 +03:00
<Link>Mono.Tuner\Profile.cs</Link>
</Compile>
<Compile Include="..\..\external\mono\mcs\class\Mono.Options\Mono.Options\Options.cs">
<Link>Options.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MonoMacMarkStep.cs">
<Link>MonoMac.Tuner\MonoMacMarkStep.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MonoMacProfile.cs">
<Link>MonoMac.Tuner\MonoMacProfile.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MonoMacNamespaces.cs">
<Link>MonoMac.Tuner\MonoMacNamespaces.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\OptimizeGeneratedCodeSubStep.cs">
<Link>MonoMac.Tuner\OptimizeGeneratedCodeSubStep.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MonoMacPreserveCode.cs">
<Link>MonoMac.Tuner\MonoMacPreserveCode.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MacRemoveResources.cs">
<Link>MonoMac.Tuner\MacRemoveResources.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MacMobileProfile.cs">
<Link>MonoMac.Tuner\MacMobileProfile.cs</Link>
</Compile>
<Compile Include="..\linker\BaseProfile.cs">
<Link>Xamarin.Linker\BaseProfile.cs</Link>
</Compile>
<Compile Include="..\linker\RemoveSelectors.cs">
<Link>Xamarin.Linker\RemoveSelectors.cs</Link>
</Compile>
<Compile Include="..\linker\ObjCExtensions.cs">
<Link>Xamarin.Linker\ObjCExtensions.cs</Link>
</Compile>
<Compile Include="..\linker\MarkNSObjects.cs">
<Link>Xamarin.Linker\MarkNSObjects.cs</Link>
</Compile>
<Compile Include="..\linker\ApplyPreserveAttribute.cs">
<Link>Xamarin.Linker\ApplyPreserveAttribute.cs</Link>
</Compile>
<Compile Include="..\linker\CoreRemoveAttributes.cs">
<Link>Xamarin.Linker\CoreRemoveAttributes.cs</Link>
</Compile>
<Compile Include="..\linker\CoreHttpMessageHandler.cs">
<Link>Xamarin.Linker\CoreHttpMessageHandler.cs</Link>
</Compile>
<Compile Include="..\linker\MobileRemoveAttributes.cs">
<Link>Xamarin.Linker\MobileRemoveAttributes.cs</Link>
</Compile>
<Compile Include="..\linker\MobileMarkStep.cs">
<Link>Xamarin.Linker\MobileMarkStep.cs</Link>
</Compile>
<Compile Include="..\linker\MobileExtensions.cs">
<Link>Xamarin.Linker\MobileExtensions.cs</Link>
</Compile>
<Compile Include="..\linker\CoreMarkStep.cs">
<Link>Xamarin.Linker\CoreMarkStep.cs</Link>
</Compile>
<Compile Include="..\linker\CorePreserveCode.cs">
<Link>Xamarin.Linker\CorePreserveCode.cs</Link>
</Compile>
<Compile Include="..\linker\MobileProfile.cs">
<Link>Xamarin.Linker\MobileProfile.cs</Link>
</Compile>
<Compile Include="..\linker\MobileSweepStep.cs">
<Link>Xamarin.Linker\MobileSweepStep.cs</Link>
</Compile>
<Compile Include="..\linker\CoreOptimizeGeneratedCode.cs">
<Link>Xamarin.Linker\CoreOptimizeGeneratedCode.cs</Link>
</Compile>
2016-04-25 05:36:52 +03:00
<Compile Include="..\linker\CoreRemoveSecurity.cs">
<Link>Xamarin.Linker\CoreRemoveSecurity.cs</Link>
</Compile>
<Compile Include="..\linker\MonoTouch.Tuner\Extensions.cs">
<Link>MonoTouch.Tuner\Extensions.cs</Link>
</Compile>
<Compile Include="..\linker\MonoTouch.Tuner\ListExportedSymbols.cs">
<Link>MonoTouch.Tuner\ListExportedSymbols.cs</Link>
</Compile>
<Compile Include="..\linker\MonoTouch.Tuner\ProcessExportedFields.cs">
<Link>MonoTouch.Tuner\ProcessExportedFields.cs</Link>
</Compile>
<Compile Include="..\linker\MonoTouch.Tuner\PreserveSmartEnumConversionsSubStep.cs">
<Link>MonoTouch.Tuner\PreserveSmartEnumConversionsSubStep.cs</Link>
</Compile>
2016-04-25 05:36:52 +03:00
<Compile Include="..\..\src\build\mac\Constants.cs">
<Link>external\Constants.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\ErrorHelper.cs">
<Link>external\ErrorHelper.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\ExceptionMode.cs">
<Link>external\ExceptionMode.cs</Link>
</Compile>
2016-04-25 05:36:52 +03:00
<Compile Include="..\..\src\ObjCRuntime\Registrar.cs">
<Link>external\Registrar.cs</Link>
</Compile>
<Compile Include="..\common\TargetFramework.cs">
<Link>external\TargetFramework.cs</Link>
</Compile>
<Compile Include="..\common\cache.cs">
<Link>external\cache.cs</Link>
</Compile>
2016-04-21 15:57:02 +03:00
<Compile Include="..\common\Driver.cs">
<Link>external\Driver.cs</Link>
</Compile>
<Compile Include="..\common\StaticRegistrar.cs">
<Link>external\StaticRegistrar.cs</Link>
</Compile>
<Compile Include="..\common\MachO.cs">
<Link>external\MachO.cs</Link>
</Compile>
<Compile Include="..\common\Frameworks.cs">
<Link>external\Frameworks.cs</Link>
</Compile>
<Compile Include="..\common\Application.cs">
<Link>external\Application.cs</Link>
</Compile>
<Compile Include="..\common\Assembly.cs">
<Link>external\Assembly.cs</Link>
</Compile>
<Compile Include="..\common\Target.cs">
<Link>external\Target.cs</Link>
</Compile>
<Compile Include="..\common\DerivedLinkContext.cs">
<Link>external\DerivedLinkContext.cs</Link>
</Compile>
[mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242) * [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. 1. Add an --optimize flag to mtouch/mmp that allows users to select which optimizations to apply (or not). This makes it easier to add future optimizations, and allow users to disable any optimization that causes problems without having to disable many other features. 2. Share as much optimization code as possible between mtouch and mmp. This immediately gives a benefit to mmp, which has three new optimizations only mtouch had: NSObject.IsDirectBinding inlining, IntPtr.Size inlining and dead code elimination. This results in ~6kb of disk space saved for a linked Xamarin.Mac app: * link sdk: [Debug][1], [Release][2] * link all: [Debug][3], [Release][4] Testing also verifies that monotouchtest ([Debug][5], [Release][6]) has not changed size at all, which means that no default optimizations have changed inadvertedly. [1]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--debug [2]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--release [3]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--debug [4]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--release [5]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonedebug64 [6]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonerelease64 * [tools] Don't enable the IsDirectBinding optimization by default for Xamarin.Mac apps, it's not safe. * Fix whitespace issues. * [doc] Document optimizations. * Officially support optimizations by adding them to the Versions.plist. * [linker] Improve IntPtr.Size inliner + dead code eliminatior and add tests. * Properly handle operands for the ldc_i4_s instruction (they're sbyte). * Fix less-than condition to actually do a less-than comparison. * Make sure to look up the bitness in the Target, not the Application, since the Application's value will be incorrect when building fat apps (both Is32Build and Is64Build will be true). * Remove unnecessary checks for the IntPtr.Size inliner: this optimization does not depend on other instructions than the IntPtr.get_Size call, so remove the checks that verify surrounding instructions. This makes the IntPtr.Size inliner kick in in more scenarios (such as the new tests). * Add tests. * [tests] Add mmp tests for optimizations. * [tests] Fix XM optimization tests. * [tests] Fix test build error.
2018-01-23 13:33:48 +03:00
<Compile Include="..\common\Optimizations.cs">
<Link>external\Optimizations.cs</Link>
</Compile>
2016-04-21 15:57:02 +03:00
<Compile Include="..\..\src\ObjCRuntime\Registrar.core.cs">
<Link>external\Registrar.core.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\RuntimeOptions.cs">
<Link>external\RuntimeOptions.cs</Link>
</Compile>
<Compile Include="..\..\src\Foundation\ConnectAttribute.cs">
<Link>external\ConnectAttribute.cs</Link>
</Compile>
<Compile Include="..\..\src\Foundation\ExportAttribute.cs">
<Link>external\ExportAttribute.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\ArgumentSemantic.cs">
<Link>external\ArgumentSemantic.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\LinkWithAttribute.cs">
<Link>external\LinkWithAttribute.cs</Link>
</Compile>
<Compile Include="..\..\src\ObjCRuntime\PlatformAvailability2.cs">
<Link>external\PlatformAvailability2.cs</Link>
</Compile>
Add a BindingImpl attribute and use to to teach the linker look for it to search for optimizable code. (#3299) * [ObjCRuntime] Add a BindingImplAttribute. * [linker] Make ProviderToString an extension method on ICustomAttributeProvider to make it more discoverable. * [generator] Use [BindingImpl] instead of [CompilerGenerated]. The entire diff is big (89MB), so it can't be gisted. However, most of it is either removal of `using System.Runtime.CompilerServices;` or the change from `[CompilerGenerated]` to `[BindingImpl (...)]` like this: https://gist.github.com/rolfbjarne/8bfda3ed37b956d0342a1c1e9b079244 If I remove those parts of the diff, there's nothing significant left: https://gist.github.com/rolfbjarne/4156164d6bdb1376366200394eb8a091 * [linker] Teach the linker about the new [BindingImpl] attribute. In addition to the existing logic where the linker would optimize some [CompilerGenerated] code (sometimes with additional requirements), it will now also optimize all [BindingImpl (Optimizable)] code (without any additional requirements). * [tests] Add tests to make sure [BindingImpl (Optimizable)] works as expected. * [linker] Check for [BindingImpl] before [CompilerGenerated] and stop checking for [CompilerGenerated] in XAMCORE_4_0. Check for [BindingImpl] before checking for [CompilerGenerated], since the former is more common. Also stop checking for [CompilerGenerated] (at least to mean that code is optimizable) in our next non-compatible evolutionary leap (XAMCORE_4_0): * [introspection] Impl a better typo check.
2018-01-26 20:38:23 +03:00
<Compile Include="..\..\src\ObjCRuntime\BindingImplAttribute.cs">
<Link>external\BindingImplAttribute.cs</Link>
</Compile>
<Compile Include="..\common\PInvokeWrapperGenerator.cs">
<Link>external\PInvokeWrapperGenerator.cs</Link>
</Compile>
[mtouch][linker] Provide a more specific error code when OptimizeGeneratedCodeSubStep fails (#903) The MT2001 error is a general, something went bad, in the linker code base. The stack trace is often enough to track down issues but in some cases it would be easier to ask customers for a specific assembly (rather than their complete project) to investigate an issue. Example: error MT2103: Binding Optimizer failed processing `System.Void GoogleConversionTracking.Unified.GoogleConversionPing::.ctor()`. --- inner exception System.NullReferenceException: Object reference not set to an instance of an object at MonoTouch.Tuner.OptimizeGeneratedCodeSubStep.ProcessIsDirectBinding (Mono.Cecil.MethodDefinition caller, Mono.Cecil.Cil.Instruction ins) [0x00026] in /Users/poupou/git/xamarin/xamarin-macios/tools/linker/MonoTouch.Tuner/OptimizeGeneratedCodeSubStep.cs:264 at MonoTouch.Tuner.OptimizeGeneratedCodeSubStep.ProcessCalls (Mono.Cecil.MethodDefinition caller, Int32 i) [0x00337] in /Users/poupou/git/xamarin/xamarin-macios/tools/linker/MonoTouch.Tuner/OptimizeGeneratedCodeSubStep.cs:197 at MonoTouch.Tuner.OptimizeGeneratedCodeSubStep.Process (Mono.Cecil.MethodDefinition method) [0x0007b] in /Users/poupou/git/xamarin/xamarin-macios/tools/linker/MonoTouch.Tuner/OptimizeGeneratedCodeSubStep.cs:81 at Xamarin.Linker.StateSubStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00004] in /Users/poupou/git/xamarin/xamarin-macios/tools/linker/CoreOptimizeGeneratedCode.cs:48 --- at Xamarin.Linker.StateSubStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00014] in /Users/poupou/git/xamarin/xamarin-macios/tools/linker/CoreOptimizeGeneratedCode.cs:50 at Mono.Tuner.SubStepDispatcher.DispatchMethod (Mono.Cecil.MethodDefinition method) [0x0001d] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/tuner/Mono.Tuner/Dispatcher.cs:215 at Mono.Tuner.SubStepDispatcher.BrowseMethods (ICollection methods) [0x0001c] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/tuner/Mono.Tuner/Dispatcher.cs:167 at Mono.Tuner.SubStepDispatcher.BrowseTypes (ICollection types) [0x0006b] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/tuner/Mono.Tuner/Dispatcher.cs:145 at Mono.Tuner.SubStepDispatcher.BrowseAssemblies (IEnumerable`1 assemblies) [0x00050] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/tuner/Mono.Tuner/Dispatcher.cs:123 at Mono.Tuner.SubStepDispatcher.Process (Mono.Linker.LinkContext context) [0x0000f] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/tuner/Mono.Tuner/Dispatcher.cs:104 at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x00027] in /Users/poupou/git/xamarin/xamarin-macios/external/mono/mcs/tools/linker/Mono.Linker/Pipeline.cs:118 at MonoTouch.Tuner.Linker.Process (MonoTouch.Tuner.LinkerOptions options, MonoTouch.Tuner.MonoTouchLinkContext& context, System.Collections.Generic.List`1& assemblies) [0x000ac] in /Users/poupou/git/xamarin/xamarin-macios/tools/mtouch/Tuning.cs:79 Right now the MT2001 would only include the inner exception, which does not include any clue to which assembly caused the exception. Note: The same pattern to be applied to other BaseSubStep subclasses in separate commits. Related to (but not the fix for) https://bugzilla.xamarin.com/show_bug.cgi?id=44701
2016-09-28 18:46:14 +03:00
<Compile Include="..\linker\ExceptionalSubStep.cs">
<Link>Xamarin.Linker\ExceptionalSubStep.cs</Link>
</Compile>
<Compile Include="..\linker\RemoveUserResourcesSubStep.cs">
<Link>Xamarin.Linker\RemoveUserResourcesSubStep.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\XamarinMacProfile.cs">
<Link>MonoMac.Tuner\XamarinMacProfile.cs</Link>
</Compile>
<Compile Include="linker\MonoMac.Tuner\MacBaseProfile.cs">
<Link>MonoMac.Tuner\MacBaseProfile.cs</Link>
</Compile>
[mtouch] Improve how we make sure native symbols aren't stripped away. Fixes #51710 and #54417. (#2162) * [mtouch] Improve how we make sure native symbols aren't stripped away. Fixes #51710 and #54417. * Refactor required symbol collection to store more information about each symbol (field, function, Objective-C class), and in general make the code more straight forward. * Implement support for generating source code that references these symbols, and do this whenever we can't ask the native linker to keep these symbols (when using bitcode). Additionally make it possible to do this manually, so that the source code can be generated for non-bitcode platforms too (which is useful if the number of symbols is enormous, in which case we might surpass the maximum command-line length). * Also make it possible to completely ignore native symbols, or ignore them on a per-symbol basis. This provides a fallback for users if we get something right and we try to preserve something that shouldn't be preserved (for instance if it doesn't exist), and the user ends up with unfixable linker errors. * Don't collect Objective-C classes unless they're in an assembly with LinkWith attributes. We don't need to preserve Objective-C classes in any other circumstances. * Implement everything for both Xamarin.iOS and Xamarin.Mac, and share the code between them. * Remove previous workaround for bug #51710, since it's no longer needed. * Add tests. https://bugzilla.xamarin.com/show_bug.cgi?id=54417 https://bugzilla.xamarin.com/show_bug.cgi?id=51710 * [mtouch] Make sure to only keep symbols from the current app when code sharing. This fixes a build problem with the interdependent-binding-projects test when testing in Today Extension mode.
2017-06-02 19:29:19 +03:00
<Compile Include="..\common\Symbols.cs">
<Link>external\Symbols.cs</Link>
</Compile>
<Compile Include="..\common\StringUtils.cs">
<Link>external\StringUtils.cs</Link>
</Compile>
<Compile Include="..\common\CoreResolver.cs">
<Link>common\CoreResolver.cs</Link>
</Compile>
[mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242) * [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. 1. Add an --optimize flag to mtouch/mmp that allows users to select which optimizations to apply (or not). This makes it easier to add future optimizations, and allow users to disable any optimization that causes problems without having to disable many other features. 2. Share as much optimization code as possible between mtouch and mmp. This immediately gives a benefit to mmp, which has three new optimizations only mtouch had: NSObject.IsDirectBinding inlining, IntPtr.Size inlining and dead code elimination. This results in ~6kb of disk space saved for a linked Xamarin.Mac app: * link sdk: [Debug][1], [Release][2] * link all: [Debug][3], [Release][4] Testing also verifies that monotouchtest ([Debug][5], [Release][6]) has not changed size at all, which means that no default optimizations have changed inadvertedly. [1]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--debug [2]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--release [3]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--debug [4]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--release [5]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonedebug64 [6]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonerelease64 * [tools] Don't enable the IsDirectBinding optimization by default for Xamarin.Mac apps, it's not safe. * Fix whitespace issues. * [doc] Document optimizations. * Officially support optimizations by adding them to the Versions.plist. * [linker] Improve IntPtr.Size inliner + dead code eliminatior and add tests. * Properly handle operands for the ldc_i4_s instruction (they're sbyte). * Fix less-than condition to actually do a less-than comparison. * Make sure to look up the bitness in the Target, not the Application, since the Application's value will be incorrect when building fat apps (both Is32Build and Is64Build will be true). * Remove unnecessary checks for the IntPtr.Size inliner: this optimization does not depend on other instructions than the IntPtr.get_Size call, so remove the checks that verify surrounding instructions. This makes the IntPtr.Size inliner kick in in more scenarios (such as the new tests). * Add tests. * [tests] Add mmp tests for optimizations. * [tests] Fix XM optimization tests. * [tests] Fix test build error.
2018-01-23 13:33:48 +03:00
<Compile Include="..\..\..\..\master\xamarin-macios\tools\linker\MonoTouch.Tuner\MonoTouchTypeMap.cs">
<Link>MonoTouch.Tuner\MonoTouchTypeMap.cs</Link>
</Compile>
2016-04-21 15:57:02 +03:00
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<EmbeddedResource Include="config">
<LogicalName>config</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="linker\Descriptors\mscorlib.xml">
<Link>Resources\mscorlib.xml</Link>
<LogicalName>mscorlib.xml</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="config_mobile">
<LogicalName>config_mobile</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="machine.4_5.config">
<LogicalName>machine.4_5.config</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="Info-framework.plist.tmpl">
<LogicalName>Info-framework.plist.tmpl</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="Info.plist.tmpl">
<LogicalName>Info.plist.tmpl</LogicalName>
</EmbeddedResource>
2016-04-21 15:57:02 +03:00
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="MonoMac.Tuner\" />
<Folder Include="Xamarin.Linker\" />
</ItemGroup>
<ItemGroup>
<None Include="Makefile" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\external\mono\external\cecil\Mono.Cecil.csproj">
<Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
<Name>Mono.Cecil</Name>
</ProjectReference>
<ProjectReference Include="..\..\external\mono\external\cecil\symbols\mdb\Mono.Cecil.Mdb.csproj">
<Project>{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}</Project>
<Name>Mono.Cecil.Mdb</Name>
</ProjectReference>
</ItemGroup>
</Project>