X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=runtime%2FMakefile.am;h=2cd119314fe8290f26f5a6eb6712b2a51f97cd6d;hb=b2a11ac756f940c30b05aa0a8baf733572df4ce5;hp=223b73852dcbf3762ccd27934beb22ddf5e87687;hpb=32f2f7c898abd259b447eb318e9664e518ea6807;p=mono.git diff --git a/runtime/Makefile.am b/runtime/Makefile.am index 223b73852dc..2cd119314fe 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -29,11 +29,11 @@ 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 -build_profiles += monodroid +build_profiles += monodroid monodroid_tools endif if INSTALL_MONOTOUCH @@ -48,15 +48,31 @@ if INSTALL_MONOTOUCH_TV build_profiles += monotouch_tv monotouch_tv_runtime endif -if INSTALL_MOBILE_STATIC -build_profiles += mobile_static +if INSTALL_TESTING_AOT_HYBRID +build_profiles += testing_aot_hybrid +endif + +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 -test_profiles = $(build_profiles) +if INSTALL_ORBIS +build_profiles += orbis +endif + +if INSTALL_UNREAL +build_profiles += unreal +endif + +test_profiles = $(filter-out binary_reference_assemblies monodroid_tools,$(build_profiles)) if BUILD_MCS @@ -88,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 @@ -109,15 +125,26 @@ cur_dir_cmd = pwd PLATFORM_PATH_SEPARATOR = : endif +# 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. +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 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 \ 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 \ @@ -125,8 +152,11 @@ mcs-compileall: mono-wrapper etc/mono/config 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 i in $(mcs_topdir)/class/lib/$$profile/*.{dll,exe}; do \ + for stub in $$verifiable_files; do \ + i=$(mcs_topdir)/class/lib/$$profile/$$stub ; \ + echo $$i ; \ if [ ! -f $$i ] ; then \ continue ; \ fi ; \ @@ -135,14 +165,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 @@ -153,19 +180,28 @@ CLEANFILES = etc/mono/config etc/mono/config: ../data/config Makefile $(symlinks) d=`cd ../support && pwd`; \ sed 's,target="$$mono_libdir/libMonoPosixHelper$(libsuffix)",target="'$$d'/libMonoPosixHelper.la",' ../data/config > $@t + d=`cd ../mono/btls/build-shared && pwd`; \ + sed 's,target="$$mono_libdir/libmono-btls-shared$(libsuffix)",target="'$$d'/libmono-btls-shared$(libsuffix)",' $@t > $@tt if test -z "$(libgdiplus_loc)"; then :; else \ - sed 's,target="$(libgdiplus_install_loc)",target="$(libgdiplus_loc)",' $@t > $@tt; \ - mv -f $@tt $@t; fi - mv -f $@t $@ + sed 's,target="$(libgdiplus_install_loc)",target="$(libgdiplus_loc)",' $@tt > $@ttt; \ + mv -f $@ttt $@tt; fi + mv -f $@tt $@ + rm -f $@t $(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 @@ -177,7 +213,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)