From d162ec653894bda9d4d36c698ba1247f14c1435e Mon Sep 17 00:00:00 2001 From: Piotr Strzelczyk Date: Wed, 13 May 2009 20:21:12 +0000 Subject: single .bat wrapper replacemant for .bat+.texlua combo git-svn-id: svn://tug.org/texlive/trunk@13075 c570f23f-e606-0410-a88d-b1316a301751 --- Master/bin/win32/a2ping.bat | 84 ++++++++++++++++++-- Master/bin/win32/afm2afm.bat | 84 ++++++++++++++++++-- Master/bin/win32/autoinst.bat | 84 ++++++++++++++++++-- Master/bin/win32/cmap2enc.bat | 84 ++++++++++++++++++-- Master/bin/win32/dviasm.bat | 78 +++++++++++++++++++ Master/bin/win32/e2pall.bat | 84 ++++++++++++++++++-- Master/bin/win32/ebong.bat | 78 +++++++++++++++++++ Master/bin/win32/eps2eps.bat | 84 ++++++++++++++++++-- Master/bin/win32/epspdf.bat | 89 ++++++++++++++++++--- Master/bin/win32/epspdf.texlua | 51 ------------ Master/bin/win32/epspdftk.bat | 89 ++++++++++++++++++--- Master/bin/win32/epstopdf.bat | 84 ++++++++++++++++++-- Master/bin/win32/fmtutil-sys.bat | 84 ++++++++++++++++++-- Master/bin/win32/font2afm.bat | 84 ++++++++++++++++++-- Master/bin/win32/getnonfreefonts-sys.bat | 84 ++++++++++++++++++-- Master/bin/win32/getnonfreefonts.bat | 84 ++++++++++++++++++-- Master/bin/win32/latexmk.bat | 84 ++++++++++++++++++-- Master/bin/win32/makeglossaries.bat | 84 ++++++++++++++++++-- Master/bin/win32/mk4ht.bat | 84 ++++++++++++++++++-- Master/bin/win32/mkjobtexmf.bat | 84 ++++++++++++++++++-- Master/bin/win32/mkt1font.bat | 84 ++++++++++++++++++-- Master/bin/win32/ot2kpx.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdf2dsc.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdfannotextractor.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdfatfi.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdfcrop.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdfopt.bat | 84 ++++++++++++++++++-- Master/bin/win32/pdfthumb.bat | 84 ++++++++++++++++++-- Master/bin/win32/perltex.bat | 84 ++++++++++++++++++-- Master/bin/win32/pfm2kpx.bat | 84 ++++++++++++++++++-- Master/bin/win32/pkfix.bat | 84 ++++++++++++++++++-- Master/bin/win32/ppower4.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2ascii.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2eps.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2pdf.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2pdf12.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2pdf13.bat | 84 ++++++++++++++++++-- Master/bin/win32/ps2pdf14.bat | 84 ++++++++++++++++++-- Master/bin/win32/pst2pdf.bat | 84 ++++++++++++++++++-- Master/bin/win32/psv.bat | 84 ++++++++++++++++++-- Master/bin/win32/rungs.bat | 84 ++++++++++++++++++-- Master/bin/win32/showglyphs.bat | 84 ++++++++++++++++++-- Master/bin/win32/splitindex.bat | 84 ++++++++++++++++++-- Master/bin/win32/texcount.bat | 84 ++++++++++++++++++-- Master/bin/win32/texdirflatten.bat | 84 ++++++++++++++++++-- Master/bin/win32/texdoc.bat | 85 ++++++++++++++++++-- Master/bin/win32/texdoctk.bat | 84 ++++++++++++++++++-- Master/bin/win32/texindy.bat | 84 ++++++++++++++++++-- Master/bin/win32/thumbpdf.bat | 84 ++++++++++++++++++-- Master/bin/win32/tl-w32-texdoc-wrapper.texlua | 107 -------------------------- Master/bin/win32/tl-w32-wrapper.texlua | 98 ----------------------- Master/bin/win32/updmap-sys.bat | 84 ++++++++++++++++++-- Master/bin/win32/updmap.bat | 84 ++++++++++++++++++-- Master/bin/win32/vpe.bat | 84 ++++++++++++++++++-- Master/bin/win32/vpl2ovp.bat | 84 ++++++++++++++++++-- Master/bin/win32/vpl2vpl.bat | 84 ++++++++++++++++++-- Master/bin/win32/xindy.bat | 84 ++++++++++++++++++-- 57 files changed, 4162 insertions(+), 629 deletions(-) create mode 100755 Master/bin/win32/dviasm.bat create mode 100755 Master/bin/win32/ebong.bat delete mode 100755 Master/bin/win32/epspdf.texlua delete mode 100755 Master/bin/win32/tl-w32-texdoc-wrapper.texlua delete mode 100755 Master/bin/win32/tl-w32-wrapper.texlua (limited to 'Master/bin') diff --git a/Master/bin/win32/a2ping.bat b/Master/bin/win32/a2ping.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/a2ping.bat +++ b/Master/bin/win32/a2ping.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/afm2afm.bat b/Master/bin/win32/afm2afm.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/afm2afm.bat +++ b/Master/bin/win32/afm2afm.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/autoinst.bat b/Master/bin/win32/autoinst.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/autoinst.bat +++ b/Master/bin/win32/autoinst.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/cmap2enc.bat b/Master/bin/win32/cmap2enc.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/cmap2enc.bat +++ b/Master/bin/win32/cmap2enc.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/dviasm.bat b/Master/bin/win32/dviasm.bat new file mode 100755 index 00000000000..42ba109d438 --- /dev/null +++ b/Master/bin/win32/dviasm.bat @@ -0,0 +1,78 @@ +@echo off +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/e2pall.bat b/Master/bin/win32/e2pall.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/e2pall.bat +++ b/Master/bin/win32/e2pall.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ebong.bat b/Master/bin/win32/ebong.bat new file mode 100755 index 00000000000..42ba109d438 --- /dev/null +++ b/Master/bin/win32/ebong.bat @@ -0,0 +1,78 @@ +@echo off +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/eps2eps.bat b/Master/bin/win32/eps2eps.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/eps2eps.bat +++ b/Master/bin/win32/eps2eps.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/epspdf.bat b/Master/bin/win32/epspdf.bat index 48d1141fb26..42ba109d438 100755 --- a/Master/bin/win32/epspdf.bat +++ b/Master/bin/win32/epspdf.bat @@ -1,11 +1,78 @@ -@echo off -ruby -v >nul 2>&1 -if not errorlevel 1 goto doit -echo Ruby not found. Install Ruby, -echo get the Ruby-included version or use epstopdf. -goto :EOF -:doit -setlocal -set ownpath=%~dp0% -texlua "%ownpath%epspdf.texlua" "%~dpn0" %* -endlocal +@echo off +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/epspdf.texlua b/Master/bin/win32/epspdf.texlua deleted file mode 100755 index b31efa964d7..00000000000 --- a/Master/bin/win32/epspdf.texlua +++ /dev/null @@ -1,51 +0,0 @@ -#! /usr/bin/env texlua - -function fixwin(args_unix) - if os.type == 'windows' then - local args_win={} -- new table - args_win[0]=args_unix[1] - for i=1, #args_unix do - args_win[i]='"'..args_unix[i]..'"' - end - return args_win - else - return args_unix - end -end - -if string.find(arg[0], '/') then -- UNIX path - basename = select(1, string.gsub(arg[1], '.*/', '')) -elseif string.find(arg[0], '\\') then -- Windows path - basename = select(1, string.gsub(arg[1], '.*\\', '')) - -- we might have \ and / mixed together ... - basename = select(1, string.gsub(basename, '.*/', '')) -else -- no path - basename = arg[1] -end - -kpse.set_program_name(basename..".bat", basename) -TLROOT=kpse.var_value('SELFAUTOPARENT') -BINDIR=kpse.var_value('SELFAUTOLOC') - -os.setenv('PATH', TLROOT..'/tlpkg/tlgs/bin;'..os.getenv('PATH')) -os.setenv('GS_LIB', TLROOT..'/tlpkg/tlgs/lib;'..TLROOT..'/tlpkg/tlgs/fonts') -os.setenv('TLROOT', TLROOT) - -script=kpse.find_file(basename..'.rb', 'texmfscripts') -command={'ruby.exe', script} - -for i=2, #arg do - command[#command+1]=arg[i] -end - -command=fixwin(command) - ---[[ Prepend an additional hyphen to activate this code. -for i=0, #command do - print (command[i]) -end -os.exit(ret) ---]] - -ret=os.spawn(command) -os.exit(ret) diff --git a/Master/bin/win32/epspdftk.bat b/Master/bin/win32/epspdftk.bat index 34fb1093feb..42ba109d438 100755 --- a/Master/bin/win32/epspdftk.bat +++ b/Master/bin/win32/epspdftk.bat @@ -1,11 +1,78 @@ -@echo off -ruby -v >nul 2>&1 -if not errorlevel 1 goto doit -echo Ruby not found. Install Ruby and Tcl, -echo get the Ruby-included version or use epstopdf. -goto :EOF -:doit -setlocal -set ownpath=%~dp0% -texlua "%ownpath%epspdf.texlua" "%~dpn0" %* -endlocal +@echo off +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/epstopdf.bat b/Master/bin/win32/epstopdf.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/epstopdf.bat +++ b/Master/bin/win32/epstopdf.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/fmtutil-sys.bat b/Master/bin/win32/fmtutil-sys.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/fmtutil-sys.bat +++ b/Master/bin/win32/fmtutil-sys.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/font2afm.bat b/Master/bin/win32/font2afm.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/font2afm.bat +++ b/Master/bin/win32/font2afm.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/getnonfreefonts-sys.bat b/Master/bin/win32/getnonfreefonts-sys.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/getnonfreefonts-sys.bat +++ b/Master/bin/win32/getnonfreefonts-sys.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/getnonfreefonts.bat b/Master/bin/win32/getnonfreefonts.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/getnonfreefonts.bat +++ b/Master/bin/win32/getnonfreefonts.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/latexmk.bat b/Master/bin/win32/latexmk.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/latexmk.bat +++ b/Master/bin/win32/latexmk.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/makeglossaries.bat b/Master/bin/win32/makeglossaries.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/makeglossaries.bat +++ b/Master/bin/win32/makeglossaries.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/mk4ht.bat b/Master/bin/win32/mk4ht.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/mk4ht.bat +++ b/Master/bin/win32/mk4ht.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/mkjobtexmf.bat b/Master/bin/win32/mkjobtexmf.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/mkjobtexmf.bat +++ b/Master/bin/win32/mkjobtexmf.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/mkt1font.bat b/Master/bin/win32/mkt1font.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/mkt1font.bat +++ b/Master/bin/win32/mkt1font.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ot2kpx.bat b/Master/bin/win32/ot2kpx.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ot2kpx.bat +++ b/Master/bin/win32/ot2kpx.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdf2dsc.bat b/Master/bin/win32/pdf2dsc.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdf2dsc.bat +++ b/Master/bin/win32/pdf2dsc.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdfannotextractor.bat b/Master/bin/win32/pdfannotextractor.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdfannotextractor.bat +++ b/Master/bin/win32/pdfannotextractor.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdfatfi.bat b/Master/bin/win32/pdfatfi.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdfatfi.bat +++ b/Master/bin/win32/pdfatfi.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdfcrop.bat b/Master/bin/win32/pdfcrop.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdfcrop.bat +++ b/Master/bin/win32/pdfcrop.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdfopt.bat b/Master/bin/win32/pdfopt.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdfopt.bat +++ b/Master/bin/win32/pdfopt.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pdfthumb.bat b/Master/bin/win32/pdfthumb.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pdfthumb.bat +++ b/Master/bin/win32/pdfthumb.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/perltex.bat b/Master/bin/win32/perltex.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/perltex.bat +++ b/Master/bin/win32/perltex.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pfm2kpx.bat b/Master/bin/win32/pfm2kpx.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pfm2kpx.bat +++ b/Master/bin/win32/pfm2kpx.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pkfix.bat b/Master/bin/win32/pkfix.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pkfix.bat +++ b/Master/bin/win32/pkfix.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ppower4.bat b/Master/bin/win32/ppower4.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ppower4.bat +++ b/Master/bin/win32/ppower4.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2ascii.bat b/Master/bin/win32/ps2ascii.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2ascii.bat +++ b/Master/bin/win32/ps2ascii.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2eps.bat b/Master/bin/win32/ps2eps.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2eps.bat +++ b/Master/bin/win32/ps2eps.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2pdf.bat b/Master/bin/win32/ps2pdf.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2pdf.bat +++ b/Master/bin/win32/ps2pdf.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2pdf12.bat b/Master/bin/win32/ps2pdf12.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2pdf12.bat +++ b/Master/bin/win32/ps2pdf12.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2pdf13.bat b/Master/bin/win32/ps2pdf13.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2pdf13.bat +++ b/Master/bin/win32/ps2pdf13.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/ps2pdf14.bat b/Master/bin/win32/ps2pdf14.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/ps2pdf14.bat +++ b/Master/bin/win32/ps2pdf14.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/pst2pdf.bat b/Master/bin/win32/pst2pdf.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/pst2pdf.bat +++ b/Master/bin/win32/pst2pdf.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/psv.bat b/Master/bin/win32/psv.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/psv.bat +++ b/Master/bin/win32/psv.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/rungs.bat b/Master/bin/win32/rungs.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/rungs.bat +++ b/Master/bin/win32/rungs.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/showglyphs.bat b/Master/bin/win32/showglyphs.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/showglyphs.bat +++ b/Master/bin/win32/showglyphs.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/splitindex.bat b/Master/bin/win32/splitindex.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/splitindex.bat +++ b/Master/bin/win32/splitindex.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/texcount.bat b/Master/bin/win32/texcount.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/texcount.bat +++ b/Master/bin/win32/texcount.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/texdirflatten.bat b/Master/bin/win32/texdirflatten.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/texdirflatten.bat +++ b/Master/bin/win32/texdirflatten.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/texdoc.bat b/Master/bin/win32/texdoc.bat index 92397f07fa6..42ba109d438 100755 --- a/Master/bin/win32/texdoc.bat +++ b/Master/bin/win32/texdoc.bat @@ -1,9 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -rem /!\ special texdoc version: calls a modified wrapper /!\ -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-texdoc-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/texdoctk.bat b/Master/bin/win32/texdoctk.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/texdoctk.bat +++ b/Master/bin/win32/texdoctk.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/texindy.bat b/Master/bin/win32/texindy.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/texindy.bat +++ b/Master/bin/win32/texindy.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/thumbpdf.bat b/Master/bin/win32/thumbpdf.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/thumbpdf.bat +++ b/Master/bin/win32/thumbpdf.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/tl-w32-texdoc-wrapper.texlua b/Master/bin/win32/tl-w32-texdoc-wrapper.texlua deleted file mode 100755 index 69830090663..00000000000 --- a/Master/bin/win32/tl-w32-texdoc-wrapper.texlua +++ /dev/null @@ -1,107 +0,0 @@ -#! /usr/bin/env texlua ---*-Lua-*- - --- Copyright (C) 2007, 2008 Reinhard Kotucha, Norbert Preining. --- You may freely use, modify and/or distribute this file. - --- Wrapper for scripts. - -function fixwin(args_unix) - if os.type == 'windows' then - local args_win={} -- new table - args_win[0]=args_unix[1] - for i=1, #args_unix do - args_win[i]='"'..args_unix[i]..'"' - end - return args_win - else - return args_unix - end -end - -if string.find(arg[0], '/') then -- UNIX path - progname = select(1, string.gsub(arg[1], '.*/', '')) -elseif string.find(arg[0], '\\') then -- Windows path - progname = select(1, string.gsub(arg[1], '.*\\', '')) - -- we might have \ and / mixed together ... - progname = select(1, string.gsub(progname, '.*/', '')) -else -- no path - progname = arg[1] -end - -sys=false - -if string.find(progname, '-sys$') then - basename = select(1, string.gsub(progname, '-sys$', '')) - sys=true -else - basename = progname -end - -kpse.set_program_name(progname..".bat", progname) -TEXDIR=kpse.var_value('SELFAUTOPARENT') -BINDIR=kpse.var_value('SELFAUTOLOC') - -perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe' - -os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'.. - TEXDIR..'/tlpkg/tlperl/bin;'.. - TEXDIR..'/tlpkg/installer;'.. - TEXDIR..'/tlpkg/installer/wget;'.. - os.getenv('PATH')) - -os.setenv('WGETRC', TEXDIR..'/tlpkg/installer/wgetrc') -os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib') -os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib;'..TEXDIR..'/tlpkg/tlgs/fonts') - -if sys then - os.setenv('TEXMFVAR', kpse.var_value('TEXMFSYSVAR')) - os.setenv('TEXMFCONFIG', kpse.var_value('TEXMFSYSCONFIG')) - os.setenv('TEX_SYS_PROG', 'true') -end - -if sys and lfs.isfile(BINDIR..'/'..basename..'.exe') then - command={BINDIR..'/'..basename..'.exe'} -elseif lfs.isfile(BINDIR..'/'..basename..'-bin.exe') then - command={BINDIR..'/'..basename..'-bin.exe'} -elseif lfs.isfile(BINDIR..'/'..basename..'.pl') then - script=BINDIR..'/'..basename..'.pl' - command={perlbin, script} -elseif kpse.find_file(basename..'.pl', 'texmfscripts') then - script=kpse.find_file(basename..'.pl', 'texmfscripts') - command={perlbin, script} -elseif kpse.find_file(basename..'.tlu', 'texmfscripts') then - script=kpse.find_file(basename..'.tlu', 'texmfscripts') - command={'texlua', script} -else - io.stderr:write(basename..'.bat: '..basename.. - ': No appropriate script found.\n') - os.exit(1) -end - -for i=2, #arg do - command[#command+1]=arg[i] -end - -command=fixwin(command) - ---[[ Prepend an additional hyphen to activate this code. -for i=0, #command do - print (command[i]) -end -os.exit(ret) ---]] - --- finally in this special texdoc version we use os.execute to avoid the --- weird problem with acroread 8.1 or 9. So we turn our nice list --- back into a straight string -cmd_line = command[0] -for i = 2, #command do - cmd_line = cmd_line .. " " .. command[i] -end ---[[ debugging: print the command line -print (cmd_line) ---]] - -ret=os.execute(cmd_line) -os.exit(ret) diff --git a/Master/bin/win32/tl-w32-wrapper.texlua b/Master/bin/win32/tl-w32-wrapper.texlua deleted file mode 100755 index 1d0fb92d846..00000000000 --- a/Master/bin/win32/tl-w32-wrapper.texlua +++ /dev/null @@ -1,98 +0,0 @@ -#! /usr/bin/env texlua ---*-Lua-*- - --- Copyright (C) 2007, 2008 Reinhard Kotucha, Norbert Preining. --- You may freely use, modify and/or distribute this file. - --- Wrapper for scripts. - -function fixwin(args_unix) - if os.type == 'windows' then - local args_win={} -- new table - args_win[0]=args_unix[1] - for i=1, #args_unix do - args_win[i]='"'..args_unix[i]..'"' - end - return args_win - else - return args_unix - end -end - -if string.find(arg[0], '/') then -- UNIX path - progname = select(1, string.gsub(arg[1], '.*/', '')) -elseif string.find(arg[0], '\\') then -- Windows path - progname = select(1, string.gsub(arg[1], '.*\\', '')) - -- we might have \ and / mixed together ... - progname = select(1, string.gsub(progname, '.*/', '')) -else -- no path - progname = arg[1] -end - -sys=false - -if string.find(progname, '-sys$') then - basename = select(1, string.gsub(progname, '-sys$', '')) - sys=true -else - basename = progname -end - -kpse.set_program_name(progname..".bat", progname) -TEXDIR=kpse.var_value('SELFAUTOPARENT') -BINDIR=kpse.var_value('SELFAUTOLOC') - -perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe' - -os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'.. - TEXDIR..'/tlpkg/tlperl/bin;'.. - TEXDIR..'/tlpkg/installer;'.. - TEXDIR..'/tlpkg/installer/wget;'.. - os.getenv('PATH')) - --- we don't ship the wgetrc anymore, and if it is not present, wget --- will just die, that is bad!!! --- os.setenv('WGETRC', TEXDIR..'/tlpkg/installer/wgetrc') -os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib') -os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib;'..TEXDIR..'/tlpkg/tlgs/fonts') - -if sys then - os.setenv('TEXMFVAR', kpse.var_value('TEXMFSYSVAR')) - os.setenv('TEXMFCONFIG', kpse.var_value('TEXMFSYSCONFIG')) - os.setenv('TEX_SYS_PROG', 'true') -end - -if sys and lfs.isfile(BINDIR..'/'..basename..'.exe') then - command={BINDIR..'/'..basename..'.exe'} -elseif lfs.isfile(BINDIR..'/'..basename..'-bin.exe') then - command={BINDIR..'/'..basename..'-bin.exe'} -elseif lfs.isfile(BINDIR..'/'..basename..'.pl') then - script=BINDIR..'/'..basename..'.pl' - command={perlbin, script} -elseif kpse.find_file(basename..'.pl', 'texmfscripts') then - script=kpse.find_file(basename..'.pl', 'texmfscripts') - command={perlbin, script} -elseif kpse.find_file(basename..'.tlu', 'texmfscripts') then - script=kpse.find_file(basename..'.tlu', 'texmfscripts') - command={'texlua', script} -else - io.stderr:write(basename..'.bat: '..basename.. - ': No appropriate script found.\n') - os.exit(1) -end - -for i=2, #arg do - command[#command+1]=arg[i] -end - -command=fixwin(command) - ---[[ Prepend an additional hyphen to activate this code. -for i=0, #command do - print (command[i]) -end -os.exit(ret) ---]] - -ret=os.spawn(command) -os.exit(ret) diff --git a/Master/bin/win32/updmap-sys.bat b/Master/bin/win32/updmap-sys.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/updmap-sys.bat +++ b/Master/bin/win32/updmap-sys.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/updmap.bat b/Master/bin/win32/updmap.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/updmap.bat +++ b/Master/bin/win32/updmap.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/vpe.bat b/Master/bin/win32/vpe.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/vpe.bat +++ b/Master/bin/win32/vpe.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/vpl2ovp.bat b/Master/bin/win32/vpl2ovp.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/vpl2ovp.bat +++ b/Master/bin/win32/vpl2ovp.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/vpl2vpl.bat b/Master/bin/win32/vpl2vpl.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/vpl2vpl.bat +++ b/Master/bin/win32/vpl2vpl.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 diff --git a/Master/bin/win32/xindy.bat b/Master/bin/win32/xindy.bat index fe949613d7c..42ba109d438 100755 --- a/Master/bin/win32/xindy.bat +++ b/Master/bin/win32/xindy.bat @@ -1,8 +1,78 @@ @echo off -rem tl-w32-starter.bat -rem universal script starter, batch file part -rem this program calls the tl-w32-wrapper.texlua -setlocal -set ownpath=%~dp0% -texlua "%ownpath%tl-w32-wrapper.texlua" "%~dpn0" %* -endlocal +rem Universal script launcher +rem +rem Copyright 2009 by Tomasz M. Trzeciak +rem Public Domain + +rem Make environment changes local +setlocal enableextensions +rem Get program/script name +if not defined progname set progname=%~n0 +rem Check if this is 'sys' version of program +set TEX_SYS_PROG= +if /i "%progname:~-4%"=="-sys" ( + set progname=%progname:~0,-4% + set TEX_SYS_PROG=true +) + +rem Default command to execute +set command=call :noscript +rem Make sure our dir is on the search path; avoid trailing backslash +for %%I in ("%~f0\..") do path %%~fI;%path% +rem Ask kpsewhich about root and texmfsys trees (the first line of output) +rem and location of the script (the second line of output) +rem (4NT shell acts wierd with 'if' statements in a 'for' loop, +rem so better process this output further in a subroutine) +for /f "tokens=1-3 delims=;" %%I in ( + 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFSYSCONFIG;$TEXMFSYSVAR" ^ + --format texmfscripts "%progname%.pl" "%progname%.tlu" "%progname%.rb" "%progname%.py"' +) do ( + call :setcmdenv "%%~I" "%%~J" "%%~K" +) + +rem By now we should have the command to execute (whatever that is), so +rem pass through all the arguments we have and execute it +%command% %* +rem Finish with goto :eof (it will preserve the last set errorlevel) +goto :eof + +REM SUBROUTINES + +:setcmdenv selfautoparent texmfsysconfig texmfsysvar +rem If there is only one argument it must be a script name +if "%~2"=="" goto :setcmd +rem Otherwise, it is the first line from kpsewhich, so to set up the environment +set PERL5LIB=%~f1\tlpkg\tlperl\lib +set GS_LIB=%~f1\tlpkg\tlgs\lib;%~f1\tlpkg\tlgs\fonts +path %~f1\tlpkg\tlgs\bin;%~f1\tlpkg\tlperl\bin;%~f1\tlpkg\installer;%~f1\tlpkg\installer\wget;%path% +if not defined TEX_SYS_PROG goto :eof +rem Extra stuff for sys version +set TEXMFCONFIG=%~2 +set TEXMFVAR=%~3 +rem For sys version we might have an executable in the bin dir, so check for it +if exist "%~f1\bin\win32\%progname%.exe" set command="%~f1\bin\win32\%progname%.exe" +goto :eof + +:setcmd script +rem Set command based on the script extension +if /i %~x1==.pl set command=Perl.exe "%~f1" +if /i %~x1==.tlu set command=TeXLua.exe "%~f1" +rem For Ruby and Python we additionally check if their interpreter is available +if /i %~x1==.rb call :chkcmd Ruby.exe "%~f1" +if /i %~x1==.py call :chkcmd Python.exe "%~f1" +goto :eof + +:chkcmd program script +set command=%* +rem If there is no interpreter Ruby or Python, suggest getting one +if "%~$PATH:1"=="" set command=call :noinst %* +goto :eof + +:noinst program +echo %1 not found on search path>&2 +echo %~n1 is not distributed with TeX Live and has to be installed separately +exit /b 1 + +:noscript +echo %progname%: no appropriate script or program found>&2 +exit /b 1 -- cgit v1.2.3