diff options
author | Egor Bogatov <egorbo@gmail.com> | 2018-10-04 11:39:21 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2018-10-04 11:39:21 +0300 |
commit | 895bf51b0caf0670625755c81eb82c78e85ec9f4 (patch) | |
tree | 05aec08599fd527c42e62e11932595c5ff5ec9a6 /mcs/class/Facades | |
parent | 8d8587f4bc5ed01bf49d97f19ff3cf31b7ef6d5b (diff) |
Use Mono.Android as a reference for netstandard facade (#10849)
* bump external/binary-reference-assemblies
* use Mono.Android for netstandard
* use API_BIN_REFS
* move ifeq monodroid upper
* use Mono.Android in System.Drawing.Primitives instead of ns
* fix typo
* Add Mono.Android back to ns as API_BIN_REFS
* Bump API snapshot submodule
* [csproj] Update project files
Diffstat (limited to 'mcs/class/Facades')
5 files changed, 45 insertions, 10 deletions
diff --git a/mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives.csproj b/mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives.csproj index 844f29c38b7..46aa6eea6d9 100644 --- a/mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives.csproj +++ b/mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives.csproj @@ -36,6 +36,11 @@ <IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
<DefineConstants>NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID</DefineConstants>
</PropertyGroup>
+ <PropertyGroup Condition=" '$(Platform)' == 'monodroid' ">
+ <OutputPath>./../../../class/lib/monodroid/Facades</OutputPath>
+ <IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
+ <DefineConstants>NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID;NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID</DefineConstants>
+ </PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'monotouch' ">
<OutputPath>./../../../class/lib/monotouch/Facades</OutputPath>
<IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
@@ -149,9 +154,16 @@ <ProjectReference Include="../../System.Drawing/System.Drawing.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'monodroid' ">
- <Reference Include="$(EXTERNAL_FACADE_DRAWING_REFERENCE)">
+ <Reference Include="./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll">
<SpecificVersion>False</SpecificVersion>
- <HintPath>$(EXTERNAL_FACADE_DRAWING_REFERENCE)</HintPath>
+ <HintPath>./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monodroid' ">
+ <Reference Include="./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
diff --git a/mcs/class/Facades/System.Drawing.Primitives/Makefile b/mcs/class/Facades/System.Drawing.Primitives/Makefile index 036ec852fa5..328b53b1b4f 100644 --- a/mcs/class/Facades/System.Drawing.Primitives/Makefile +++ b/mcs/class/Facades/System.Drawing.Primitives/Makefile @@ -20,6 +20,11 @@ LIB_MCS_FLAGS = $(SIGN_FLAGS) $(EXTRA_LIB_MCS_FLAGS) # TODO: find a better solution. EMBEDDED_DRAWING_DEP := $(filter xammac_net_4_5 testing_aot_full testing_aot_hybrid, $(PROFILE)) +ifeq ($(PROFILE),monodroid) +# XA implements System.Drawing API inside Mono.Android +API_BIN_REFS := Mono.Android +else + ifndef EMBEDDED_DRAWING_DEP # profiles which build a System.Drawing.dll in the repo @@ -29,12 +34,12 @@ ifdef REPO_DRAWING_DEP LIB_REFS += System.Drawing else # When System.Drawing.dll is not built in the Mono repo but in -# the product repo like in the XI/XA case we need to pass in a reference +# the product repo like in the XI case we need to pass in a reference # to the assembly containing drawing types like Rectangle etc. from there. # This needs to be passed in via EXTERNAL_FACADE_DRAWING_REFERENCE. LIB_MCS_FLAGS += /r:$(EXTERNAL_FACADE_DRAWING_REFERENCE) endif - +endif endif PLATFORM_DEBUG_FLAGS = diff --git a/mcs/class/Facades/netstandard/Facades_netstandard.csproj b/mcs/class/Facades/netstandard/Facades_netstandard.csproj index 05648f19945..2f09eb2a6b1 100644 --- a/mcs/class/Facades/netstandard/Facades_netstandard.csproj +++ b/mcs/class/Facades/netstandard/Facades_netstandard.csproj @@ -36,6 +36,11 @@ <IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
<DefineConstants>NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID</DefineConstants>
</PropertyGroup>
+ <PropertyGroup Condition=" '$(Platform)' == 'monodroid' ">
+ <OutputPath>./../../../class/lib/monodroid/Facades</OutputPath>
+ <IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
+ <DefineConstants>NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID;NET_1_1;NET_2_0;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_LEGACY;MOBILE_DYNAMIC;MONODROID;ANDROID</DefineConstants>
+ </PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'monotouch' ">
<OutputPath>./../../../class/lib/monotouch/Facades</OutputPath>
<IntermediateOutputPath>./../../../class/obj/$(AssemblyName)-Facades</IntermediateOutputPath>
@@ -128,9 +133,17 @@ <ProjectReference Include="../../System.Drawing/System.Drawing.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'monodroid' ">
- <Reference Include="$(EXTERNAL_FACADE_DRAWING_REFERENCE)">
+ <Reference Include="./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll">
<SpecificVersion>False</SpecificVersion>
- <HintPath>$(EXTERNAL_FACADE_DRAWING_REFERENCE)</HintPath>
+ <HintPath>./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <ProjectReference Include="../../System.Web.Services/System.Web.Services.csproj" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(Platform)' == 'monodroid' ">
+ <Reference Include="./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>./../../../../external/binary-reference-assemblies/build/monodroid/Mono.Android.dll</HintPath>
<Private>False</Private>
</Reference>
<ProjectReference Include="../../System.Web.Services/System.Web.Services.csproj" />
diff --git a/mcs/class/Facades/netstandard/Makefile b/mcs/class/Facades/netstandard/Makefile index bf2e9c4c344..08bc8d849b1 100644 --- a/mcs/class/Facades/netstandard/Makefile +++ b/mcs/class/Facades/netstandard/Makefile @@ -25,6 +25,11 @@ else LIB_REFS += System.Web endif +ifeq ($(PROFILE),monodroid) +# XA implements System.Drawing API inside Mono.Android +API_BIN_REFS := Mono.Android +else + # profiles which build a System.Drawing.dll in the repo REPO_DRAWING_DEP := $(filter net_4_x orbis winaot unreal wasm, $(PROFILE)) @@ -48,7 +53,7 @@ else # This needs to be passed in via EXTERNAL_FACADE_DRAWING_REFERENCE. LIB_MCS_FLAGS += /r:$(EXTERNAL_FACADE_DRAWING_REFERENCE) endif - +endif endif PLATFORM_DEBUG_FLAGS = diff --git a/mcs/class/Facades/subdirs.make b/mcs/class/Facades/subdirs.make index 97f501a4a8d..6a4ac016e19 100644 --- a/mcs/class/Facades/subdirs.make +++ b/mcs/class/Facades/subdirs.make @@ -41,6 +41,9 @@ netstandard_drawing_SUBDIRS = System.Drawing.Primitives netstandard monotouch_SUBDIRS = $(common_DEPS_SUBDIRS) $(mobile_only_DEPS_SUBDIRS) monotouch_PARALLEL_SUBDIRS = $(common_SUBDIRS) $(mobile_only_SUBDIRS) +monodroid_SUBDIRS = $(monotouch_SUBDIRS) $(netstandard_drawing_SUBDIRS) +monodroid_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) + # We don't build netstandard/System.Drawing.Primitives on monotouch etc. profiles by default, # except when EXTERNAL_FACADE_DRAWING_REFERENCE is defined which allows us to build it in Mono CI # (since the dependent drawing types are normally built in the product repos). @@ -64,9 +67,6 @@ System.Text.Encoding.CodePages build_PARALLEL_SUBDIRS = $(basic_PARALLEL_SUBDIRS) System.Text.RegularExpressions System.Diagnostics.Contracts -monodroid_SUBDIRS = $(monotouch_SUBDIRS) -monodroid_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) - xammac_SUBDIRS = $(monotouch_SUBDIRS) xammac_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) |