summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/tex.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-12-03 04:09:35 (GMT)
committerSteven Knight <knight@baldmt.com>2004-12-03 04:09:35 (GMT)
commitabcf29987d2baa25d51716f888015aaa9d104d36 (patch)
tree55b5ddbfe2baca260bb10c209041d2235d1f9565 /src/engine/SCons/Tool/tex.py
parent2fa621343311180c159ee09262cefe0ee0ad2d83 (diff)
downloadSCons-abcf29987d2baa25d51716f888015aaa9d104d36.zip
SCons-abcf29987d2baa25d51716f888015aaa9d104d36.tar.gz
SCons-abcf29987d2baa25d51716f888015aaa9d104d36.tar.bz2
More command-line customizability: , , , , .
Diffstat (limited to 'src/engine/SCons/Tool/tex.py')
-rw-r--r--src/engine/SCons/Tool/tex.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/engine/SCons/Tool/tex.py b/src/engine/SCons/Tool/tex.py
index b9257ea..db2664a 100644
--- a/src/engine/SCons/Tool/tex.py
+++ b/src/engine/SCons/Tool/tex.py
@@ -45,14 +45,14 @@ import SCons.Util
# Define an action to build a generic tex file. This is sufficient for all
# tex files.
-TeXAction = SCons.Action.CommandAction("$TEXCOM")
+TeXAction = SCons.Action.Action("$TEXCOM", "$TEXCOMSTR")
# Define an action to build a latex file. This action might be needed more
# than once if we are dealing with labels and bibtex
-LaTeXAction = SCons.Action.CommandAction("$LATEXCOM")
+LaTeXAction = SCons.Action.Action("$LATEXCOM", "$LATEXCOMSTR")
# Define an action to run BibTeX on a file.
-BibTeXAction = SCons.Action.CommandAction("$BIBTEXCOM")
+BibTeXAction = SCons.Action.Action("$BIBTEXCOM", "$BIBTEXCOMSTR")
def LaTeXAuxAction(target = None, source= None, env=None):
"""A builder for LaTeX files that checks the output in the aux file
@@ -74,22 +74,29 @@ def LaTeXAuxAction(target = None, source= None, env=None):
LaTeXAction(target,source,env)
return 0
-def TeXLaTeXAction(target = None, source= None, env=None):
+LaTeX_re = re.compile("\\\\document(style|class)")
+
+def is_LaTeX(flist):
+ # Scan a file list to decide if it's TeX- or LaTeX-flavored.
+ for f in flist:
+ content = f.get_contents()
+ if LaTeX_re.search(content):
+ return 1
+ return 0
+
+def TeXLaTeXFunction(target = None, source= None, env=None):
"""A builder for TeX and LaTeX that scans the source file to
decide the "flavor" of the source and then executes the appropriate
program."""
- LaTeXFile = None
- for src in source:
- content = src.get_contents()
- if re.search("\\\\document(style|class)",content):
- LaTeXFile = 1
- break
- if LaTeXFile:
+ if is_LaTeX(source):
LaTeXAuxAction(target,source,env)
else:
TeXAction(target,source,env)
return 0
+TeXLaTeXAction = SCons.Action.Action(TeXLaTeXFunction,
+ strfunction=None)
+
def generate(env):
"""Add Builders and construction variables for TeX to an Environment."""
try: