diff options
Diffstat (limited to 'src/engine/SCons/Tool/pdflatex.py')
-rw-r--r-- | src/engine/SCons/Tool/pdflatex.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/engine/SCons/Tool/pdflatex.py b/src/engine/SCons/Tool/pdflatex.py index 3b7ac40..acf67b2 100644 --- a/src/engine/SCons/Tool/pdflatex.py +++ b/src/engine/SCons/Tool/pdflatex.py @@ -34,25 +34,32 @@ selection method. __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import SCons.Action -import SCons.Defaults import SCons.Util +import SCons.Tool.pdf import SCons.Tool.tex -PDFLaTeXAction = SCons.Action.Action('$PDFLATEXCOM', '$PDFLATEXCOMSTR') +PDFLaTeXAction = None def PDFLaTeXAuxFunction(target = None, source= None, env=None): SCons.Tool.tex.InternalLaTeXAuxAction( PDFLaTeXAction, target, source, env ) -PDFLaTeXAuxAction = SCons.Action.Action(PDFLaTeXAuxFunction, strfunction=None) +PDFLaTeXAuxAction = None def generate(env): """Add Builders and construction variables for pdflatex to an Environment.""" - try: - bld = env['BUILDERS']['PDF'] - except KeyError: - bld = SCons.Defaults.PDF() - env['BUILDERS']['PDF'] = bld + global PDFLaTeXAction + if PDFLaTeXAction is None: + PDFLaTeXAction = SCons.Action.Action('$PDFLATEXCOM', '$PDFLATEXCOMSTR') + global PDFLaTeXAuxAction + if PDFLaTeXAuxAction is None: + PDFLaTeXAuxAction = SCons.Action.Action(PDFLaTeXAuxFunction, + strfunction=None) + + import pdf + pdf.generate(env) + + bld = env['BUILDERS']['PDF'] bld.add_action('.ltx', PDFLaTeXAuxAction) bld.add_action('.latex', PDFLaTeXAuxAction) bld.add_emitter('.ltx', SCons.Tool.tex.tex_emitter) |