X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=runtime%2FMakefile.am;h=5224c91837ff9bb9dd665d43987db121b7285be7;hb=e1bc49df99977be40222dec96096c19b9d04db7c;hp=223b73852dcbf3762ccd27934beb22ddf5e87687;hpb=f41e857d3fef58b944e1523f0ee9a97b4f142468;p=mono.git diff --git a/runtime/Makefile.am b/runtime/Makefile.am index 223b73852dc..5224c91837f 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,8 +48,12 @@ if INSTALL_MONOTOUCH_TV build_profiles += monotouch_tv monotouch_tv_runtime endif -if INSTALL_MOBILE_STATIC -build_profiles += mobile_static +if INSTALL_AOT_HYBRID +build_profiles += aot_hybrid +endif + +if INSTALL_AOT_ONLY +build_profiles += aot_only endif if INSTALL_XAMMAC @@ -88,7 +92,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,10 +113,20 @@ cur_dir_cmd = pwd PLATFORM_PATH_SEPARATOR = : endif +if INSTALL_AOT_ONLY +# ILASM.exe has features which a aot_only 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 +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 \ @@ -126,7 +140,9 @@ mcs-compileall: mono-wrapper etc/mono/config MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; \ fi; \ 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 ; \ @@ -153,19 +169,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 +202,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)