[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=..
|
||||
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller
|
||||
SUBDIRS=mmp mtouch install-source xibuild mlaunch siminstaller dotnet-linker
|
||||
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.*" }
|
||||
}
|
Загрузка…
Ссылка в новой задаче