diff options
| author | Philipp Gesang <phg@phi-gamma.net> | 2015-11-19 08:11:22 +0100 | 
|---|---|---|
| committer | Philipp Gesang <phg@phi-gamma.net> | 2015-11-19 08:11:27 +0100 | 
| commit | b3565971e4ea5525da149268b1cd372b8d77f42c (patch) | |
| tree | e5285e73bd8c9cf417802f76d0576658065e8250 /scripts/mkimport | |
| parent | 66715ea0131082efdca3267d3ab663153b0372e9 (diff) | |
| download | luaotfload-b3565971e4ea5525da149268b1cd372b8d77f42c.tar.gz | |
[import] allow passing search location on command line
And btw don’t hard code my own homedir =)
Diffstat (limited to 'scripts/mkimport')
| -rwxr-xr-x | scripts/mkimport | 35 | 
1 files changed, 27 insertions, 8 deletions
diff --git a/scripts/mkimport b/scripts/mkimport index e8b83c0..9ea224a 100755 --- a/scripts/mkimport +++ b/scripts/mkimport @@ -51,7 +51,7 @@ local tableconcat      = table.concat  -- config  ------------------------------------------------------------------------------- -local context_root        = "/home/phg/context/tex/texmf-context" +local parms               = { }  local our_prefix          = "fontloader"  local luatex_fonts_prefix = "luatex"  local fontloader_subdir   = "src/fontloader" @@ -69,7 +69,6 @@ local subdirs = {  local searchdirs = {    --- order is important!    fontloader_subdir, -  context_root  }  local prefixes = { @@ -259,7 +258,7 @@ end  local derive_category_path = function (cat)    local subpath  = origin_paths[cat] or die ("category " .. cat .. " unknown") -  local location = file.join (context_root, subpath) +  local location = file.join (parms.context_root, subpath)    if not lfsisdir (location) then      die ("invalid base path defined for category "           .. cat .. " at " .. location) @@ -482,7 +481,8 @@ end --[[ [local import_file = function (name, kind)] ]]  local import = function (arg)    if #arg > 1 then -    local name = arg[2] or die ("invalid filename " .. tostring (arg[2])) +    local tgt  = parms.target +    local name = tgt or die ("invalid filename " .. tostring (tgt))      local stat = import_file (name)      if stat == import_failed then        die ("failed to import file " .. name) @@ -526,10 +526,10 @@ local search_paths = function (target)    end -  local found = find_in_path (context_root, origin_paths.context, target) +  local found = find_in_path (parms.context_root, origin_paths.context, target)    if found then return found end -  local found = find_in_path (context_root, origin_paths.fontloader, target) +  local found = find_in_path (parms.context_root, origin_paths.fontloader, target)    if found then return found end    return false  end @@ -656,7 +656,7 @@ local describe = function (target, location)  end  local tell = function (arg) -  local target = arg[2] +  local target = parms.target    if not target then die "no filename given" end    local location = search (target) @@ -846,12 +846,31 @@ local check_job = function (j)    return job_kind[j] or die ("invalid job type “%s”.", j)  end +local parse_argv = function (argv) +  local job +  local tgt +  local pth + +  local argc = #arg +  if argc < 1 or argc > 3 then return "help" end +  job = arg[1] or "help" +  if argc > 1 then +    tgt = arg[2] +    if argc == 3 then pth = arg[3] end +  end +  if not pth then pth = "~/context/tex/texmf-context" end +  parms.context_root = kpse.expand_path (pth) +  parms.target       = tgt +  searchdirs [#searchdirs + 1] = pth +  return job +end +  -------------------------------------------------------------------------------  -- entry point  -------------------------------------------------------------------------------  local main = function () -  local job = arg[1] or "help" +  local job = parse_argv (arg)    local runner = check_job (job)    return runner(arg)  end  | 
