From 24eb4f9306f8b19b5564853d41514078f071e849 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Thu, 23 Dec 2010 11:11:41 +0000 Subject: WIN32: install wrapper scripts instead of symlinks git-svn-id: svn://tug.org/texlive/trunk@20837 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/tex4htk/ChangeLog | 5 ++ Build/source/texk/tex4htk/Makefile.am | 13 +++++ Build/source/texk/tex4htk/Makefile.in | 87 +++++++++++++++++++++++++--------- Build/source/texk/tex4htk/configure | 14 ++++++ Build/source/texk/tex4htk/configure.ac | 2 + 5 files changed, 98 insertions(+), 23 deletions(-) diff --git a/Build/source/texk/tex4htk/ChangeLog b/Build/source/texk/tex4htk/ChangeLog index e21819c900a..458f435ae71 100644 --- a/Build/source/texk/tex4htk/ChangeLog +++ b/Build/source/texk/tex4htk/ChangeLog @@ -1,3 +1,8 @@ +2010-12-23 Peter Breitenlohner + + * Makefile.am, configure.ac [WIN32]: Install wrapper scripts + instead of symlinks to scripts under texmf-dist/scripts/. + 2010-12-20 Peter Breitenlohner * ht{,context,latex,mex,tex,texi,xelatex,xetex}.bat: diff --git a/Build/source/texk/tex4htk/Makefile.am b/Build/source/texk/tex4htk/Makefile.am index 97a04645c14..6c6bb1e424d 100644 --- a/Build/source/texk/tex4htk/Makefile.am +++ b/Build/source/texk/tex4htk/Makefile.am @@ -35,12 +35,21 @@ tex4ht_SCRIPTS = if WIN32 dist_bin_SCRIPTS = $(shell_scripts:=.bat) +if WIN32_WRAP +## We treat the WIN32 wrappers as SCRIPTS to avoid automatic build rules +nodist_bin_SCRIPTS = $(perl_scripts:=.exe) $(shell_scripts:=.exe) +runscript = $(srcdir)/../texlive/w32_wrapper/runscript.exe +$(nodist_bin_SCRIPTS): $(runscript) + $(LN_S) $(runscript) $@ +endif WIN32_WRAP else !WIN32 ## Make sure $(bindir) exists ## dist_bin_SCRIPTS = endif !WIN32 +CLEANFILES = $(nodist_bin_SCRIPTS) + # We support both multiplatform and non-multiplatform builds. install-data-hook: @for p in $(perl_scripts); do \ @@ -51,12 +60,14 @@ install-data-hook: echo "$(INSTALL_SCRIPT) $(srcdir)/$$p '$(DESTDIR)$(tex4htdir)/$$p.sh'"; \ $(INSTALL_SCRIPT) $(srcdir)/$$p "$(DESTDIR)$(tex4htdir)/$$p.sh"; \ done +if !WIN32 case "$(bindir)" in \ */bin) $(MAKE) $(AM_MAKEFLAGS) REL=.. install-links;; \ */bin/*) $(MAKE) $(AM_MAKEFLAGS) REL=../.. install-links;; \ *) echo "strange directory '$(bindir)' for linked scripts" >&2; \ exit 1;; \ esac +endif !WIN32 ## Link to the basename, removing the extension, .PHONY: install-links @@ -78,10 +89,12 @@ uninstall-hook: echo "rm -f '$(DESTDIR)$(tex4htdir)/$$p'"; \ rm -f "$(DESTDIR)$(tex4htdir)/$$p"; \ done +if !WIN32 @for p in $(perl_scripts) $(shell_scripts); do \ echo "rm -f '$(DESTDIR)$(bindir)/$$p'"; \ rm -f "$(DESTDIR)$(bindir)/$$p"; \ done +endif !WIN32 ## Not used ## diff --git a/Build/source/texk/tex4htk/Makefile.in b/Build/source/texk/tex4htk/Makefile.in index dacf1cd5ddb..103dc57c11b 100644 --- a/Build/source/texk/tex4htk/Makefile.in +++ b/Build/source/texk/tex4htk/Makefile.in @@ -70,7 +70,7 @@ CONFIG_HEADER = c-auto.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(tex4htdir)" + "$(DESTDIR)$(bindir)" "$(DESTDIR)$(tex4htdir)" PROGRAMS = $(bin_PROGRAMS) am_t4ht_OBJECTS = t4ht.$(OBJEXT) t4ht_OBJECTS = $(am_t4ht_OBJECTS) @@ -104,7 +104,7 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -SCRIPTS = $(dist_bin_SCRIPTS) $(tex4ht_SCRIPTS) +SCRIPTS = $(dist_bin_SCRIPTS) $(nodist_bin_SCRIPTS) $(tex4ht_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp am__depfiles_maybe = depfiles @@ -283,6 +283,9 @@ tex4htdir = ${prefix}/$(tex4ht_subdir) tex4ht_SCRIPTS = @WIN32_FALSE@dist_bin_SCRIPTS = @WIN32_TRUE@dist_bin_SCRIPTS = $(shell_scripts:=.bat) +@WIN32_TRUE@@WIN32_WRAP_TRUE@nodist_bin_SCRIPTS = $(perl_scripts:=.exe) $(shell_scripts:=.exe) +@WIN32_TRUE@@WIN32_WRAP_TRUE@runscript = $(srcdir)/../texlive/w32_wrapper/runscript.exe +CLEANFILES = $(nodist_bin_SCRIPTS) all: c-auto.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -422,6 +425,40 @@ uninstall-dist_binSCRIPTS: test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files +install-nodist_binSCRIPTS: $(nodist_bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-nodist_binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files install-tex4htSCRIPTS: $(tex4ht_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(tex4htdir)" || $(MKDIR_P) "$(DESTDIR)$(tex4htdir)" @@ -702,7 +739,7 @@ check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) c-auto.h installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(tex4htdir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(tex4htdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -722,6 +759,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -760,7 +798,8 @@ install-dvi: install-dvi-am install-dvi-am: -install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS +install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS \ + install-nodist_binSCRIPTS install-html: install-html-am @@ -803,7 +842,7 @@ ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ - uninstall-tex4htSCRIPTS + uninstall-nodist_binSCRIPTS uninstall-tex4htSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: all install-am install-data-am install-strip uninstall-am @@ -819,19 +858,21 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ install-data-am install-data-hook install-dist_binSCRIPTS \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip install-tex4htSCRIPTS installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-dist_binSCRIPTS uninstall-hook \ - uninstall-tex4htSCRIPTS + install-man install-nodist_binSCRIPTS install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-tex4htSCRIPTS installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-dist_binSCRIPTS uninstall-hook \ + uninstall-nodist_binSCRIPTS uninstall-tex4htSCRIPTS $(t4ht_OBJECTS) $(tex4ht_OBJECTS): $(KPATHSEA_DEPEND) @KPATHSEA_RULE@ +@WIN32_TRUE@@WIN32_WRAP_TRUE@$(nodist_bin_SCRIPTS): $(runscript) +@WIN32_TRUE@@WIN32_WRAP_TRUE@ $(LN_S) $(runscript) $@ # We support both multiplatform and non-multiplatform builds. install-data-hook: @@ -843,12 +884,12 @@ install-data-hook: echo "$(INSTALL_SCRIPT) $(srcdir)/$$p '$(DESTDIR)$(tex4htdir)/$$p.sh'"; \ $(INSTALL_SCRIPT) $(srcdir)/$$p "$(DESTDIR)$(tex4htdir)/$$p.sh"; \ done - case "$(bindir)" in \ - */bin) $(MAKE) $(AM_MAKEFLAGS) REL=.. install-links;; \ - */bin/*) $(MAKE) $(AM_MAKEFLAGS) REL=../.. install-links;; \ - *) echo "strange directory '$(bindir)' for linked scripts" >&2; \ - exit 1;; \ - esac +@WIN32_FALSE@ case "$(bindir)" in \ +@WIN32_FALSE@ */bin) $(MAKE) $(AM_MAKEFLAGS) REL=.. install-links;; \ +@WIN32_FALSE@ */bin/*) $(MAKE) $(AM_MAKEFLAGS) REL=../.. install-links;; \ +@WIN32_FALSE@ *) echo "strange directory '$(bindir)' for linked scripts" >&2; \ +@WIN32_FALSE@ exit 1;; \ +@WIN32_FALSE@ esac .PHONY: install-links install-links: @@ -869,10 +910,10 @@ uninstall-hook: echo "rm -f '$(DESTDIR)$(tex4htdir)/$$p'"; \ rm -f "$(DESTDIR)$(tex4htdir)/$$p"; \ done - @for p in $(perl_scripts) $(shell_scripts); do \ - echo "rm -f '$(DESTDIR)$(bindir)/$$p'"; \ - rm -f "$(DESTDIR)$(bindir)/$$p"; \ - done +@WIN32_FALSE@ @for p in $(perl_scripts) $(shell_scripts); do \ +@WIN32_FALSE@ echo "rm -f '$(DESTDIR)$(bindir)/$$p'"; \ +@WIN32_FALSE@ rm -f "$(DESTDIR)$(bindir)/$$p"; \ +@WIN32_FALSE@ done # in case of an SVN repository dist-hook: diff --git a/Build/source/texk/tex4htk/configure b/Build/source/texk/tex4htk/configure index d144cc61d94..53c4cb05d58 100755 --- a/Build/source/texk/tex4htk/configure +++ b/Build/source/texk/tex4htk/configure @@ -616,6 +616,8 @@ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +WIN32_WRAP_FALSE +WIN32_WRAP_TRUE WIN32_FALSE WIN32_TRUE KPATHSEA_RULE @@ -14285,6 +14287,14 @@ else WIN32_FALSE= fi + if test -r $srcdir/../texlive/w32_wrapper/runscript.exe; then + WIN32_WRAP_TRUE= + WIN32_WRAP_FALSE='#' +else + WIN32_WRAP_TRUE='#' + WIN32_WRAP_FALSE= +fi + ac_config_files="$ac_config_files Makefile" @@ -14422,6 +14432,10 @@ if test -z "${WIN32_TRUE}" && test -z "${WIN32_FALSE}"; then as_fn_error $? "conditional \"WIN32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${WIN32_WRAP_TRUE}" && test -z "${WIN32_WRAP_FALSE}"; then + as_fn_error $? "conditional \"WIN32_WRAP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 diff --git a/Build/source/texk/tex4htk/configure.ac b/Build/source/texk/tex4htk/configure.ac index e34350eb6ec..b08753034f4 100644 --- a/Build/source/texk/tex4htk/configure.ac +++ b/Build/source/texk/tex4htk/configure.ac @@ -23,6 +23,8 @@ KPSE_KPATHSEA_FLAGS KPSE_CHECK_WIN32 AM_CONDITIONAL([WIN32], [test "x$kpse_cv_have_win32" != xno]) +AM_CONDITIONAL([WIN32_WRAP], + [test -r $srcdir/../texlive/w32_wrapper/runscript.exe]) AC_CONFIG_FILES([Makefile]) -- cgit v1.2.3