X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=runtime%2FMakefile.am;h=326158c3af8f680573cc7eed9196df4a56ce66a2;hb=f77270c633c1e5a1703207cb96f1934a7354c0bc;hp=1fe237bc3456544b87023c11ac9e85c99c5fef9e;hpb=9f5b8c4cf2b7980ea5dddef62b36bb1910b53ff9;p=mono.git diff --git a/runtime/Makefile.am b/runtime/Makefile.am index 1fe237bc345..326158c3af8 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -29,7 +29,7 @@ build_profiles = if INSTALL_4_x build_profiles += binary_reference_assemblies net_4_x xbuild_12 xbuild_14 -al_profile = net_4_x +net_profile = net_4_x endif if INSTALL_MONODROID @@ -48,18 +48,30 @@ if INSTALL_MONOTOUCH_TV build_profiles += monotouch_tv monotouch_tv_runtime endif -if INSTALL_AOT_HYBRID -build_profiles += aot_hybrid +if INSTALL_TESTING_AOT_HYBRID +build_profiles += testing_aot_hybrid endif -if INSTALL_AOT_ONLY -build_profiles += aot_only +if INSTALL_TESTING_AOT_FULL +build_profiles += testing_aot_full +endif + +if INSTALL_WINAOT +build_profiles += winaot endif if INSTALL_XAMMAC build_profiles += xammac xammac_net_4_5 endif +if INSTALL_ORBIS +build_profiles += orbis +endif + +if INSTALL_UNREAL +build_profiles += unreal +endif + test_profiles = $(build_profiles) if BUILD_MCS @@ -92,7 +104,7 @@ clean-local: endif BUILD_MCS -TEST_SUPPORT_FILES = $(tmpinst)/bin/mono $(tmpinst)/bin/ilasm $(tmpinst)/bin/mcs $(tmpinst)/bin/al +TEST_SUPPORT_FILES = $(tmpinst)/bin/mono $(tmpinst)/bin/ilasm $(tmpinst)/bin/csc $(tmpinst)/bin/mcs $(tmpinst)/bin/al mcs-do-test-profiles: cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(test_profiles)' test-profiles @@ -113,32 +125,37 @@ cur_dir_cmd = pwd PLATFORM_PATH_SEPARATOR = : endif -if INSTALL_AOT_ONLY -# ILASM.exe has features which a aot_only runtime will not support. +# assemblies which are excluded from testing in mcs-compileall below +VERIFY_TESTS_FILTER = + +if HOST_WIN32 +# Mono.WebBrowser.dll fails to verify on Windows +VERIFY_TESTS_FILTER += Mono.WebBrowser.dll +endif + +if FULL_AOT_TESTS +# ILASM.exe has features which a testing_aot_full runtime will not support. # It is invoked with an external mono when used in the runtime. # We skip it here because otherwise it will fail to verify. -AOT_ONLY_FILTER=grep -v ilasm -else -AOT_ONLY_FILTER=echo +VERIFY_TESTS_FILTER += ilasm.exe 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 binary_reference_assemblies because they contain metadata only mcs-compileall: mono-wrapper etc/mono/config - export verifiable_files=`ls "$(mcs_topdir)/class/lib/$$profile/" | grep -E '\.(dll|exe)$$' | $(AOT_ONLY_FILTER)` ; \ save_MONO_PATH=$$MONO_PATH; mcs_topdir=`cd $(mcs_topdir) && $(cur_dir_cmd)`; ok=:; \ for profile in $(test_profiles); do \ if [ "binary_reference_assemblies" = "$$profile" ]; then \ continue; \ - fi; \ - if [ "xbuild_12" = "$$profile" ]; then \ + elif [ "xbuild_12" = "$$profile" ]; then \ MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_4_x$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \ elif [ "xbuild_14" = "$$profile" ]; then \ MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$mcs_topdir/class/lib/net_4_x$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \ else \ MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \ fi; \ + export verifiable_files=`ls "$(mcs_topdir)/class/lib/$$profile/" | grep -E '\.(dll|exe)$$' $(foreach asm,$(VERIFY_TESTS_FILTER), | grep -v $(asm))` ; \ export MONO_PATH; \ for stub in $$verifiable_files; do \ i=$(mcs_topdir)/class/lib/$$profile/$$stub ; \ @@ -151,14 +168,11 @@ mcs-compileall: mono-wrapper etc/mono/config else \ echo $$i verification failed; ok=false; \ fi; done; done; \ + if [ "$$ok" = "false" ]; then echo "Verifying framework assemblies failed. Check the log for more details." > TestResult-verify.xml; fi; \ $$ok -if NACL_CODEGEN -check-local: -else check-local: mcs-compileall mcs-do-test-profiles $(MAKE) mcs-do-run-test-profiles -endif # Compile all mcs tests test: mcs-do-test-profiles @@ -181,10 +195,16 @@ $(tmpinst)/bin/mono: mono-wrapper etc/mono/config $(mkinstalldirs) $(tmpinst)/bin cp mono-wrapper $@ +$(tmpinst)/bin/csc: $(tmpinst)/bin/mono Makefile + echo '#! /bin/sh' > $@ ; \ + r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$(CSC)"'" "$$@"' >> $@ ; \ + chmod +x $@ + $(tmpinst)/bin/mcs: $(tmpinst)/bin/mono Makefile echo '#! /bin/sh' > $@ ; \ r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ - echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/build/mcs.exe"'" "$$@"' >> $@ ; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/$(net_profile)/mcs.exe"'" "$$@"' >> $@ ; \ chmod +x $@ $(tmpinst)/bin/ilasm: $(tmpinst)/bin/mono Makefile @@ -196,7 +216,7 @@ $(tmpinst)/bin/ilasm: $(tmpinst)/bin/mono Makefile $(tmpinst)/bin/al: $(tmpinst)/bin/mono Makefile echo '#! /bin/sh' > $@ ; \ r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ - echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/$(al_profile)/al.exe"'" "$$@"' >> $@ ; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/$(net_profile)/al.exe"'" "$$@"' >> $@ ; \ chmod +x $@ test-support-files: $(TEST_SUPPORT_FILES)