From 575534e8464c954624b16210b59f91b0c7468a89 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Fri, 6 Apr 2018 21:09:50 +0000 Subject: sync git-svn-id: svn://tug.org/texlive/trunk@47328 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/texk/texlive/w32_wrapper/runscript.tlu | 35 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'Build/source') diff --git a/Build/source/texk/texlive/w32_wrapper/runscript.tlu b/Build/source/texk/texlive/w32_wrapper/runscript.tlu index 77873abd39d..aa195033f13 100755 --- a/Build/source/texk/texlive/w32_wrapper/runscript.tlu +++ b/Build/source/texk/texlive/w32_wrapper/runscript.tlu @@ -1,7 +1,7 @@ -local svnrevision = string.match("$Revision: 46945 $", "%d+") or "0" -local svndate = string.match("$Date: 2018-03-13 14:42:02 +0900 (火, 13 3 2018) $", "[-%d]+") or "2009-12-04" +local svnrevision = string.match("$Revision: 47327 $", "%d+") or "0" +local svndate = string.match("$Date: 2018-04-07 06:07:13 +0900 (土, 07 4 2018) $", "[-%d]+") or "2009-12-04" local bannerstr = "runscript wrapper utility (rev. " .. svnrevision .. ", " .. svndate .. ")\n" .. "usage: runscript script-name [arguments]\n" .. @@ -264,6 +264,9 @@ local docstr = [[ use sys_user_progs instead, add kanji-config-updmap 2018/03/12 - introduce a new function gettexmfdist() for security. + 2018/04/06 + - introduce a new function is_64bit_windows_os() to + check Windows OS. ]] -- HELPER SUBROUTINES -- @@ -426,6 +429,28 @@ local function gettexmfdist() return str end +-- +-- Is the Windows OS 64bit? +-- +local function is_64bit_windows_os() + local return_val = false + -- 32 bit binaries always work, thus the default is false + local architecture = os.getenv('PROCESSOR_ARCHITECTURE') + if architecture ~= nil then + if architecture == 'x86' then + local is_wow64 = os.getenv('PROCESSOR_ARCHITEW6432') + if is_wow64 == nil then + return_val = false + else + return_val = true + end + else + return_val = true + end + end + return return_val +end + -- MAIN_CHUNK -- encapsulated in a function for more robust execution with pcall local function MAIN_CHUNK() @@ -671,7 +696,11 @@ elseif contains(sys_user_progs, progname) then elseif progname == 'asy' then os.setenv('ASYMPTOTE_GS', GSEXE) os.setenv('CYGWIN', 'nodosfilewarning') - ARGV = {[0]=TEXDIR..'/tlpkg/asymptote/asy.exe', 'asy'} + if is_64bit_windows_os() then + ARGV = {[0]=TEXDIR..'/tlpkg/asymptote64/asy.exe', 'asy'} + else + ARGV = {[0]=TEXDIR..'/tlpkg/asymptote/asy.exe', 'asy'} + end elseif progname == 'dviout' then local fontsdir = kpse.var_value('TEXMFVAR') .. '/fonts' if (lfs.attributes(fontsdir, 'mode') ~= 'directory') then -- cgit v1.2.3