Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--mcs/Makefile2
-rw-r--r--mcs/build/profiles/netcore.make16
-rw-r--r--mcs/class/Makefile7
-rw-r--r--mcs/class/System.Private.CoreLib/AssemblyInfo.cs3
-rw-r--r--mcs/class/System.Private.CoreLib/Makefile12
-rw-r--r--mcs/class/System.Private.CoreLib/System.Private.CoreLib.dll.sources2
-rw-r--r--netcore/System.Private.CoreLib/shared/placeholder-for-sync-setup0
-rw-r--r--runtime/Makefile.am4
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)