summaryrefslogtreecommitdiff
path: root/Master/bin/win32
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2016-04-22 13:12:22 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2016-04-22 13:12:22 +0000
commit5e43957be94fd21d000f4e08060a1af968f005a0 (patch)
treee2c78b351d6765acb2c3013e7da37de1f7dbd2eb /Master/bin/win32
parente2d904580ff3d48ca4e51f20c5f089204c64dd7d (diff)
Windows: configuring for exernal perl if found and recent
git-svn-id: svn://tug.org/texlive/trunk@40677 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/win32')
-rwxr-xr-xMaster/bin/win32/runscript.tlu16
1 files changed, 14 insertions, 2 deletions
diff --git a/Master/bin/win32/runscript.tlu b/Master/bin/win32/runscript.tlu
index 8f705c87902..b55eac1876a 100755
--- a/Master/bin/win32/runscript.tlu
+++ b/Master/bin/win32/runscript.tlu
@@ -471,7 +471,15 @@ local scripts4tlperl = {
local try_extern_perl = (kpse.var_value('TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL') == '1') and
not (guimode or is_restricted_progname or scripts4tlperl[progname])
local PERLEXE = try_extern_perl and search_path('perl.exe', PATH)
-if not PERLEXE then
+local extperl_warn
+if not PERLEXE then
+ if try_extern_perl then extperl_warn = [[
+External Perl missing or outdated. Please install a recent Perl, or configure
+TeX Live to always use the builtin Perl:
+ tlmgr conf texmf TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL 0
+Meanwhile, continuing with built-in Perl...
+]]
+ end -- if try_extern_perl
PERLEXE = TEXDIR..'/tlpkg/tlperl/bin/perl.exe'
os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib')
PATH = prepend_path(PATH, TEXDIR..'/tlpkg/tlperl/bin')
@@ -662,6 +670,10 @@ end
if ARGV then
table.insert(ARGV, argline) -- pass through original arguments
+ if string.find (table.concat(ARGV, ' '), 'perl.exe') and extperl_warn then
+
+ io.stderr:write(extperl_warn)
+ end
local ret = assert(os.spawn(ARGV))
if ret ~= 0 then
local dbginfo = debug.getinfo(1)
@@ -687,6 +699,6 @@ if not success then
end
-- about RUNSCRIPT_ERROR_MESSAGE environment variable:
--- it stores an error message that is catched and displayed
+-- it stores an error message that is caught and displayed
-- in a message box on the C side at process exit
-- (currently used only by gui mode stubs)