diff options
author | Marek Safar <marek.safar@gmail.com> | 2014-12-05 14:01:12 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2014-12-05 14:01:50 +0300 |
commit | b993596e591c792ec72c261204748269a6431069 (patch) | |
tree | 062072f46f98763ae430193a76d335212e62f168 | |
parent | 0c99796db64d8a874d9d9c6bdae9bbe4de2bf0cd (diff) |
Restore 4.0 profile as metadata only profile
-rw-r--r-- | mcs/Makefile | 4 | ||||
-rw-r--r-- | mcs/build/Makefile | 1 | ||||
-rw-r--r-- | mcs/build/common/Consts.cs.in | 6 | ||||
-rw-r--r-- | mcs/build/profiles/net_4_0.make | 22 | ||||
-rw-r--r-- | mcs/class/Makefile | 1 | ||||
-rw-r--r-- | runtime/Makefile.am | 6 |
6 files changed, 37 insertions, 3 deletions
diff --git a/mcs/Makefile b/mcs/Makefile index 176338c3005..5fa5f10862d 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -12,6 +12,7 @@ monotouch_runtime_SUBDIRS := build class xammac_SUBDIRS := build class mobile_SUBDIRS := build class mobile_static_SUBDIRS := build class +net_4_0_SUBDIRS := build class net_4_5_SUBDIRS := build mcs class nunit24 ilasm tools tests errors docs xbuild_12_SUBDIRS := build class tools/xbuild xbuild_14_SUBDIRS := build class tools/xbuild @@ -85,7 +86,7 @@ dir-check: # fun specialty targets -PROFILES = net_4_5 xbuild_12 xbuild_14 +PROFILES = net_4_5 net_4_0 xbuild_12 xbuild_14 .PHONY: all-profiles $(STD_TARGETS:=-profiles) all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% @@ -107,6 +108,7 @@ _boot_ = all clean install $(_boot_:%=profile-do--xbuild_14--%): profile-do--xbuild_14--%: profile-do--net_4_5--% $(_boot_:%=profile-do--xbuild_12--%): profile-do--xbuild_12--%: profile-do--net_4_5--% $(_boot_:%=profile-do--net_4_5--%): profile-do--net_4_5--%: profile-do--build--% +$(_boot_:%=profile-do--net_4_0--%): profile-do--net_4_0--%: profile-do--build--% $(_boot_:%=profile-do--monodroid--%): profile-do--monodroid--%: profile-do--build--% $(_boot_:%=profile-do--monotouch--%): profile-do--monotouch--%: profile-do--build--% $(_boot_:%=profile-do--monotouch_runtime--%): profile-do--monotouch_runtime--%: profile-do--build--% diff --git a/mcs/build/Makefile b/mcs/build/Makefile index 17c9ba1bb60..8ca1e7c7fa2 100644 --- a/mcs/build/Makefile +++ b/mcs/build/Makefile @@ -18,6 +18,7 @@ PLATFORMS = darwin linux win32 PROFILES = \ basic \ build \ + net_4_0 \ net_4_5 \ xbuild_12 \ xbuild_14 diff --git a/mcs/build/common/Consts.cs.in b/mcs/build/common/Consts.cs.in index 467b4d156c6..b17eeabc703 100644 --- a/mcs/build/common/Consts.cs.in +++ b/mcs/build/common/Consts.cs.in @@ -52,7 +52,11 @@ static class Consts public const string VsVersion = "0.0.0.0"; // Useless ? public const string VsFileVersion = "11.0.0.0"; // TODO: #elif NET_4_0 - #error Profile NET_4_0 is not supported. + public const string FxVersion = "4.0.0.0"; + public const string FxFileVersion = "4.0.30319.1"; + + public const string VsVersion = "0.0.0.0"; // Useless ? + public const string VsFileVersion = "10.0.0.0"; // TODO: #elif NET_3_5 #error Profile NET_3_5 is not supported. #elif NET_3_0 diff --git a/mcs/build/profiles/net_4_0.make b/mcs/build/profiles/net_4_0.make new file mode 100644 index 00000000000..11f82a05af2 --- /dev/null +++ b/mcs/build/profiles/net_4_0.make @@ -0,0 +1,22 @@ +# -*- makefile -*- + +BOOTSTRAP_PROFILE = build + +BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS) +MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS) + +# nuttzing! + +profile-check: + @: + +DEFAULT_REFERENCES = -r:mscorlib.dll +PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:NET_3_0 -d:NET_3_5 -d:NET_4_0 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699,1635 -warn:1 -nostdlib -lib:$(topdir)/class/lib/$(PROFILE) $(DEFAULT_REFERENCES) --metadata-only + +FRAMEWORK_VERSION = 4.0 +XBUILD_VERSION = 4.0 + +LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION) + +# Ignore tests on net_4_0 as the 4.0 IL code is never used for running (just for metadata), so it doesn't make sense to execute tests there +NO_TEST = yes
\ No newline at end of file diff --git a/mcs/class/Makefile b/mcs/class/Makefile index d0dae889d38..cb71bb3c36c 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -233,6 +233,7 @@ monotouch_runtime_SUBDIRS := $(monotouch_runtime_dirs) mobile_static_SUBDIRS := $(mobile_static_dirs) mobile_SUBDIRS := $(mobile_dynamic_dirs) xammac_SUBDIRS := $(xammac_dirs) +net_4_0_SUBDIRS := $(net_2_0_dirs) $(net_4_0_dirs) $(xbuild_4_0_dirs) net_4_5_SUBDIRS := $(net_2_0_dirs) $(net_4_0_dirs) $(net_4_5_dirs) $(xbuild_4_0_dirs) aot-compiler xbuild_12_SUBDIRS := $(xbuild_4_0_dirs) xbuild_14_SUBDIRS := $(xbuild_4_0_dirs) diff --git a/runtime/Makefile.am b/runtime/Makefile.am index c7a08f7b8a5..45740ef16b3 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -34,7 +34,7 @@ else build_profiles = if INSTALL_4_5 -build_profiles += net_4_5 xbuild_12 xbuild_14 +build_profiles += net_4_0 net_4_5 xbuild_12 xbuild_14 al_profile = net_4_5 endif @@ -110,9 +110,13 @@ endif # Compile all assemblies with the verifier turned on. Code must be valid but not verifiable. # TODO it would be nice to split assemblies without unsafe code to use the verifier with verifiable mode. +# Skip net 4.0 assemblies because they contain metadata only mcs-compileall: mono-wrapper etc/mono/config save_MONO_PATH=$$MONO_PATH; mcs_topdir=`cd $(mcs_topdir) && $(cur_dir_cmd)`; ok=:; \ for profile in $(test_profiles); do \ + if [ "net_4_0" = "$$profile" ]; then \ + continue; \ + fi; \ if [ "xbuild_12" = "$$profile" ]; then \ MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_4_5$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \ elif [ "xbuild_14" = "$$profile" ]; then \ |