monolite_flag := $(depsdir)/use-monolite
use_monolite := $(wildcard $(monolite_flag))
+MONOLITE_MCS = $(topdir)/class/lib/monolite/basic.exe
+
ifdef use_monolite
PROFILE_RUNTIME = $(with_mono_path_monolite) $(RUNTIME)
-BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/monolite/gmcs.exe
+BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(MONOLITE_MCS) -sdk:2
else
PROFILE_RUNTIME = $(EXTERNAL_RUNTIME)
BOOTSTRAP_MCS = $(EXTERNAL_MCS)
MCS = $(with_mono_path) $(INTERNAL_GMCS)
-PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:BOOTSTRAP_BASIC
+PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -d:DISABLE_CAS_USE -lib:$(topdir)/class/lib/$(PROFILE)
NO_SIGN_ASSEMBLY = yes
NO_TEST = yes
NO_INSTALL = yes
-FRAMEWORK_VERSION = 2.0
+FRAMEWORK_VERSION = 4.0
# Compiler all using same bootstrap compiler
LIBRARY_COMPILE = $(BOOT_COMPILE)
@ok=:; \
rm -f $(PROFILE_EXE) $(PROFILE_OUT); \
$(MAKE) $(MAKE_Q) $(PROFILE_OUT) || ok=false; \
- rm -f $(PROFILE_EXE) $(PROFILE_OUT); \
- if $$ok; then :; else \
- if test -f $(topdir)/class/lib/monolite/gmcs.exe; then \
+ if $$ok; then rm -f $(PROFILE_EXE) $(PROFILE_OUT); else \
+ if test -f $(MONOLITE_MCS); then \
$(MAKE) -s do-profile-check-monolite ; \
else \
echo "*** The compiler '$(BOOTSTRAP_MCS)' doesn't appear to be usable." 1>&2; \
- echo "*** You need Mono version 2.4 or better installed to build MCS" 1>&2 ; \
- echo "*** Read INSTALL.txt for information on how to bootstrap a Mono installation." 1>&2 ; \
+ echo "*** You need Mono version 3.2 or better installed to build MCS" 1>&2 ; \
+ echo "*** Check mono README for information on how to bootstrap a Mono installation." 1>&2 ; \
+ echo "*** The version of '$(BOOTSTRAP_MCS)' is: `$(BOOTSTRAP_MCS) --version`." 1>&2 ; \
exit 1; fi; fi