summaryrefslogtreecommitdiffstats
path: root/src
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
parent2fa621343311180c159ee09262cefe0ee0ad2d83 (diff)
downloadSCons-abcf29987d2baa25d51716f888015aaa9d104d36.zip
SCons-abcf29987d2baa25d51716f888015aaa9d104d36.tar.gz
SCons-abcf29987d2baa25d51716f888015aaa9d104d36.tar.bz2
More command-line customizability: , , , , .
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt13
-rw-r--r--src/engine/SCons/Tool/latex.py2
-rw-r--r--src/engine/SCons/Tool/pdflatex.py2
-rw-r--r--src/engine/SCons/Tool/pdftex.py5
-rw-r--r--src/engine/SCons/Tool/tex.py29
5 files changed, 31 insertions, 20 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 40d8454..ebfc13c 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -130,14 +130,15 @@ RELEASE 0.97 - XXX
- Fix expansion of env.Command() overrides within target and
source file names.
- - Support easier customization of what's displayed by various default
- actions by adding new construction variables: $ARCOMSTR, $ASCOMSTR,
- $ASPPCOMSTR, $BITKEEPERCOMSTR, $CCCOMSTR, $CVSCOMSTR, $CXXCOMSTR,
- $F77COMSTR, $F90COMSTR, $F95COMSTR, $FORTRANCOMSTR, $JARCOMSTR,
- $JAVACCOMSTR, $JAVAHCOMSTR, $LEXCOMSTR, $LINKCOMSTR, $RCSCOMSTR,
+ - Support easier customization of what's displayed by various
+ default actions by adding lots of new construction variables:
+ $ARCOMSTR, $ASCOMSTR, $ASPPCOMSTR, $BIBTEXCOMSTR, $BITKEEPERCOMSTR,
+ $CCCOMSTR, $CVSCOMSTR, $CXXCOMSTR, $F77COMSTR, $F90COMSTR, $F95COMSTR,
+ $FORTRANCOMSTR, $JARCOMSTR, $JAVACCOMSTR, $JAVAHCOMSTR, $LATEXCOMSTR,
+ $LEXCOMSTR, $LINKCOMSTR, $PDFLATEXCOMSTR, $PDFTEXCOMSTR, $RCSCOMSTR,
$RMICCOMSTR, $SCCSCOMSTR, $SHCCCOMSTR, $SHCXXCOMSTR, $SHF77COMSTR,
$SHF90COMSTR, $SHF95COMSTR, $SHFORTRANCOMSTR, $SHLINKCOMSTR,
- $TARCOMSTR, $YACCCOMSTR and $ZIPCOMSTR.
+ $TARCOMSTR, $TEXCOMSTR, $YACCCOMSTR and $ZIPCOMSTR.
- Add an optional "map" keyword argument to ListOption() that takes a
dictionary to map user-specified values to legal values from the list
diff --git a/src/engine/SCons/Tool/latex.py b/src/engine/SCons/Tool/latex.py
index 7bbec6f..f182b35 100644
--- a/src/engine/SCons/Tool/latex.py
+++ b/src/engine/SCons/Tool/latex.py
@@ -37,7 +37,7 @@ import SCons.Action
import SCons.Defaults
import SCons.Util
-LaTeXAction = SCons.Action.Action('$LATEXCOM')
+LaTeXAction = SCons.Action.Action('$LATEXCOM', '$LATEXCOMSTR')
def generate(env):
"""Add Builders and construction variables for LaTeX to an Environment."""
diff --git a/src/engine/SCons/Tool/pdflatex.py b/src/engine/SCons/Tool/pdflatex.py
index b1a559a..57c6e2d 100644
--- a/src/engine/SCons/Tool/pdflatex.py
+++ b/src/engine/SCons/Tool/pdflatex.py
@@ -37,7 +37,7 @@ import SCons.Action
import SCons.Defaults
import SCons.Util
-PDFLaTeXAction = SCons.Action.Action('$PDFLATEXCOM')
+PDFLaTeXAction = SCons.Action.Action('$PDFLATEXCOM', '$PDFLATEXCOMSTR')
def generate(env):
"""Add Builders and construction variables for pdflatex to an Environment."""
diff --git a/src/engine/SCons/Tool/pdftex.py b/src/engine/SCons/Tool/pdftex.py
index 3d2add0..366151e 100644
--- a/src/engine/SCons/Tool/pdftex.py
+++ b/src/engine/SCons/Tool/pdftex.py
@@ -33,9 +33,12 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+import SCons.Action
import SCons.Defaults
import SCons.Util
+PDFTeXAction = SCons.Action.Action('$PDFTEXCOM', '$PDFTEXCOMSTR')
+
def generate(env):
"""Add Builders and construction variables for pdftex to an Environment."""
try:
@@ -44,7 +47,7 @@ def generate(env):
bld = SCons.Defaults.PDF()
env['BUILDERS']['PDF'] = bld
- bld.add_action('.tex', '$PDFTEXCOM')
+ bld.add_action('.tex', PDFTeXAction)
env['PDFTEX'] = 'pdftex'
env['PDFTEXFLAGS'] = SCons.Util.CLVar('')
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: