[tools] Add dotnet-linker, a project to contain custom linker steps for our net5.0 build.
This commit is contained in:
Родитель
2ba2362da1
Коммит
fcd8956d70
|
@ -1,3 +1,3 @@
|
||||||
TOP=..
|
TOP=..
|
||||||
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller
|
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller dotnet-linker
|
||||||
include $(TOP)/Make.config
|
include $(TOP)/Make.config
|
||||||
|
|
|
@ -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.*" }
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче