[tools] Add dotnet-linker, a project to contain custom linker steps for our net5.0 build.

This commit is contained in:
Rolf Bjarne Kvinge 2020-06-02 15:46:18 +02:00
Родитель 2ba2362da1
Коммит fcd8956d70
8 изменённых файлов: 101 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,3 @@
TOP=..
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller dotnet-linker
include $(TOP)/Make.config

2
tools/dotnet-linker/.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,2 @@
*.csproj.inc
.vscode/

Просмотреть файл

@ -0,0 +1,42 @@
TOP=../..
include $(TOP)/Make.config
PLATFORMS=iOS tvOS watchOS macOS
BUILD_DIR=bin/Debug/net5.0
DOTNET_TARGETS += \
$(BUILD_DIR)/dotnet-linker.dll \
$(foreach platform,$(PLATFORMS),$(DOTNET_DESTDIR)/Microsoft.$(platform).Sdk/tools/dotnet-linker/dotnet-linker.dll) \
$(foreach platform,$(PLATFORMS),$(DOTNET_DESTDIR)/Microsoft.$(platform).Sdk/tools/dotnet-linker/dotnet-linker.pdb) \
DOTNET_DIRECTORIES += \
$(foreach platform,$(PLATFORMS),$(DOTNET_DESTDIR)/Microsoft.$(platform).Sdk/tools/dotnet-linker) \
$(BUILD_DIR)/dotnet-linker%dll $(BUILD_DIR)/dotnet-linker%pdb: Makefile $(dotnet_linker_dependencies)
$(Q_DOTNET_BUILD) $(DOTNET5) build $(XBUILD_VERBOSITY)
$(DOTNET_DESTDIR)/Microsoft.iOS.Sdk/tools/dotnet-linker/%: $(BUILD_DIR)/% | $(DOTNET_DESTDIR)/Microsoft.iOS.Sdk/tools/dotnet-linker
$(Q) $(CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.tvOS.Sdk/tools/dotnet-linker/%: $(BUILD_DIR)/% | $(DOTNET_DESTDIR)/Microsoft.tvOS.Sdk/tools/dotnet-linker
$(Q) $(CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.watchOS.Sdk/tools/dotnet-linker/%: $(BUILD_DIR)/% | $(DOTNET_DESTDIR)/Microsoft.watchOS.Sdk/tools/dotnet-linker
$(Q) $(CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.macOS.Sdk/tools/dotnet-linker/%: $(BUILD_DIR)/% | $(DOTNET_DESTDIR)/Microsoft.macOS.Sdk/tools/dotnet-linker
$(Q) $(CP) $< $@
$(DOTNET_DIRECTORIES):
$(Q) mkdir -p $@
# dotnet-linker.csproj.inc contains the dotnet_linker_dependencies variable used to determine if mtouch needs to be rebuilt or not.
dotnet-linker.csproj.inc: export BUILD_EXECUTABLE=$(DOTNET5) build
dotnet-linker.csproj.inc: dotnet-linker.csproj Makefile ../common/create-makefile-fragment.sh $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q_GEN) ../common/create-makefile-fragment.sh $(abspath $<)
-include dotnet-linker.csproj.inc
all-local:: $(DOTNET_TARGETS)
install-local:: $(DOTNET_TARGETS)

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositorypath" value="packages" />
<add key="globalPackagesFolder" value="packages" />
</config>
<packageSources>
<add key="Nuget Official" value="https://www.nuget.org/api/v2/" />
<add key="Dotnet arcade" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
</packageSources>
</configuration>

Просмотреть файл

@ -0,0 +1,14 @@
using System;
using Mono.Linker.Steps;
namespace Xamarin {
public class SetupStep : BaseStep {
protected override void Process ()
{
Console.WriteLine ("Hello SetupStep");
}
}
}

Просмотреть файл

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>dotnet_linker</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.ILLink" Version="5.0.0-preview.3.20302.1" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,17 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-linker", "dotnet-linker.csproj", "{7F7392F4-AB2D-4153-B591-46C79501B3C6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7F7392F4-AB2D-4153-B591-46C79501B3C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7F7392F4-AB2D-4153-B591-46C79501B3C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7F7392F4-AB2D-4153-B591-46C79501B3C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F7392F4-AB2D-4153-B591-46C79501B3C6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,3 @@
{
"sdk": { "version": "5.*" }
}