| Index: third_party/scons/scons-local/SCons/Tool/tex.py
|
| ===================================================================
|
| --- third_party/scons/scons-local/SCons/Tool/tex.py (revision 9094)
|
| +++ third_party/scons/scons-local/SCons/Tool/tex.py (working copy)
|
| @@ -9,7 +9,7 @@
|
| """
|
|
|
| #
|
| -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
|
| +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons Foundation
|
| #
|
| # Permission is hereby granted, free of charge, to any person obtaining
|
| # a copy of this software and associated documentation files (the
|
| @@ -31,7 +31,7 @@
|
| # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| #
|
|
|
| -__revision__ = "src/engine/SCons/Tool/tex.py 3842 2008/12/20 22:59:52 scons"
|
| +__revision__ = "src/engine/SCons/Tool/tex.py 3897 2009/01/13 06:45:54 scons"
|
|
|
| import os.path
|
| import re
|
| @@ -128,7 +128,10 @@
|
|
|
| def FindFile(name,suffixes,paths,env,requireExt=False):
|
| if requireExt:
|
| - name = SCons.Util.splitext(name)[0]
|
| + name,ext = SCons.Util.splitext(name)
|
| + # if the user gave an extension use it.
|
| + if ext:
|
| + name = name + ext
|
| if Verbose:
|
| print " searching for '%s' with extensions: " % name,suffixes
|
|
|
| @@ -178,6 +181,7 @@
|
| basedir = os.path.split(str(source[0]))[0]
|
| basefile = os.path.split(str(basename))[1]
|
| abspath = os.path.abspath(basedir)
|
| +
|
| targetext = os.path.splitext(str(target[0]))[1]
|
| targetdir = os.path.split(str(target[0]))[0]
|
|
|
| @@ -198,7 +202,7 @@
|
| # we have to run makeindex at least once to keep the build
|
| # happy even if there is no index.
|
| # Same for glossaries and nomenclature
|
| - src_content = source[0].get_contents()
|
| + src_content = source[0].get_text_contents()
|
| run_makeindex = makeindex_re.search(src_content) and not os.path.exists(targetbase + '.idx')
|
| run_nomenclature = makenomenclature_re.search(src_content) and not os.path.exists(targetbase + '.nlo')
|
| run_glossary = makeglossary_re.search(src_content) and not os.path.exists(targetbase + '.glo')
|
| @@ -373,7 +377,7 @@
|
| 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()
|
| + content = f.get_text_contents()
|
| if LaTeX_re.search(content):
|
| return 1
|
| return 0
|
| @@ -422,7 +426,7 @@
|
| def ScanFiles(theFile, target, paths, file_tests, file_tests_search, env, graphics_extensions, targetdir):
|
| # for theFile (a Node) update any file_tests and search for graphics files
|
| # then find all included files and call ScanFiles for each of them
|
| - content = theFile.get_contents()
|
| + content = theFile.get_text_contents()
|
| if Verbose:
|
| print " scanning ",str(theFile)
|
|
|
| @@ -430,31 +434,6 @@
|
| if file_tests[i][0] == None:
|
| file_tests[i][0] = file_tests_search[i].search(content)
|
|
|
| - # For each file see if any graphics files are included
|
| - # and set up target to create ,pdf graphic
|
| - # is this is in pdflatex toolchain
|
| - graphic_files = includegraphics_re.findall(content)
|
| - if Verbose:
|
| - print "graphics files in '%s': "%str(theFile),graphic_files
|
| - for graphFile in graphic_files:
|
| - graphicNode = FindFile(graphFile,graphics_extensions,paths,env,requireExt=True)
|
| - # if building with pdflatex see if we need to build the .pdf version of the graphic file
|
| - # I should probably come up with a better way to tell which builder we are using.
|
| - if graphics_extensions == LatexGraphics:
|
| - # see if we can build this graphics file by epstopdf
|
| - graphicSrc = FindFile(graphFile,TexGraphics,paths,env,requireExt=True)
|
| - # it seems that FindFile checks with no extension added
|
| - # so if the extension is included in the name then both searches find it
|
| - # we don't want to try to build a .pdf from a .pdf so make sure src!=file wanted
|
| - if (graphicSrc != None) and (graphicSrc != graphicNode):
|
| - if Verbose:
|
| - if graphicNode == None:
|
| - print "need to build '%s' by epstopdf %s -o %s" % (graphFile,graphicSrc,graphFile)
|
| - else:
|
| - print "no need to build '%s', but source file %s exists" % (graphicNode,graphicSrc)
|
| - graphicNode = env.PDF(graphicSrc)
|
| - env.Depends(target[0],graphicNode)
|
| -
|
| # recursively call this on each of the included files
|
| inc_files = [ ]
|
| inc_files.extend( include_re.findall(content) )
|
| @@ -498,7 +477,7 @@
|
| env.Clean(target[0],auxfilename)
|
| env.Clean(target[0],logfilename)
|
|
|
| - content = source[0].get_contents()
|
| + content = source[0].get_text_contents()
|
|
|
| idx_exists = os.path.exists(targetbase + '.idx')
|
| nlo_exists = os.path.exists(targetbase + '.nlo')
|
|
|