X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=scripts%2FMakefile.am;h=4f70fd2058048644b5db837aec3eff9ec920af80;hb=a5e40870bd3bb18e1681afed6c71e7edfdb80534;hp=f1014abd16be34e5029483bc350d8a79beb210a9;hpb=93703b4ef8bdcf1d6cf336e14f534454221730c5;p=mono.git diff --git a/scripts/Makefile.am b/scripts/Makefile.am index f1014abd16b..4f70fd20580 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,73 +1,160 @@ +# +# Scripts that we install +# +# Starting with Mono 2.0, the majority of the tools default to the +# 2.0 profile. Commands that support the 1.0 toolchain and must +# run under 1.0 have the number 1 appended to their command names +# (for example mcs1 is the C# 1.0 compiler) and are listed in the +# scripts_1_0 compat variable. +# +# To preserve compatibility with old Makefiles and tools we keep the +# command names that had the suffix 2 (like wsdl2) +# +if USE_BATCH_FILES +SCRIPT_IN=script.bat.in +SMCS_IN=smcs.bat.in +FILTER=sed -e 's,\.bat\.exe,\.exe,g' -e 's,/,\\,g' +SCRIPT_SUFFIX=.bat +else +SCRIPT_IN=script.in +SMCS_IN=smcs.in +FILTER=cat +SCRIPT_SUFFIX= +endif + +COMPAT_1_0_SUFFIX=1$(SCRIPT_SUFFIX) +COMPAT_2_0_SUFFIX=2$(SCRIPT_SUFFIX) + bin_SCRIPTS = \ $(scripts_1_0) \ $(scripts_1_0_umask) \ + $(scripts_1_0_compat) \ + $(scripts_defaults) \ $(scripts_2_0) \ + $(scripts_2_1) \ $(scripts_service) \ $(scripts_nunit) \ - $(scripts_rpmhelpers) + $(scripts_rpmhelpers) \ + $(MDOC_SUBCOMMANDS) \ + $(MDOC_COMPAT) \ + mod \ + mono-test-install + +scripts_1_0_compat = \ + al1$(SCRIPT_SUFFIX) \ + genxs1$(SCRIPT_SUFFIX) \ + ilasm1$(SCRIPT_SUFFIX) \ + mcs1$(SCRIPT_SUFFIX) \ + mkbundle1$(SCRIPT_SUFFIX) \ + gacutil1$(SCRIPT_SUFFIX) \ + monop1$(SCRIPT_SUFFIX) \ + resgen1$(SCRIPT_SUFFIX) \ + wsdl1$(SCRIPT_SUFFIX) scripts_1_0 = \ - al \ - caspol \ - cert2spc \ - certmgr \ - chktrust \ - cilc \ - disco \ - dtd2xsd \ - dtd2rng \ - gacutil \ - genxs \ - ilasm \ - macpack \ - mbas \ - mcs \ - mjs \ - mkbundle \ - monop \ - mono-shlib-cop \ - mono-xmltool \ - mozroots \ - permview \ - prj2make \ - resgen \ - secutil \ - setreg \ - signcode \ - soapsuds \ - sqlsharp \ - wsdl \ - xsd + caspol$(SCRIPT_SUFFIX) \ + cert2spc$(SCRIPT_SUFFIX) \ + certmgr$(SCRIPT_SUFFIX) \ + chktrust$(SCRIPT_SUFFIX) \ + cilc$(SCRIPT_SUFFIX) \ + disco$(SCRIPT_SUFFIX) \ + dtd2xsd$(SCRIPT_SUFFIX) \ + dtd2rng$(SCRIPT_SUFFIX) \ + installvst$(SCRIPT_SUFFIX) \ + macpack$(SCRIPT_SUFFIX) \ + mcs$(SCRIPT_SUFFIX) \ + mjs$(SCRIPT_SUFFIX) \ + monolinker$(SCRIPT_SUFFIX) \ + mono-cil-strip$(SCRIPT_SUFFIX) \ + mono-xmltool$(SCRIPT_SUFFIX) \ + mozroots$(SCRIPT_SUFFIX) \ + permview$(SCRIPT_SUFFIX) \ + prj2make$(SCRIPT_SUFFIX) \ + secutil$(SCRIPT_SUFFIX) \ + setreg$(SCRIPT_SUFFIX) \ + signcode$(SCRIPT_SUFFIX) \ + soapsuds$(SCRIPT_SUFFIX) \ + sqlsharp$(SCRIPT_SUFFIX) \ + xsd$(SCRIPT_SUFFIX) scripts_1_0_umask = \ - makecert \ - sn + makecert$(SCRIPT_SUFFIX) \ + sn$(SCRIPT_SUFFIX) scripts_2_0 = \ - gmcs \ - ilasm2 \ - monop2 \ - resgen2 \ - wsdl2 \ - xbuild - + al2$(SCRIPT_SUFFIX) \ + csharp$(SCRIPT_SUFFIX) \ + gacutil2$(SCRIPT_SUFFIX) \ + genxs2$(SCRIPT_SUFFIX) \ + gmcs$(SCRIPT_SUFFIX) \ + httpcfg$(SCRIPT_SUFFIX) \ + ilasm2$(SCRIPT_SUFFIX) \ + mconfig$(SCRIPT_SUFFIX) \ + mkbundle2$(SCRIPT_SUFFIX) \ + mdoc$(SCRIPT_SUFFIX) \ + mono-api-diff$(SCRIPT_SUFFIX) \ + mono-api-info$(SCRIPT_SUFFIX) \ + mono-shlib-cop$(SCRIPT_SUFFIX) \ + monop2$(SCRIPT_SUFFIX) \ + resgen2$(SCRIPT_SUFFIX) \ + wsdl2$(SCRIPT_SUFFIX) \ + xsd2$(SCRIPT_SUFFIX) \ + sgen$(SCRIPT_SUFFIX) \ + xbuild$(SCRIPT_SUFFIX) + +MDOC_SUBCOMMANDS = \ + mdoc-assemble \ + mdoc-export-html \ + mdoc-export-msxdoc \ + mdoc-update \ + mdoc-validate + +MDOC_COMPAT = \ + mdassembler \ + mdvalidater \ + monodocer \ + monodocs2html \ + monodocs2slashdoc + +# +# these are the new defaults, 2.0 profile-based commands +# +# we can move scripts_1_0 scripts here as we see fit, if we need to +# keep a 1.0 command available, we should additionally put it on +# the scripts_1_0_compat list +# +scripts_defaults = \ + al$(SCRIPT_SUFFIX) \ + genxs$(SCRIPT_SUFFIX) \ + ilasm$(SCRIPT_SUFFIX) \ + gacutil$(SCRIPT_SUFFIX) \ + mkbundle$(SCRIPT_SUFFIX) \ + monop$(SCRIPT_SUFFIX) \ + resgen$(SCRIPT_SUFFIX) \ + wsdl$(SCRIPT_SUFFIX) + +scripts_2_1 = smcs$(SCRIPT_SUFFIX) scripts_service = mono-service mono-service2 -scripts_nunit = nunit-console nunit-console2 +scripts_nunit = nunit-console$(SCRIPT_SUFFIX) nunit-console2$(SCRIPT_SUFFIX) scripts_rpmhelpers = mono-find-provides mono-find-requires -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA= mono-nunit.pc - -CLEANFILES = $(scripts_1_0) $(scripts_1_0_umask) $(scripts_2_0) gmcs mono-service mono-service2 +CLEANFILES = $(scripts_1_0) $(scripts_1_0_umask) $(scripts_2_0) $(scripts_2_1) $(scripts_defaults) $(scripts_1_0_compat) mono-service mono-service2 nunit-console nunit-console2 mono-find-provides mono-find-requires mod $(MDOC_SUBCOMMANDS) DISTCLEANFILES = $(pkgconfig_DATA) $(scripts_rpmhelpers) -EXTRA_DIST = \ - script.in \ - script_umask.in \ - mono-service.in \ - mono-nunit.pc.in \ - mono-find-provides.in \ - mono-find-requires.in +EXTRA_DIST = \ + script.in \ + script.bat.in \ + script_umask.in \ + script_umask.bat.in \ + smcs.in \ + smcs.bat.in \ + mod.in \ + mono-service.in \ + mono-find-provides.in \ + mono-find-requires.in \ + mono-test-install \ + $(MDOC_COMPAT) \ + patch-quiet.sh if USE_JIT mono_interp = mono @@ -76,13 +163,19 @@ mono_interp = mint endif if PLATFORM_WIN32 +if CROSS_COMPILING +plat_bindir = $(bindir) +mono_instdir = $(prefix)/lib/mono +else plat_bindir = $(shell cygpath -m $(libdir)) mono_instdir = $(shell cygpath -m $(libdir))/mono +endif else plat_bindir = $(bindir) mono_instdir = $(prefix)/lib/mono endif + REWRITE_COMMON = sed \ -e 's,@''bindir@,$(bindir),g' \ -e 's,@''plat_bindir@,$(plat_bindir),g' \ @@ -94,9 +187,11 @@ REWRITE_DEBUG = $(REWRITE_COMMON) -e 's,@''mono_interp@,$(mono_interp) --debug,g REWRITE1 = $(REWRITE) -e 's,@''framework_version@,1.0,g' REWRITE2 = $(REWRITE) -e 's,@''framework_version@,2.0,g' +REWRITE2_1 = $(REWRITE) -e 's,@''framework_version@,2.1,g' REWRITE1_DEBUG = $(REWRITE_DEBUG) -e 's,@''framework_version@,1.0,g' REWRITE2_DEBUG = $(REWRITE_DEBUG) -e 's,@''framework_version@,2.0,g' + mono-service: mono-service.in Makefile $(REWRITE1) -e 's,@''exe_name@,$@,g' $(srcdir)/mono-service.in > $@.tmp mv $@.tmp $@ @@ -105,23 +200,47 @@ mono-service2: mono-service.in Makefile $(REWRITE2) -e 's,@''exe_name@,$@,g' $(srcdir)/mono-service.in > $@.tmp mv $@.tmp $@ -nunit-console: script.in Makefile - $(REWRITE1_DEBUG) -e 's,@''exe_name@,nunit-console,g' $(srcdir)/script.in > $@.tmp +nunit-console$(SCRIPT_SUFFIX): $(SCRIPT_IN) Makefile + $(REWRITE1_DEBUG) -e 's,@''exe_name@,nunit-console,g' $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp + mv $@.tmp $@ + +nunit-console2$(SCRIPT_SUFFIX): $(SCRIPT_IN) Makefile + $(REWRITE2_DEBUG) -e 's,@''exe_name@,nunit-console,g' $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp mv $@.tmp $@ -nunit-console2: script.in Makefile - $(REWRITE2_DEBUG) -e 's,@''exe_name@,nunit-console,g' $(srcdir)/script.in > $@.tmp +smcs$(SCRIPT_SUFFIX): $(SMCS_IN) Makefile + $(REWRITE2_1) -e "s,@""exe_name@,smcs,g" $(srcdir)/$(SMCS_IN) | $(FILTER) > $@.tmp mv $@.tmp $@ -$(scripts_1_0): script.in Makefile - $(REWRITE1) -e 's,@''exe_name@,$@,g' $(srcdir)/script.in > $@.tmp +mod$(SCRIPT_SUFFIX): mod.in Makefile + $(REWRITE2) -e "s,@""exe_name@,mod,g" $(srcdir)/mod.in > $@.tmp + mv $@.tmp $@ + +$(scripts_1_0): $(SCRIPT_IN) Makefile + $(REWRITE1) -e 's,@''exe_name@,$@,g' $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp mv $@.tmp $@ $(scripts_1_0_umask): script_umask.in Makefile $(REWRITE1) -e 's,@''exe_name@,$@,g' $(srcdir)/script_umask.in > $@.tmp mv $@.tmp $@ -$(scripts_2_0): script.in Makefile - n=`echo $@ | sed 's,2$$,,'`; \ - $(REWRITE2) -e "s,@""exe_name@,$$n,g" $(srcdir)/script.in > $@.tmp +$(scripts_1_0_compat): $(SCRIPT_IN) Makefile + t=`basename $@ $(COMPAT_1_0_SUFFIX)`; $(REWRITE1) -e "s,@exe_name@,$$t,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp mv $@.tmp $@ + +$(scripts_defaults): $(SCRIPT_IN) Makefile + $(REWRITE2) -e "s,@exe_name@,$@,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp + mv $@.tmp $@ + +$(scripts_2_0): $(SCRIPT_IN) Makefile + n=`echo $@ | sed 's,$(COMPAT_2_0_SUFFIX)$$,,'`; \ + $(REWRITE2) -e "s,@""exe_name@,$$n,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp + mv $@.tmp $@ + +$(MDOC_SUBCOMMANDS): Makefile + for script in $(MDOC_SUBCOMMANDS) ; do \ + cmd=`echo $$script | sed 's/mdoc-//'` ; \ + echo "#!/bin/sh" > $$script ; \ + echo "exec mdoc $$cmd \"\$$@\"" >> $$script; \ + done +