allow profiles to build System.dll with the profile compiler rather than the bootstra...
authorRaja R Harinath <harinath@hurrynot.org>
Fri, 16 Apr 2010 18:33:44 +0000 (18:33 -0000)
committerRaja R Harinath <harinath@hurrynot.org>
Fri, 16 Apr 2010 18:33:44 +0000 (18:33 -0000)
build/profiles/net_4_0_bootstrap.make (PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK):
New.  Can be set if we have BOOTSTRAP_PROFILE listed in the
MONO_PATH of MCS, and the profile's System.dll depends features
the profile's mscorlib.dll.
class/System/Makefile (LIBRARY_COMPILE) [USE_BOOT_COMPILE]:
Don't override if the profile says it isn't necessary by setting
PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK.

cleanup and generalize r155638

svn path=/trunk/mcs/; revision=155646

mcs/build/ChangeLog
mcs/build/profiles/monotouch_bootstrap.make
mcs/build/profiles/moonlight_bootstrap.make
mcs/build/profiles/net_4_0_bootstrap.make
mcs/class/System/ChangeLog
mcs/class/System/Makefile

index cb960cc29ffd18530a634f23498c4d41eead7e87..c60dbb3aa179203a82add1a183ebef32ec3802b3 100644 (file)
@@ -1,3 +1,10 @@
+2010-04-16  Raja R Harinath  <harinath@hurrynot.org>
+
+       * profiles/net_4_0_bootstrap.make (PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK):
+       New.  Can be set if we have BOOTSTRAP_PROFILE listed in the
+       MONO_PATH of MCS, and the profile's System.dll depends features
+       the profile's mscorlib.dll.
+
 2010-04-07  Raja R Harinath  <harinath@hurrynot.org>
 
        * Makefile (DISTFILES): Add gensources.sh.
index 1ac6af0ef583e1b1bf44e0fd925d04b161d45ce9..a280c2bf5136b39a3c1ee045cca75bc7de1f55f8 100644 (file)
@@ -6,6 +6,9 @@ BOOTSTRAP_PROFILE = net_2_0
 BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
 MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_SMCS)
 
+# We can enable this if System.dll depends on features of the mscorlib.dll from this profile
+#PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK = yes
+
 profile-check:
        @:
 
index b6bb5556819f0f5fe3a02876d21db2be2bc2298d..243fc6518f5f5dd100a9d40e776af13454d5b1d4 100644 (file)
@@ -6,6 +6,9 @@ BOOTSTRAP_PROFILE = basic
 BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
 MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_SMCS)
 
+# We can enable this if System.dll depends new features of the mscorlib.dll from this profile
+#PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK = yes
+
 profile-check:
        @:
 
index 77645a18d0b70e5aa655ee2a2fba8405aad39cd4..d74036604ebe6cc4a08157df0d27b99ad68476b7 100644 (file)
@@ -4,6 +4,9 @@ BOOTSTRAP_PROFILE = net_2_0
 BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BOOTSTRAP_PROFILE)/gmcs.exe
 MCS = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/dmcs.exe
 
+# we have BOOTSTRAP_PROFILE listed in the MONO_PATH of MCS
+PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK = yes
+
 profile-check: 
 
 PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:BOOTSTRAP_NET_4_0
index ced8e45d1fe222507d5e3dad41cc72f7d42dc404..6b5c1dfb906db5cb928c226a25fb4c5fc3d30fd1 100644 (file)
@@ -1,3 +1,10 @@
+2010-04-16  Raja R Harinath  <harinath@hurrynot.org>
+       and Marek Habersack  <mhabersack@novell.com>
+
+       * Makefile (LIBRARY_COMPILE) [USE_BOOT_COMPILE]:
+       Don't override if the profile says it isn't necessary by setting
+       PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK.
+
 2010-04-01  Jb Evain  <jbevain@novell.com>
 
        * System.dll.sources: add SortedSet to the build.
index e0244c003077e36a1601d5966212084b5cf23cdf..16f511676ae42bfaf80f4a78209c532859e9c04b 100644 (file)
@@ -55,13 +55,9 @@ USE_BOOT_COMPILE = yes
 endif
 
 ifdef USE_BOOT_COMPILE
+ifndef PROFILE_MCS_HAS_BOOTSTRAP_FALLBACK
 LIBRARY_COMPILE = $(BOOT_COMPILE)
 endif
-
-ifeq (4.0, $(FRAMEWORK_VERSION))
-ifeq (net_4_0_bootstrap, $(PROFILE))
-LIBRARY_COMPILE = $(Q_MCS) $(MCS) $(USE_MCS_FLAGS)
-endif
 endif
 
 # Because System.dll, Mono.Security.dll System.Xml.dll have a cyclic dependency, we need a two-pass build.