diff options
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | mcs/Makefile | 2 | ||||
-rw-r--r-- | mcs/build/profiles/netcore.make | 16 | ||||
-rw-r--r-- | mcs/class/Makefile | 7 | ||||
-rw-r--r-- | mcs/class/System.Private.CoreLib/AssemblyInfo.cs | 3 | ||||
-rw-r--r-- | mcs/class/System.Private.CoreLib/Makefile | 12 | ||||
-rw-r--r-- | mcs/class/System.Private.CoreLib/System.Private.CoreLib.dll.sources | 2 | ||||
-rw-r--r-- | netcore/System.Private.CoreLib/shared/placeholder-for-sync-setup | 0 | ||||
-rw-r--r-- | runtime/Makefile.am | 4 |
9 files changed, 53 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index b6183afa10c..f2d7b48660b 100644 --- a/configure.ac +++ b/configure.ac @@ -754,6 +754,13 @@ AC_ARG_WITH(mcs-path, [ --with-mcs-path=/path/to/mcs Specify an alternate AC_ARG_WITH(jumptables, [ --with-jumptables=yes,no enable/disable support for jumptables (ARM-only for now) (defaults to no)],[],[with_jumptables=no]) +AC_ARG_WITH(core, [ --with-core=yes,no,only controls whether to build Mono as a .NET Core runtime, not build it, or just build core (defaults to no)],[],[with_core=no]) +if test x$with_core = xyes; then + AC_DEFINE(ENABLE_NETCORE,1,[Enables the support for .NET Core Features in the MonoVM]) +fi +AM_CONDITIONAL(ENABLE_CORE, test x$with_core = xyes) +AM_CONDITIONAL(ONLY_CORE, test x$with_core = xonly) + # # A sanity check to catch cases where the package was unpacked # with an ancient tar program (Solaris) @@ -1405,6 +1412,7 @@ AM_CONDITIONAL(INSTALL_WINAOT, [test "x$with_winaot" != "xno"]) AM_CONDITIONAL(INSTALL_ORBIS, [test "x$with_orbis" != "xno"]) AM_CONDITIONAL(INSTALL_UNREAL, [test "x$with_unreal" != "xno"]) AM_CONDITIONAL(INSTALL_WASM, [test "x$with_wasm" != "xno"]) +AM_CONDITIONAL(INSTALL_NETCORE, [test "x$with_core" != "xno"]) AM_CONDITIONAL(FULL_AOT_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_full"] || [test "x$TEST_PROFILE" = "xwinaot"] || [test "x$TEST_PROFILE" = "xorbis"] || [test "x$TEST_PROFILE" = "xwasm"]) AM_CONDITIONAL(HYBRID_AOT_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_hybrid"] || [test "x$TEST_PROFILE" = "xunreal"]) AM_CONDITIONAL(AOT_FULL_INTERP_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_full_interp"]) @@ -6308,6 +6316,7 @@ echo " BTLS: $enable_btls$btls_platform_string jemalloc: $with_jemalloc (always use: $with_jemalloc_always) crash reporting: $crash_reporting (private crashes: $with_crash_privacy) + .NET Core: $with_core $disabled " if test x$with_static_mono = xno -a "x$host_win32" != "xyes"; then diff --git a/mcs/Makefile b/mcs/Makefile index 8d48c00b827..67a05914f5c 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -28,6 +28,7 @@ orbis_SUBDIRS := build class unreal_SUBDIRS := build class wasm_SUBDIRS := build class wasm_tools_SUBDIRS := build class tools +netcore_SUBDIRS := build class include build/rules.make @@ -88,6 +89,7 @@ $(_boot_:%=profile-do--orbis--%): profile-do--orbis--%: $(_boot_:%=profile-do--unreal--%): profile-do--unreal--%: profile-do--build--% $(_boot_:%=profile-do--wasm--%): profile-do--wasm--%: profile-do--build--% $(_boot_:%=profile-do--wasm_tools--%): profile-do--wasm_tools--%: profile-do--build--% +$(_boot_:%=profile-do--netcore--%): profile-do--netcore--%: profile-do--build--% compiler-test: $(MAKE) -C tests test diff --git a/mcs/build/profiles/netcore.make b/mcs/build/profiles/netcore.make new file mode 100644 index 00000000000..ba523172934 --- /dev/null +++ b/mcs/build/profiles/netcore.make @@ -0,0 +1,16 @@ +# -*- makefile -*- + +BOOTSTRAP_PROFILE = build + +BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_CSC) +MCS = $(BOOTSTRAP_MCS) + +PLATFORMS = macos linux win32 unix + +profile-check: + @: + +DEFAULT_REFERENCES = +PROFILE_MCS_FLAGS = -d:NETCORE -nostdlib $(PLATFORM_DEBUG_FLAGS) + +ENFORCE_LIBRARY_WARN_AS_ERROR = yes diff --git a/mcs/class/Makefile b/mcs/class/Makefile index a5f3b5a8c62..6a88c1d73a2 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -1,6 +1,6 @@ thisdir = class -NO_FACADES_PROFILE := $(filter monodroid_tools monotouch_tools wasm_tools testing_aot_hybrid binary_reference_assemblies xbuild_12 xbuild_14, $(PROFILE)) +NO_FACADES_PROFILE := $(filter monodroid_tools monotouch_tools wasm_tools testing_aot_hybrid binary_reference_assemblies xbuild_12 xbuild_14 netcore, $(PROFILE)) ifndef NO_FACADES_PROFILE FACADES_FOLDER := Facades @@ -421,12 +421,15 @@ wasm_PARALLEL_SUBDIRS := $(wasm_dirs_parallel) wasm_tools_SUBDIRS := wasm_tools_PARALLEL_SUBDIRS := $(wasm_tools_dirs_parallel) +netcore_SUBDIRS := System.Private.CoreLib +netcore_PARALLEL_SUBDIRS := + include ../build/rules.make DIST_SUBDIRS = $(testing_aot_full_dirs_parallel) $(testing_aot_hybrid_dirs_parallel) $(monotouch_dirs_parallel) $(monotouch_tools_dirs_parallel) \ $(monodroid_dirs_parallel) $(monodroid_tools_dirs_parallel) $(xammac_dirs_parallel) $(net_4_x_dirs) $(net_4_x_parallel_dirs) \ $(xammac_4_5_dirs_parallel) $(unreal_dirs_parallel) $(wasm_dirs_parallel) $(wasm_tools_dirs_parallel) $(xbuild_14_SUBDIRS) \ -$(testing_aot_full_interp_dirs_parallel) dlr aot-compiler reference-assemblies Facades +$(testing_aot_full_interp_dirs_parallel) $(netcore_SUBDIRS) dlr aot-compiler reference-assemblies Facades # No new makefiles for: System.Messaging, System.Web.Mobile, # System.ServiceProcess diff --git a/mcs/class/System.Private.CoreLib/AssemblyInfo.cs b/mcs/class/System.Private.CoreLib/AssemblyInfo.cs new file mode 100644 index 00000000000..80bd2927622 --- /dev/null +++ b/mcs/class/System.Private.CoreLib/AssemblyInfo.cs @@ -0,0 +1,3 @@ +// +// System.Private.CoreLib Assembly +// diff --git a/mcs/class/System.Private.CoreLib/Makefile b/mcs/class/System.Private.CoreLib/Makefile new file mode 100644 index 00000000000..919f4582dff --- /dev/null +++ b/mcs/class/System.Private.CoreLib/Makefile @@ -0,0 +1,12 @@ +thisdir = class/System.Private.CoreLib +SUBDIRS = +include ../../build/rules.make + +LIBRARY = System.Private.CoreLib.dll +LIB_REFS = +EXTRA_DIST_FILES = + +LIB_MCS_FLAGS = +DEFAULT_REFERENCES = + +include ../../build/library.make diff --git a/mcs/class/System.Private.CoreLib/System.Private.CoreLib.dll.sources b/mcs/class/System.Private.CoreLib/System.Private.CoreLib.dll.sources new file mode 100644 index 00000000000..4acad5a4bde --- /dev/null +++ b/mcs/class/System.Private.CoreLib/System.Private.CoreLib.dll.sources @@ -0,0 +1,2 @@ +AssemblyInfo.cs +../corlib/System/Object.cs diff --git a/netcore/System.Private.CoreLib/shared/placeholder-for-sync-setup b/netcore/System.Private.CoreLib/shared/placeholder-for-sync-setup new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/netcore/System.Private.CoreLib/shared/placeholder-for-sync-setup diff --git a/runtime/Makefile.am b/runtime/Makefile.am index 0ba589b7949..6452b58b216 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -84,6 +84,10 @@ if INSTALL_WASM build_profiles += wasm wasm_tools endif +if INSTALL_NETCORE +build_profiles += netcore +endif + test_profiles = $(filter-out binary_reference_assemblies monodroid_tools wasm_tools,$(build_profiles)) MAKE_FLAGS=$(if $(V),,--no-print-directory -s) |