diff options
author | Reinhard Kotucha <reinhard.kotucha@web.de> | 2008-02-24 23:01:28 +0000 |
---|---|---|
committer | Reinhard Kotucha <reinhard.kotucha@web.de> | 2008-02-24 23:01:28 +0000 |
commit | 506efaea286d392d8c49a0c4cff49f06a791171b (patch) | |
tree | b42aaa62be7fa9c2c1ff41a6f30cac5f3e4ca478 /Master/bin/win32/updmap.texlua | |
parent | c643077d95770f48d43b78454ac8ffbc00ebcb40 (diff) |
New wrappers.
git-svn-id: svn://tug.org/texlive/trunk@6751 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/win32/updmap.texlua')
-rwxr-xr-x | Master/bin/win32/updmap.texlua | 76 |
1 files changed, 53 insertions, 23 deletions
diff --git a/Master/bin/win32/updmap.texlua b/Master/bin/win32/updmap.texlua index f70f805dfd4..b8b0c4ab870 100755 --- a/Master/bin/win32/updmap.texlua +++ b/Master/bin/win32/updmap.texlua @@ -1,14 +1,14 @@ -#!/xusr/bin/env texlua +#! /usr/bin/env texlua --*-Lua-*- -- $Id$ --- Copyright (C) 2007 Reinhard Kotucha. +-- Copyright (C) 2007 Reinhard Kotucha, Norbert Preining. -- You may freely use, modify and/or distribute this file. --- Wrapper for Perl scripts. +-- Wrapper for scripts. -function fixwin (args_unix) - if os.type == "windows" then +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 @@ -20,35 +20,65 @@ function fixwin (args_unix) end end -if string.find(arg[0], "/") then -- UNIX path - filename=select(1, string.gsub(arg[0], ".*/", "")) -elseif string.find(arg[0], "\\") then -- Windows path - filename=select(1, string.gsub(arg[0], ".*\\", "")) +if string.find(arg[0], '/') then -- UNIX path + filename=select(1, string.gsub(arg[0], '.*/', '')) +elseif string.find(arg[0], '\\') then -- Windows path + filename=select(1, string.gsub(arg[0], '.*\\', '')) else -- no path filename=arg[0] end -basename=select(1, string.gsub(filename, "\.texlua$", "")) +basename=select(1, string.gsub(filename, '\.texlua$', '')) -kpse.set_program_name(filename) +sys=false -if string.find(basename, "-sys$") then - basename=select(1, string.gsub(basename, "-sys$", "")) - os.setenv("TEXMFVAR", kpse.var_value("TEXMFSYSVAR")) - os.setenv("TEXMFCONFIG", kpse.var_value("TEXMFSYSCONFIG")) +if string.find(basename, '-sys$') then + basename=select(1, string.gsub(basename, '-sys$', '')) + sys=true end +kpse.set_program_name(filename, basename) +TEXDIR=kpse.var_value('SELFAUTOPARENT') +BINDIR=kpse.var_value('SELFAUTOLOC') -TEXDIR=kpse.var_value("SELFAUTOPARENT") +os.setenv('PERL5LIB', TEXDIR..'/tlpkg/tlperl/lib') +os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib') +os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'..os.getenv('PATH')) -os.setenv("PERL5LIB", TEXDIR.."/tlpkg/tlperl/lib") -os.setenv("GS_LIB", TEXDIR.."/tlpkg/tlgs/lib") -os.setenv("PATH", TEXDIR.."/tlpkg/tlgs/bin;"..os.getenv("PATH")) - -perlbin=TEXDIR.."/tlpkg/tlperl/bin/perl.exe" -script=kpse.find_file(basename..".pl", "texmfscripts") +if sys then + os.setenv('TEXMFVAR', kpse.var_value('TEXMFSYSVAR')) + os.setenv('TEXMFCONFIG', kpse.var_value('TEXMFSYSCONFIG')) + os.setenv('TEX_SYS_PROG', 'true') +end -command={perlbin, script} +if sys and lfs.isfile(BINDIR..'/'..basename..'.exe') then + command={BINDIR..'/'..basename..'.exe'} +elseif lfs.isfile(BINDIR..'/'..basename..'-bin.exe') + command={BINDIR..'/'..basename..'-bin.exe'} +elseif lfs.isdir(BINDIR..'/'..basename..'.pl') then + perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe' + script=BINDIR..'/'..basename..'.pl' + command={perlbin, script} +elseif kpse.find_file(basename..'.pl', 'texmfscripts') then + perlbin=TEXDIR..'/tlpkg/tlperl/bin/perl.exe' + script=kpse.find_file(basename..'.pl', 'texmfscripts') + command={perlbin, script} +elseif kpse.find_file(basename..'.rb', 'texmfscripts') then + script=kpse.find_file(basename..'.rb', 'texmfscripts') + command={'ruby', script} +elseif kpse.find_file(basename..'.py', 'texmfscripts') then + script=kpse.find_file(basename..'.py', 'texmfscripts') + command={'python', script} +elseif kpse.find_file(basename..'.texlua', 'texmfscripts') then + script=kpse.find_file(basename..'.texlua', 'texmfscripts') + command={'texlua', script} +elseif kpse.find_file(basename..'.lua', 'texmfscripts') then + script=kpse.find_file(basename..'.lua', 'texmfscripts') + command={'texlua', script} +else + os.stderr:write(filename..'.texlua: No interpreter found for '.. + basename..'\n') +end for i=1, #arg do command[#command+1]=arg[i] |