X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fbuild%2Fprofiles%2Fbasic.make;h=9fa24ccb47b6e4a74b0d0d1dc7d1f3e6d858adc4;hb=9197bd0e1c491b887f12bf11d7bf61d1df31d13c;hp=d335d6ad2114e3104e6b261f4a8e9859c27ea113;hpb=c251b192a55c255f278c9b9ad2ec949264a36526;p=mono.git diff --git a/mcs/build/profiles/basic.make b/mcs/build/profiles/basic.make index d335d6ad211..2b822234f61 100644 --- a/mcs/build/profiles/basic.make +++ b/mcs/build/profiles/basic.make @@ -1,28 +1,38 @@ # -*- makefile -*- -with_mono_path = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" -with_mono_path_monolite = MONO_PATH="$(topdir)/class/lib/monolite$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" +with_mono_path_monolite = MONO_PATH="$(topdir)/class/lib/monolite$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/monolite/Facades$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" monolite_flag := $(depsdir)/use-monolite use_monolite := $(wildcard $(monolite_flag)) -MONOLITE_MCS = $(topdir)/class/lib/monolite/basic.exe +MONOLITE_MSCORLIB = $(topdir)/class/lib/monolite/mscorlib.dll ifdef use_monolite +ifdef MCS_MODE + CSC_LOCATION = $(topdir)/class/lib/monolite/mcs.exe +endif + PROFILE_RUNTIME = $(with_mono_path_monolite) $(RUNTIME) -BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(MONOLITE_MCS) +BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(CSC_LOCATION) + else PROFILE_RUNTIME = $(EXTERNAL_RUNTIME) -BOOTSTRAP_MCS = $(EXTERNAL_MCS) +ifdef MCS_MODE + BOOTSTRAP_MCS = mcs +else + BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(CSC_LOCATION) endif +endif + +MCS = $(BOOTSTRAP_MCS) -MCS = $(with_mono_path) $(INTERNAL_GMCS) +DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -PROFILE_MCS_FLAGS = -d:NET_1_1 -d:NET_2_0 -d:BOOTSTRAP_BASIC -nowarn:1699 +PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) 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) @@ -33,7 +43,7 @@ LIBRARY_COMPILE = $(BOOT_COMPILE) # # Copy from rules.make because I don't know how to unset MCS_FLAGS # -USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) +USE_MCS_FLAGS = /codepage:$(CODEPAGE) /nologo /noconfig $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) .PHONY: profile-check do-profile-check profile-check: @@ -59,39 +69,48 @@ MAKE_Q=$(if $(V),,-s) do-profile-check: $(depsdir)/.stamp @ok=:; \ rm -f $(PROFILE_EXE) $(PROFILE_OUT); \ + if [ -z '$(MAKE_Q)' ] && [ -n '$(PROFILE_RUNTIME)' ]; then $(PROFILE_RUNTIME) --version; fi; \ $(MAKE) $(MAKE_Q) $(PROFILE_OUT) || ok=false; \ if $$ok; then rm -f $(PROFILE_EXE) $(PROFILE_OUT); else \ - if test -f $(MONOLITE_MCS); then \ - $(MAKE) -s do-profile-check-monolite ; \ + if test ! -s $(MONOLITE_MSCORLIB); then \ + $(MAKE) $(MAKE_Q) do-get-monolite ; \ + fi; \ + if test -f $(MONOLITE_MSCORLIB); then \ + $(MAKE) $(MAKE_Q) 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 "*** The runtime '$(PROFILE_RUNTIME)' doesn't appear to be usable." 1>&2; \ + echo "*** You need Mono version 4.8 or better installed to build MCS" 1>&2 ; \ + echo "*** Check mono README for information on how to bootstrap a Mono installation." 1>&2 ; \ exit 1; fi; fi ifdef use_monolite +do-get-monolite: + do-profile-check-monolite: - echo "*** The contents of your 'monolite' directory may be out-of-date" 1>&2 - echo "*** You may want to try 'make get-monolite-latest'" 1>&2 + @echo "*** The contents of your 'monolite' directory may be out-of-date" 1>&2 + @echo "*** You may want to try 'make get-monolite-latest'" 1>&2 rm -f $(monolite_flag) exit 1 else +do-get-monolite: + @echo "*** Downloading bootstrap required 'monolite'" 1>&2 + $(MAKE) $(MAKE_Q) -C $(mono_build_root) get-monolite-latest + do-profile-check-monolite: $(depsdir)/.stamp - echo "*** The compiler '$(BOOTSTRAP_MCS)' doesn't appear to be usable." 1>&2 - echo "*** Trying the 'monolite' directory." 1>&2 - echo dummy > $(monolite_flag) + @echo "*** The runtime '$(PROFILE_RUNTIME)' doesn't appear to be usable." 1>&2 + @echo "*** Trying the 'monolite' directory." 1>&2 + @echo dummy > $(monolite_flag) $(MAKE) do-profile-check endif $(PROFILE_EXE): $(topdir)/build/common/basic-profile-check.cs - $(BOOTSTRAP_MCS) /warn:0 /out:$@ $< - echo -n "Bootstrap compiler: " 1>&2 - $(BOOTSTRAP_MCS) --version 1>&2 + $(MAKE) $(MAKE_Q) -C $(topdir)/packages + $(BOOTSTRAP_MCS) /warn:0 /noconfig /r:System.dll /r:mscorlib.dll /out:$@ $< $(PROFILE_OUT): $(PROFILE_EXE) $(PROFILE_RUNTIME) $< > $@ 2>&1