summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3build/l3build-variables.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-10 21:47:40 +0000
committerKarl Berry <karl@freefriends.org>2018-01-10 21:47:40 +0000
commitee9860b8c1122fcf2d566d52c867c223f948977c (patch)
treee590c73331e380cab46df5786f8f2b2b29c96421 /Master/texmf-dist/tex/latex/l3build/l3build-variables.lua
parentb64554e78a768a6aff700f2960cf6a344c55347a (diff)
l3build (10jan18)
git-svn-id: svn://tug.org/texlive/trunk@46283 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3build/l3build-variables.lua')
-rw-r--r--Master/texmf-dist/tex/latex/l3build/l3build-variables.lua199
1 files changed, 199 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/l3build/l3build-variables.lua b/Master/texmf-dist/tex/latex/l3build/l3build-variables.lua
new file mode 100644
index 00000000000..7115d1f86ae
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/l3build/l3build-variables.lua
@@ -0,0 +1,199 @@
+--[[
+
+File l3build-variables.lua Copyright (C) 2018 The LaTeX3 Project
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
+
+ http://www.latex-project.org/lppl.txt
+
+This file is part of the "l3build bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+-----------------------------------------------------------------------
+
+The development version of the bundle can be found at
+
+ https://github.com/latex3/l3build
+
+for those people who are interested.
+
+--]]
+
+local exit = os.exit
+
+-- "module" is a deprecated function in Lua 5.2: as we want the name
+-- for other purposes, and it should eventually be 'free', simply
+-- remove the built-in
+if type(module) == "function" then
+ module = nil
+end
+
+-- Ensure the module and bundle exist
+module = module or ""
+bundle = bundle or ""
+
+-- Sanity check
+if module == "" and bundle == "" then
+ if string.match(arg[0], "l3build%.lua$") then
+ print(
+ "\n" ..
+ "l3build: A testing and building system for LaTeX\n\n" ..
+ "Release " .. release_date
+ )
+ if arg[1] and not string.match(arg[1], "version") then
+ print(
+ "\n"
+ .. "Error: Call l3build using a configuration file, not directly.\n"
+ )
+ end
+ else
+ print(
+ "\n"
+ .. "Error: Specify either bundle or module in configuration script.\n"
+ )
+ end
+ exit(1)
+end
+
+-- Directory structure for the build system
+-- Use Unix-style path separators
+currentdir = "."
+maindir = maindir or currentdir
+
+-- Substructure for file locations
+docfiledir = docfiledir or currentdir
+sourcefiledir = sourcefiledir or currentdir
+supportdir = supportdir or maindir .. "/support"
+testfiledir = testfiledir or currentdir .. "/testfiles"
+testsuppdir = testsuppdir or testfiledir .. "/support"
+
+-- Structure within a development area
+builddir = builddir or maindir .. "/build"
+distribdir = distribdir or builddir .. "/distrib"
+localdir = localdir or builddir .. "/local"
+testdir = testdir or builddir .. "/test"
+typesetdir = typesetdir or builddir .. "/doc"
+unpackdir = unpackdir or builddir .. "/unpacked"
+
+-- Substructure for CTAN release material
+ctandir = ctandir or distribdir .. "/ctan"
+tdsdir = tdsdir or distribdir .. "/tds"
+tdsroot = tdsroot or "latex"
+
+-- Location for installation on CTAN or in TEXMFHOME
+if bundle == "" then
+ moduledir = tdsroot .. "/" .. module
+ ctanpkg = ctanpkg or module
+else
+ moduledir = tdsroot .. "/" .. bundle .. "/" .. module
+ ctanpkg = ctanpkg or bundle
+end
+
+-- File types for various operations
+-- Use Unix-style globs
+-- All of these may be set earlier, so a initialised conditionally
+auxfiles = auxfiles or {"*.aux", "*.lof", "*.lot", "*.toc"}
+bibfiles = bibfiles or {"*.bib"}
+binaryfiles = binaryfiles or {"*.pdf", "*.zip"}
+bstfiles = bstfiles or {"*.bst"}
+checkfiles = checkfiles or { }
+checksuppfiles = checksuppfiles or { }
+cleanfiles = cleanfiles or {"*.log", "*.pdf", "*.zip"}
+demofiles = demofiles or { }
+docfiles = docfiles or { }
+excludefiles = excludefiles or {"*~"}
+installfiles = installfiles or {"*.sty","*.cls"}
+makeindexfiles = makeindexfiles or {"*.ist"}
+sourcefiles = sourcefiles or {"*.dtx", "*.ins"}
+textfiles = textfiles or {"*.md", "*.txt"}
+typesetdemofiles = typesetdemofiles or { }
+typesetfiles = typesetfiles or {"*.dtx"}
+typesetsuppfiles = typesetsuppfiles or { }
+typesetsourcefiles = typesetsourcefiles or { }
+unpackfiles = unpackfiles or {"*.ins"}
+unpacksuppfiles = unpacksuppfiles or { }
+versionfiles = versionfiles or {"*.dtx"}
+
+-- Roots which should be unpacked to support unpacking/testing/typesetting
+checkdeps = checkdeps or { }
+typesetdeps = typesetdeps or { }
+unpackdeps = unpackdeps or { }
+
+-- Executable names plus following options
+typesetexe = typesetexe or "pdflatex"
+unpackexe = unpackexe or "tex"
+zipexe = zipexe or "zip"
+
+checkopts = checkopts or "-interaction=nonstopmode"
+typesetopts = typesetopts or "-interaction=nonstopmode"
+unpackopts = unpackopts or ""
+zipopts = zipopts or "-v -r -X"
+
+-- Engines for testing
+checkengines = checkengines or {"pdftex", "xetex", "luatex"}
+checkformat = checkformat or "latex"
+stdengine = stdengine or "pdftex"
+
+-- Configs for testing
+stdconfig = stdconfig or string.gsub(arg[0], "%.lua$", "")
+checkconfigs = checkconfigs or {stdconfig}
+
+-- Enable access to trees outside of the repo
+-- As these may be set false, a more elaborate test than normal is needed
+if checksearch == nil then
+ checksearch = true
+end
+if typesetsearch == nil then
+ typesetsearch = true
+end
+if unpacksearch == nil then
+ unpacksearch = true
+end
+
+-- Additional settings to fine-tune typesetting
+glossarystyle = glossarystyle or "gglo.ist"
+indexstyle = indexstyle or "gind.ist"
+
+-- Supporting binaries and options
+biberexe = biberexe or "biber"
+biberopts = biberopts or ""
+bibtexexe = bibtexexe or "bibtex8"
+bibtexopts = bibtexopts or "-W"
+makeindexexe = makeindexexe or "makeindex"
+makeindexopts = makeindexopts or ""
+
+-- Forcing epoch
+if forcecheckepoch == nil then
+ forcecheckepoch = true
+end
+if forcedocepoch == nil then
+ forcedocepoch = true
+end
+
+-- Other required settings
+asciiengines = asciiengines or {"pdftex"}
+checkruns = checkruns or 1
+epoch = epoch or 1463734800
+maxprintline = maxprintline or 79
+packtdszip = packtdszip or false
+scriptname = scriptname or "build.lua"
+typesetcmds = typesetcmds or ""
+typesetruns = typesetruns or 2
+versionform = versionform or ""
+recordstatus = recordstatus or false
+
+-- Extensions for various file types: used to abstract out stuff a bit
+bakext = bakext or ".bak"
+dviext = dviext or ".dvi"
+logext = logext or ".log"
+lveext = lveext or ".lve"
+lvtext = lvtext or ".lvt"
+pdfext = pdfext or ".pdf"
+psext = psext or ".ps"
+tlgext = tlgext or ".tlg"
+
+-- Manifest options
+manifestfile = "MANIFEST.md"