X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=runtime%2FMakefile.am;h=ec9f357096a50a16e977690bc65e94d587f84a47;hb=e0072cdcfa4b26ff4046f1e54c92c86aab71c802;hp=02a0e02ec371efb2752376baca6ed60a1be28181;hpb=c5a3130e48c68ef14107f934d7b27e9edb889946;p=mono.git diff --git a/runtime/Makefile.am b/runtime/Makefile.am index 02a0e02ec37..ec9f357096a 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -8,25 +8,72 @@ noinst_SCRIPTS = mono-wrapper monodis-wrapper etctmp = etc symlinks = etc/mono/1.0/machine.config etc/mono/2.0/machine.config etc/mono/2.0/web.config etc/mono/browscap.ini etc/mono/2.0/Browsers/Compat.browser -etc/mono/1.0/machine.config: $(top_srcdir)/data/net_1_1/machine.config +if INSTALL_4_0 +symlinks += etc/mono/4.0/machine.config etc/mono/4.0/web.config +endif + etc/mono/2.0/machine.config: $(top_srcdir)/data/net_2_0/machine.config etc/mono/2.0/web.config: $(top_srcdir)/data/net_2_0/web.config etc/mono/browscap.ini: $(top_srcdir)/data/browscap.ini etc/mono/2.0/Browsers/Compat.browser: $(top_srcdir)/data/net_2_0/Browsers/Compat.browser +etc/mono/4.0/machine.config: $(top_srcdir)/data/net_4_0/machine.config +etc/mono/4.0/web.config: $(top_srcdir)/data/net_4_0/web.config $(symlinks): cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ SUPPORT_FILES = $(symlinks) mono-wrapper etc/mono/config -if INSTALL_2_0 -if INSTALL_2_1 -build_profiles = default net_2_0 net_3_5 net_2_1 -else -build_profiles = default net_2_0 net_3_5 +if MOONLIGHT +moon-do-basic: Makefile $(SUPPORT_FILES) + cd $(mcs_topdir)/class/Mono.Cecil && $(MAKE) PROFILE=basic + cd $(mcs_topdir)/class/Mono.Cecil.Mdb && $(MAKE) PROFILE=basic + cd $(mcs_topdir)/tools/linker && $(MAKE) PROFILE=basic + cd $(mcs_topdir)/tools/tuner && $(MAKE) PROFILE=basic + +moon-do-basic-clean: + cd $(mcs_topdir)/class/Mono.Cecil && $(MAKE) PROFILE=basic clean + cd $(mcs_topdir)/class/Mono.Cecil.Mdb && $(MAKE) PROFILE=basic clean + cd $(mcs_topdir)/tools/linker && $(MAKE) PROFILE=basic clean + cd $(mcs_topdir)/tools/tuner && $(MAKE) PROFILE=basic clean endif + +if ONLY_MOONLIGHT +build_profiles = moonlight_raw +test_profiles = moonlight_raw else -build_profiles = default + +build_profiles = net_2_0 net_3_5 +test_profiles = $(build_profiles) + +if MOONLIGHT +build_profiles += moonlight_raw +test_profiles += moonlight_raw + +moon-do-moonlight-raw: Makefile $(SUPPORT_FILES) + cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='moonlight_raw' CC='$(CC)' all-profiles + +moon-do-moonlight-raw-clean: + cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='moonlight_raw' CC='$(CC)' clean-profiles + +moon-do-build: moon-do-moonlight-raw moon-do-basic +moon-do-clean: moon-do-moonlight-raw-clean moon-do-basic-clean + +endif + +if INSTALL_4_0 +build_profiles += net_4_0 +#test_profiles += net_4_0 +endif + +if INSTALL_MONODROID +build_profiles += monodroid +endif + +if INSTALL_MONOTOUCH +build_profiles += monotouch +endif + endif if BUILD_MCS @@ -59,7 +106,7 @@ clean-local: endif BUILD_MCS -TEST_SUPPORT_FILES = $(tmpinst)/bin/mono $(tmpinst)/bin/mcs $(tmpinst)/bin/ilasm $(tmpinst)/bin/gmcs +TEST_SUPPORT_FILES = $(tmpinst)/bin/mono $(tmpinst)/bin/ilasm $(tmpinst)/bin/gmcs $(tmpinst)/bin/dmcs $(tmpinst)/bin/al2 $(tmpinst)/bin/al # now a misnomer, but it'll go away soon enough. if ENABLE_NUNIT_TESTS @@ -69,25 +116,31 @@ test_select = ONLY_CENTUM_TESTS=yes endif mcs-do-test-profiles: - cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(build_profiles)' test-profiles + cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(test_profiles)' test-profiles mcs-do-run-test-profiles: test-support-files - cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(build_profiles)' run-test-profiles + cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='$(test_profiles)' run-test-profiles -if PLATFORM_WIN32 +if HOST_WIN32 +if CROSS_COMPILING +cur_dir_cmd = pwd +PLATFORM_PATH_SEPARATOR = : +else cur_dir_cmd = cygpath -w -a . PLATFORM_PATH_SEPARATOR = ; +endif else cur_dir_cmd = pwd PLATFORM_PATH_SEPARATOR = : endif -# Use --compile-all as a poor man's PEVerify to detect invalid IL +# 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 net 2.1 assemblies for now because of visibility problems mcs-compileall: mono-wrapper etc/mono/config save_MONO_PATH=$$MONO_PATH; mcs_topdir=`cd $(mcs_topdir) && $(cur_dir_cmd)`; ok=:; \ - for profile in $(build_profiles); do \ - if [ "net_2_1" = "$$profile" ]; then \ + for profile in $(test_profiles); do \ + if [ "moonlight" = "$$profile" ]; then \ break; \ fi; \ if [ "net_3_5" = "$$profile" ]; then \ @@ -100,7 +153,7 @@ mcs-compileall: mono-wrapper etc/mono/config if [ ! -f $$i ] ; then \ continue ; \ fi ; \ - if ./mono-wrapper --compile-all $$i; then \ + if ./mono-wrapper --compile-all --verify-all --security=validil $$i; then \ echo $$i verified OK; \ else \ echo $$i verification failed; ok=false; \ @@ -125,16 +178,16 @@ $(tmpinst)/bin/mono: mono-wrapper etc/mono/config $(mkinstalldirs) $(tmpinst)/bin cp mono-wrapper $@ -$(tmpinst)/bin/mcs: $(tmpinst)/bin/mono Makefile +$(tmpinst)/bin/gmcs: $(tmpinst)/bin/mono Makefile echo '#! /bin/sh' > $@ ; \ r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ - echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/default/mcs.exe"'" "$$@"' >> $@ ; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/net_2_0/gmcs.exe"'" "$$@"' >> $@ ; \ chmod +x $@ -$(tmpinst)/bin/gmcs: $(tmpinst)/bin/mono Makefile +$(tmpinst)/bin/dmcs: $(tmpinst)/bin/mono Makefile echo '#! /bin/sh' > $@ ; \ r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ - echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/net_2_0/gmcs.exe"'" "$$@"' >> $@ ; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/net_4_0/dmcs.exe"'" "$$@"' >> $@ ; \ chmod +x $@ $(tmpinst)/bin/ilasm: $(tmpinst)/bin/mono Makefile @@ -143,6 +196,18 @@ $(tmpinst)/bin/ilasm: $(tmpinst)/bin/mono Makefile echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/ilasm/ilasm.exe"'" "$$@"' >> $@ ; \ chmod +x $@ +$(tmpinst)/bin/al2: $(tmpinst)/bin/mono Makefile + echo '#! /bin/sh' > $@ ; \ + r=`pwd`; m=`cd $(mcs_topdir) && pwd`; \ + echo 'exec "'"$$r/$(tmpinst)/bin/mono"'" "'"$$m/class/lib/net_2_0/al.exe"'" "$$@"' >> $@ ; \ + chmod +x $@ + +$(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/net_4_0/al.exe"'" "$$@"' >> $@ ; \ + chmod +x $@ + test-support-files: $(TEST_SUPPORT_FILES) @: