From edaa13248ba0e1ef1660a45bd3201cdfa25ea4fe Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Mon, 23 Jan 2017 15:43:02 -0500 Subject: [PATCH] [build] Add new profile --- configure.ac | 8 ++++ mcs/Makefile | 2 + mcs/build/profiles/orbis.make | 45 ++++++++++++++++++++++ mcs/class/Facades/subdirs.make | 2 + mcs/class/Makefile | 1 + .../Mono.CSharp/orbis_Mono.CSharp.dll.sources | 1 + .../System.Core/orbis_System.Core.dll.sources | 1 + .../System.Data/orbis_System.Data.dll.sources | 1 + .../orbis_System.IdentityModel.dll.sources | 1 + .../orbis_System.ServiceModel.Web.dll.sources | 1 + .../orbis_System.ServiceModel.dll.sources | 1 + .../orbis_System.Web.Services.dll.sources | 1 + mcs/class/System.XML/orbis_System.Xml.dll.sources | 1 + mcs/class/System/orbis_System.dll.sources | 1 + runtime/Makefile.am | 4 ++ 15 files changed, 71 insertions(+) create mode 100644 mcs/build/profiles/orbis.make create mode 100644 mcs/class/Mono.CSharp/orbis_Mono.CSharp.dll.sources create mode 100644 mcs/class/System.Core/orbis_System.Core.dll.sources create mode 100644 mcs/class/System.Data/orbis_System.Data.dll.sources create mode 100644 mcs/class/System.IdentityModel/orbis_System.IdentityModel.dll.sources create mode 100644 mcs/class/System.ServiceModel.Web/orbis_System.ServiceModel.Web.dll.sources create mode 100644 mcs/class/System.ServiceModel/orbis_System.ServiceModel.dll.sources create mode 100644 mcs/class/System.Web.Services/orbis_System.Web.Services.dll.sources create mode 100644 mcs/class/System.XML/orbis_System.Xml.dll.sources create mode 100644 mcs/class/System/orbis_System.dll.sources diff --git a/configure.ac b/configure.ac index 632983d0c11..1eef551998f 100644 --- a/configure.ac +++ b/configure.ac @@ -803,6 +803,8 @@ AC_ARG_WITH(xammac, [ --with-xammac=yes,no If you w AC_ARG_WITH(testing_aot_hybrid, [ --with-testing_aot_hybrid=yes,no If you want to build the testing_aot_hybrid assemblies (defaults to no)], [], [with_testing_aot_hybrid=default]) AC_ARG_WITH(testing_aot_full, [ --with-testing_aot_full=yes,no If you want to build the testing_aot_full assemblies (defaults to no)], [], [with_testing_aot_full=default]) AC_ARG_WITH(winaot, [ --with-winaot=yes,no If you want to build the Windows friendly AOT assemblies (defaults to no)], [], [with_winaot=default]) +AC_ARG_WITH(orbis, [ --with-orbis=yes,no If you want to build the Orbis assemblies (defaults to no)], [], [with_orbis=default]) + AC_ARG_WITH(runtime_preset, [ --with-runtime_preset=net_4_x,all,aot,hybridaot,fullaot,bitcode Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) @@ -821,6 +823,7 @@ with_xammac_default=no with_testing_aot_hybrid_default=no with_testing_aot_full_default=no with_winaot_default=no +with_orbis_default=no with_bitcode_default=no with_cooperative_gc_default=no @@ -839,6 +842,7 @@ elif test x$with_runtime_preset = xall; then with_monotouch_tv_default=yes with_xammac_default=yes with_winaot_default=yes + with_orbis_default=yes elif test x$with_runtime_preset = xfullaot; then DISABLE_MCS_DOCS_default=yes with_testing_aot_full_default=yes @@ -929,6 +933,9 @@ fi if test "x$with_winaot" = "xdefault"; then with_winaot=$with_winaot_default fi +if test "x$with_orbis" = "xdefault"; then + with_orbis=$with_orbis_default +fi AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = "xyes"]) @@ -941,6 +948,7 @@ AM_CONDITIONAL(INSTALL_XAMMAC, [test "x$with_xammac" != "xno"]) AM_CONDITIONAL(INSTALL_TESTING_AOT_HYBRID, [test "x$with_testing_aot_hybrid" != "xno"]) AM_CONDITIONAL(INSTALL_TESTING_AOT_FULL, [test "x$with_testing_aot_full" != "xno"]) AM_CONDITIONAL(INSTALL_WINAOT, [test "x$with_winaot" != "xno"]) +AM_CONDITIONAL(INSTALL_ORBIS, [test "x$with_orbis" != "xno"]) AC_SUBST(INSTALL_TESTING_AOT_HYBRID) AC_SUBST(INSTALL_TESTING_AOT_FULL) diff --git a/mcs/Makefile b/mcs/Makefile index 043acf5563c..54cb4574e24 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -22,6 +22,7 @@ xammac_net_4_5_SUBDIRS := build class xbuild_12_SUBDIRS := build class tools/xbuild xbuild_14_SUBDIRS := build class tools/xbuild winaot_SUBDIRS := build class +orbis_SUBDIRS := build class include build/rules.make @@ -75,6 +76,7 @@ $(_boot_:%=profile-do--xammac_net_4_5--%): profile-do--xammac_net_4_5--%: $(_boot_:%=profile-do--testing_aot_hybrid--%): profile-do--testing_aot_hybrid--%: profile-do--build--% $(_boot_:%=profile-do--testing_aot_full--%): profile-do--testing_aot_full--%: profile-do--build--% $(_boot_:%=profile-do--winaot--%): profile-do--winaot--%: profile-do--build--% +$(_boot_:%=profile-do--orbis--%): profile-do--orbis--%: profile-do--build--% $(_boot_:%=profile-do--build--%): profile-do--build--%: profile-do--basic--% testcorlib: diff --git a/mcs/build/profiles/orbis.make b/mcs/build/profiles/orbis.make new file mode 100644 index 00000000000..edd9f4e2104 --- /dev/null +++ b/mcs/build/profiles/orbis.make @@ -0,0 +1,45 @@ +#! -*- makefile -*- + +BOOTSTRAP_PROFILE = build + +BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_CSC) +MCS = $(BOOTSTRAP_MCS) + +# Use system resgen as we don't want local System.Windows.Forms dependency +RESGEN = resgen2 + +profile-check: + @: + +DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll + +PROFILE_MCS_FLAGS = \ + -d:NET_1_1 \ + -d:NET_2_0 \ + -d:NET_2_1 \ + -d:NET_3_5 \ + -d:NET_4_0 \ + -d:NET_4_5 \ + -d:MONO \ + -d:NETSTANDARD \ + -d:MOBILE,MOBILE_LEGACY \ + -d:FULL_AOT_DESKTOP \ + -d:FULL_AOT_RUNTIME \ + -d:DISABLE_REMOTING \ + -d:DISABLE_COM \ + -nowarn:1699 \ + -nostdlib \ + $(DEFAULT_REFERENCES) \ + $(PLATFORM_DEBUG_FLAGS) + +FRAMEWORK_VERSION = 2.1 + +# the tuner takes care of the install +NO_INSTALL = yes +AOT_FRIENDLY_PROFILE = yes +ALWAYS_AOT = yes +MOBILE_PROFILE = yes +NO_VTS_TEST = yes + +# Note need for trailing comma. If you add, keep it +PROFILE_TEST_HARNESS_EXCLUDES = MobileNotWorking,PKITS, diff --git a/mcs/class/Facades/subdirs.make b/mcs/class/Facades/subdirs.make index 29a7dd32150..a2409a83b84 100644 --- a/mcs/class/Facades/subdirs.make +++ b/mcs/class/Facades/subdirs.make @@ -71,6 +71,8 @@ monotouch_tv_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) winaot_PARALLEL_SUBDIRS := +orbis_PARALLEL_SUBDIRS := + mobile_only_SUBDIRS = System.Net.Ping System.Runtime.Serialization.Formatters System.Security.Cryptography.Csp System.Security.Cryptography.Pkcs \ System.Security.Cryptography.Cng diff --git a/mcs/class/Makefile b/mcs/class/Makefile index 57cb5f39432..a7ed8bb8144 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -345,6 +345,7 @@ net_4_x_PARALLEL_SUBDIRS := $(net_4_x_parallel_dirs) xbuild_12_SUBDIRS := $(xbuild_4_0_dirs) xbuild_14_SUBDIRS := $(xbuild_4_0_dirs) Microsoft.NuGet.Build.Tasks winaot_SUBDIRS := $(winaot_dirs) +orbis_SUBDIRS := $(monotouch_dirs) include ../build/rules.make diff --git a/mcs/class/Mono.CSharp/orbis_Mono.CSharp.dll.sources b/mcs/class/Mono.CSharp/orbis_Mono.CSharp.dll.sources new file mode 100644 index 00000000000..394cd48583b --- /dev/null +++ b/mcs/class/Mono.CSharp/orbis_Mono.CSharp.dll.sources @@ -0,0 +1 @@ +#include monotouch_Mono.CSharp.dll.sources diff --git a/mcs/class/System.Core/orbis_System.Core.dll.sources b/mcs/class/System.Core/orbis_System.Core.dll.sources new file mode 100644 index 00000000000..a7b1796f147 --- /dev/null +++ b/mcs/class/System.Core/orbis_System.Core.dll.sources @@ -0,0 +1 @@ +#include testing_aot_full_System.Core.dll.sources diff --git a/mcs/class/System.Data/orbis_System.Data.dll.sources b/mcs/class/System.Data/orbis_System.Data.dll.sources new file mode 100644 index 00000000000..bbc860b8cd7 --- /dev/null +++ b/mcs/class/System.Data/orbis_System.Data.dll.sources @@ -0,0 +1 @@ +#include mobile_System.Data.dll.sources diff --git a/mcs/class/System.IdentityModel/orbis_System.IdentityModel.dll.sources b/mcs/class/System.IdentityModel/orbis_System.IdentityModel.dll.sources new file mode 100644 index 00000000000..429636751c2 --- /dev/null +++ b/mcs/class/System.IdentityModel/orbis_System.IdentityModel.dll.sources @@ -0,0 +1 @@ +#include mobile_System.IdentityModel.dll.sources diff --git a/mcs/class/System.ServiceModel.Web/orbis_System.ServiceModel.Web.dll.sources b/mcs/class/System.ServiceModel.Web/orbis_System.ServiceModel.Web.dll.sources new file mode 100644 index 00000000000..cbea0fae7b4 --- /dev/null +++ b/mcs/class/System.ServiceModel.Web/orbis_System.ServiceModel.Web.dll.sources @@ -0,0 +1 @@ +#include mobile_System.ServiceModel.Web.dll.sources diff --git a/mcs/class/System.ServiceModel/orbis_System.ServiceModel.dll.sources b/mcs/class/System.ServiceModel/orbis_System.ServiceModel.dll.sources new file mode 100644 index 00000000000..22ece5ce8ce --- /dev/null +++ b/mcs/class/System.ServiceModel/orbis_System.ServiceModel.dll.sources @@ -0,0 +1 @@ +#include mobile_System.ServiceModel.dll.sources diff --git a/mcs/class/System.Web.Services/orbis_System.Web.Services.dll.sources b/mcs/class/System.Web.Services/orbis_System.Web.Services.dll.sources new file mode 100644 index 00000000000..9e39dcc73b1 --- /dev/null +++ b/mcs/class/System.Web.Services/orbis_System.Web.Services.dll.sources @@ -0,0 +1 @@ +#include mobile_System.Web.Services.dll.sources diff --git a/mcs/class/System.XML/orbis_System.Xml.dll.sources b/mcs/class/System.XML/orbis_System.Xml.dll.sources new file mode 100644 index 00000000000..b6630930f75 --- /dev/null +++ b/mcs/class/System.XML/orbis_System.Xml.dll.sources @@ -0,0 +1 @@ +#include mobile_System.Xml.dll.sources diff --git a/mcs/class/System/orbis_System.dll.sources b/mcs/class/System/orbis_System.dll.sources new file mode 100644 index 00000000000..4cc254c5022 --- /dev/null +++ b/mcs/class/System/orbis_System.dll.sources @@ -0,0 +1 @@ +#include common.sources diff --git a/runtime/Makefile.am b/runtime/Makefile.am index fa969c3c958..8e098579542 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -60,6 +60,10 @@ if INSTALL_XAMMAC build_profiles += xammac xammac_net_4_5 endif +if INSTALL_ORBIS +build_profiles += orbis +endif + test_profiles = $(build_profiles) if BUILD_MCS -- 2.11.4.GIT