summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2011-01-10 11:21:15 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2011-01-10 11:21:15 +0000
commit88bfac529169e4b406b23fbd2fb6a0843bf1a150 (patch)
treef6814c2cb79d559953d732b93e4d0447391828a8 /Build
parent7c2ab63c28e352e1449c8e95589ec0fa7f9b94d7 (diff)
install linked perl scripts
git-svn-id: svn://tug.org/texlive/trunk@21005 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/utils/psutils/ChangeLog4
-rw-r--r--Build/source/utils/psutils/Makefile.am41
-rw-r--r--Build/source/utils/psutils/Makefile.in94
-rwxr-xr-xBuild/source/utils/psutils/configure58
-rw-r--r--Build/source/utils/psutils/configure.ac7
-rw-r--r--Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog7
-rw-r--r--Build/source/utils/psutils/psutils-1.17-PATCHES/patch-07-TEMPDIR6
-rw-r--r--Build/source/utils/psutils/psutils-1.17-PATCHES/patch-09-PERL41
-rw-r--r--Build/source/utils/psutils/psutils-1.17/extractres.pl7
-rw-r--r--Build/source/utils/psutils/psutils-1.17/includeres.pl3
-rw-r--r--Build/source/utils/psutils/psutils-1.17/psmerge.pl3
11 files changed, 241 insertions, 30 deletions
diff --git a/Build/source/utils/psutils/ChangeLog b/Build/source/utils/psutils/ChangeLog
index 4a8fea2414a..ea5de21d42b 100644
--- a/Build/source/utils/psutils/ChangeLog
+++ b/Build/source/utils/psutils/ChangeLog
@@ -1,3 +1,7 @@
+2011-01-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Makefile.am, configure.ac: Install linked perl scripts.
+
2010-12-14 Peter Breitenlohner <peb@mppmu.mpg.de>
Remove the non-free files psutils-1.17/md{68,71}_0.ps.
diff --git a/Build/source/utils/psutils/Makefile.am b/Build/source/utils/psutils/Makefile.am
index 3971969638b..f67ea6a7a9c 100644
--- a/Build/source/utils/psutils/Makefile.am
+++ b/Build/source/utils/psutils/Makefile.am
@@ -1,6 +1,6 @@
## Makefile.am for the TeX Live subdirectory utils/psutils/
##
-## Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009 - 2011 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
ACLOCAL_AMFLAGS = -I ../../m4
@@ -93,7 +93,19 @@ shell_scripts = \
getafm \
showchar
-nodist_bin_SCRIPTS = $(perl_scripts)
+scriptsdir = texmf/scripts/psutils
+texmfdir = ${prefix}/$(scriptsdir)
+nodist_texmf_SCRIPTS = $(perl_scripts:=.pl)
+
+if WIN32
+if WIN32_WRAP
+## We treat the WIN32 wrappers as SCRIPTS to avoid automatic build rules
+nodist_bin_SCRIPTS = $(perl_scripts:=.exe)
+runscript = $(srcdir)/../../texk/texlive/w32_wrapper/runscript.exe
+$(nodist_bin_SCRIPTS): $(runscript)
+ $(LN_S) $(runscript) $@
+endif WIN32_WRAP
+endif WIN32
install-exec-hook:
if !WIN32
@@ -103,9 +115,28 @@ if !WIN32
done
endif !WIN32
+install-data-hook:
+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
+
+.PHONY: install-links
+install-links:
+ @cd $(DESTDIR)$(bindir) && \
+ for f in $(perl_scripts); do \
+ rm -f $$f; \
+ echo "creating link '$$f' -> '$(REL)/$(scriptsdir)/$$f.pl'"; \
+ $(LN_S) $(REL)/$(scriptsdir)/$$f.pl $$f || exit 1; \
+ done
+
uninstall-hook:
if !WIN32
- @for f in $(shell_scripts); do \
+ @for f in $(shell_scripts) $(perl_scripts); do \
echo "rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
@@ -116,12 +147,12 @@ nodist_man1_MANS = \
$(perl_scripts:=.1) \
getafm.1
-CLEANFILES = $(nodist_bin_SCRIPTS) $(nodist_man1_MANS)
+CLEANFILES = $(nodist_bin_SCRIPTS) $(nodist_texmf_SCRIPTS) $(nodist_man1_MANS)
PERL = /usr/bin/env perl
MAKETEXT = $(PERL) $(srcdir)/$(PSUTILS_TREE)/maketext
-%: $(PSUTILS_TREE)/%.pl patchlev.h
+%.pl: $(PSUTILS_TREE)/%.pl patchlev.h
$(MAKETEXT) OS=$(OS) PERL="$(PERL)" $< >$@
%.1: $(PSUTILS_TREE)/%.man patchlev.h
diff --git a/Build/source/utils/psutils/Makefile.in b/Build/source/utils/psutils/Makefile.in
index 808c35f0f2d..f792937fc01 100644
--- a/Build/source/utils/psutils/Makefile.in
+++ b/Build/source/utils/psutils/Makefile.in
@@ -57,7 +57,7 @@ mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = patchlev.h
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(man1dir)"
+ "$(DESTDIR)$(texmfdir)" "$(DESTDIR)$(man1dir)"
PROGRAMS = $(bin_PROGRAMS)
am_epsffit_OBJECTS = epsffit.$(OBJEXT) pserror.$(OBJEXT)
epsffit_OBJECTS = $(am_epsffit_OBJECTS)
@@ -103,7 +103,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 = $(nodist_bin_SCRIPTS)
+SCRIPTS = $(nodist_bin_SCRIPTS) $(nodist_texmf_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp
am__depfiles_maybe = depfiles
@@ -157,6 +157,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
@@ -293,13 +294,17 @@ shell_scripts = \
getafm \
showchar
-nodist_bin_SCRIPTS = $(perl_scripts)
+scriptsdir = texmf/scripts/psutils
+texmfdir = ${prefix}/$(scriptsdir)
+nodist_texmf_SCRIPTS = $(perl_scripts:=.pl)
+@WIN32_TRUE@@WIN32_WRAP_TRUE@nodist_bin_SCRIPTS = $(perl_scripts:=.exe)
+@WIN32_TRUE@@WIN32_WRAP_TRUE@runscript = $(srcdir)/../../texk/texlive/w32_wrapper/runscript.exe
nodist_man1_MANS = \
$(bin_PROGRAMS:$(EXEEXT)=.1) \
$(perl_scripts:=.1) \
getafm.1
-CLEANFILES = $(nodist_bin_SCRIPTS) $(nodist_man1_MANS)
+CLEANFILES = $(nodist_bin_SCRIPTS) $(nodist_texmf_SCRIPTS) $(nodist_man1_MANS)
PERL = /usr/bin/env perl
MAKETEXT = $(PERL) $(srcdir)/$(PSUTILS_TREE)/maketext
all: all-am
@@ -431,6 +436,40 @@ uninstall-nodist_binSCRIPTS:
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
+install-nodist_texmfSCRIPTS: $(nodist_texmf_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(texmfdir)" || $(MKDIR_P) "$(DESTDIR)$(texmfdir)"
+ @list='$(nodist_texmf_SCRIPTS)'; test -n "$(texmfdir)" || 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)$(texmfdir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(texmfdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-nodist_texmfSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_texmf_SCRIPTS)'; test -n "$(texmfdir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(texmfdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(texmfdir)" && rm -f $$files
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -841,7 +880,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS)
installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(texmfdir)" "$(DESTDIR)$(man1dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -893,8 +932,9 @@ info: info-am
info-am:
-install-data-am: install-man
-
+install-data-am: install-man install-nodist_texmfSCRIPTS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
install-dvi-am:
@@ -942,12 +982,13 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-man \
- uninstall-nodist_binSCRIPTS
+ uninstall-nodist_binSCRIPTS uninstall-nodist_texmfSCRIPTS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-man: uninstall-man1
-.MAKE: install-am install-exec-am install-strip uninstall-am
+.MAKE: install-am install-data-am install-exec-am install-strip \
+ uninstall-am
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
@@ -956,21 +997,25 @@ uninstall-man: uninstall-man1
distclean-generic distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-man install-man1 \
- install-nodist_binSCRIPTS install-pdf install-pdf-am \
+ install-data-am install-data-hook install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-hook install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-nodist_binSCRIPTS \
+ install-nodist_texmfSCRIPTS install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-hook \
- uninstall-man uninstall-man1 uninstall-nodist_binSCRIPTS
+ uninstall-man uninstall-man1 uninstall-nodist_binSCRIPTS \
+ uninstall-nodist_texmfSCRIPTS
# in case of an SVN repository
dist-hook:
rm -rf `find $(distdir) -name .svn`
+@WIN32_TRUE@@WIN32_WRAP_TRUE@$(nodist_bin_SCRIPTS): $(runscript)
+@WIN32_TRUE@@WIN32_WRAP_TRUE@ $(LN_S) $(runscript) $@
install-exec-hook:
@WIN32_FALSE@ @for f in $(shell_scripts); do \
@@ -978,13 +1023,30 @@ install-exec-hook:
@WIN32_FALSE@ $(INSTALL_SCRIPT) "$(srcdir)/$(PSUTILS_TREE)/$$f.sh" "$(DESTDIR)$(bindir)/$$f"; \
@WIN32_FALSE@ done
+install-data-hook:
+@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:
+ @cd $(DESTDIR)$(bindir) && \
+ for f in $(perl_scripts); do \
+ rm -f $$f; \
+ echo "creating link '$$f' -> '$(REL)/$(scriptsdir)/$$f.pl'"; \
+ $(LN_S) $(REL)/$(scriptsdir)/$$f.pl $$f || exit 1; \
+ done
+
uninstall-hook:
-@WIN32_FALSE@ @for f in $(shell_scripts); do \
+@WIN32_FALSE@ @for f in $(shell_scripts) $(perl_scripts); do \
@WIN32_FALSE@ echo "rm -f '$(DESTDIR)$(bindir)/$$f'"; \
@WIN32_FALSE@ rm -f "$(DESTDIR)$(bindir)/$$f"; \
@WIN32_FALSE@ done
-%: $(PSUTILS_TREE)/%.pl patchlev.h
+%.pl: $(PSUTILS_TREE)/%.pl patchlev.h
$(MAKETEXT) OS=$(OS) PERL="$(PERL)" $< >$@
%.1: $(PSUTILS_TREE)/%.man patchlev.h
diff --git a/Build/source/utils/psutils/configure b/Build/source/utils/psutils/configure
index 2dc6733d203..9f139e1d48c 100755
--- a/Build/source/utils/psutils/configure
+++ b/Build/source/utils/psutils/configure
@@ -570,9 +570,12 @@ am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
PSUTILS_TREE
+WIN32_WRAP_FALSE
+WIN32_WRAP_TRUE
WIN32_FALSE
WIN32_TRUE
WARNING_CFLAGS
+LN_S
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
@@ -3286,6 +3289,49 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
# Check whether --enable-compiler-warnings was given.
if test "${enable_compiler_warnings+set}" = set; then :
enableval=$enable_compiler_warnings;
@@ -3408,6 +3454,14 @@ else
WIN32_FALSE=
fi
+ if test -r $srcdir/../../texk/texlive/w32_wrapper/runscript.exe; then
+ WIN32_WRAP_TRUE=
+ WIN32_WRAP_FALSE='#'
+else
+ WIN32_WRAP_TRUE='#'
+ WIN32_WRAP_FALSE=
+fi
+
PSUTILS_TREE=psutils-1.17
@@ -3584,6 +3638,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/utils/psutils/configure.ac b/Build/source/utils/psutils/configure.ac
index 4eb8ee55041..9cfcb18e8cf 100644
--- a/Build/source/utils/psutils/configure.ac
+++ b/Build/source/utils/psutils/configure.ac
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright (C) 2009 - 2011 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
@@ -17,11 +17,16 @@ AM_INIT_AUTOMAKE([foreign])
AM_MAINTAINER_MODE
AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
KPSE_COMPILER_WARNINGS
KPSE_CHECK_WIN32
AM_CONDITIONAL([WIN32], [test "x$kpse_cv_have_win32" != xno])
+AM_CONDITIONAL([WIN32_WRAP],
+ [test -r $srcdir/../../texk/texlive/w32_wrapper/runscript.exe])
PSUTILS_TREE=psutils-[]psutils_version
AC_SUBST([PSUTILS_TREE])
diff --git a/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog b/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog
index 4161bef5a23..c699b08a7ef 100644
--- a/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog
+++ b/Build/source/utils/psutils/psutils-1.17-PATCHES/ChangeLog
@@ -1,3 +1,10 @@
+2011-01-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-07-TEMPDIR: Fix broken perl syntax.
+ * patch-09-PERL (new): Avoid problems with Akira's perl.
+
+ Mail from Akira Sat, 08 Jan 2011 14:43:53.
+
2010-12-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-07-TEMPDIR (new): Honor $TMPDIR, $TEMP, and $TMP.
diff --git a/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-07-TEMPDIR b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-07-TEMPDIR
index 5ce0d3177fe..b71a2f76284 100644
--- a/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-07-TEMPDIR
+++ b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-07-TEMPDIR
@@ -1,13 +1,13 @@
diff -ur psutils-1.17.orig/extractres.pl psutils-1.17/extractres.pl
--- psutils-1.17.orig/extractres.pl 1997-03-11 23:52:53.000000000 +0100
-+++ psutils-1.17/extractres.pl 2010-12-20 20:15:37.000000000 +0100
++++ psutils-1.17/extractres.pl 2011-01-09 17:38:03.000000000 +0100
@@ -27,6 +27,10 @@
if (defined($ENV{TMPDIR})) { # set body file name
$body = "$ENV{TMPDIR}/body$$.ps";
-+elsif (defined($ENV{TEMP})) {
++} elsif (defined($ENV{TEMP})) {
+ $body = "$ENV{TEMP}/body$$.ps";
-+elsif (defined($ENV{TMP})) {
++} elsif (defined($ENV{TMP})) {
+ $body = "$ENV{TMP}/body$$.ps";
} else {
$body = "body$$.ps";
diff --git a/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-09-PERL b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-09-PERL
new file mode 100644
index 00000000000..f184f3712e5
--- /dev/null
+++ b/Build/source/utils/psutils/psutils-1.17-PATCHES/patch-09-PERL
@@ -0,0 +1,41 @@
+ Required for some perl implementations.
+
+diff -ur psutils-1.17.orig/extractres.pl psutils-1.17/extractres.pl
+--- psutils-1.17.orig/extractres.pl 2011-01-09 17:38:03.000000000 +0100
++++ psutils-1.17/extractres.pl 2011-01-09 17:47:53.000000000 +0100
+@@ -4,7 +4,8 @@
+ # Copyright (C) Angus J. C. Duggan 1991-1995
+ # See file LICENSE for details.
+
+-$prog = ($0 =~ s=.*/==);
++$0 =~ s=.*/==;
++$prog = $0;
+
+ %resources = (); # list of resources included
+ %merge = (); # list of resources extracted this time
+diff -ur psutils-1.17.orig/includeres.pl psutils-1.17/includeres.pl
+--- psutils-1.17.orig/includeres.pl 2010-12-20 20:15:37.000000000 +0100
++++ psutils-1.17/includeres.pl 2011-01-09 17:47:53.000000000 +0100
+@@ -4,7 +4,8 @@
+ # Copyright (C) Angus J. C. Duggan 1991-1995
+ # See file LICENSE for details.
+
+-$prog = ($0 =~ s=.*/==);
++$0 =~ s=.*/==;
++$prog = $0;
+
+ %extn = ("font", ".pfa", "file", ".ps", "procset", ".ps", # resource extns
+ "pattern", ".pat", "form", ".frm", "encoding", ".enc");
+diff -ur psutils-1.17.orig/psmerge.pl psutils-1.17/psmerge.pl
+--- psutils-1.17.orig/psmerge.pl 1997-03-11 23:53:02.000000000 +0100
++++ psutils-1.17/psmerge.pl 2011-01-09 17:47:53.000000000 +0100
+@@ -5,7 +5,8 @@
+ # Copyright (C) Angus J. C. Duggan 1991-1995
+ # See file LICENSE for details.
+
+-$prog = ($0 =~ s=.*/==);
++$0 =~ s=.*/==;
++$prog = $0;
+
+ while ($ARGV[0] =~ /^-/) {
+ $_ = shift;
diff --git a/Build/source/utils/psutils/psutils-1.17/extractres.pl b/Build/source/utils/psutils/psutils-1.17/extractres.pl
index b18db0a9c24..c3bb1e92495 100644
--- a/Build/source/utils/psutils/psutils-1.17/extractres.pl
+++ b/Build/source/utils/psutils/psutils-1.17/extractres.pl
@@ -4,7 +4,8 @@
# Copyright (C) Angus J. C. Duggan 1991-1995
# See file LICENSE for details.
-$prog = ($0 =~ s=.*/==);
+$0 =~ s=.*/==;
+$prog = $0;
%resources = (); # list of resources included
%merge = (); # list of resources extracted this time
@@ -27,9 +28,9 @@ while (@ARGV) {
if (defined($ENV{TMPDIR})) { # set body file name
$body = "$ENV{TMPDIR}/body$$.ps";
-elsif (defined($ENV{TEMP})) {
+} elsif (defined($ENV{TEMP})) {
$body = "$ENV{TEMP}/body$$.ps";
-elsif (defined($ENV{TMP})) {
+} elsif (defined($ENV{TMP})) {
$body = "$ENV{TMP}/body$$.ps";
} else {
$body = "body$$.ps";
diff --git a/Build/source/utils/psutils/psutils-1.17/includeres.pl b/Build/source/utils/psutils/psutils-1.17/includeres.pl
index 48fa24f10d0..7a1b9653e97 100644
--- a/Build/source/utils/psutils/psutils-1.17/includeres.pl
+++ b/Build/source/utils/psutils/psutils-1.17/includeres.pl
@@ -4,7 +4,8 @@
# Copyright (C) Angus J. C. Duggan 1991-1995
# See file LICENSE for details.
-$prog = ($0 =~ s=.*/==);
+$0 =~ s=.*/==;
+$prog = $0;
%extn = ("font", ".pfa", "file", ".ps", "procset", ".ps", # resource extns
"pattern", ".pat", "form", ".frm", "encoding", ".enc");
diff --git a/Build/source/utils/psutils/psutils-1.17/psmerge.pl b/Build/source/utils/psutils/psutils-1.17/psmerge.pl
index a1a9db7c086..881a9926765 100644
--- a/Build/source/utils/psutils/psutils-1.17/psmerge.pl
+++ b/Build/source/utils/psutils/psutils-1.17/psmerge.pl
@@ -5,7 +5,8 @@
# Copyright (C) Angus J. C. Duggan 1991-1995
# See file LICENSE for details.
-$prog = ($0 =~ s=.*/==);
+$0 =~ s=.*/==;
+$prog = $0;
while ($ARGV[0] =~ /^-/) {
$_ = shift;