Remove the feature that would build .pdf graphics files
authormanagan <managan@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 9 Jan 2009 01:06:54 +0000 (01:06 +0000)
committermanagan <managan@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 9 Jan 2009 01:06:54 +0000 (01:06 +0000)
from .eps files for the pdf latex builder

That is if the .tex file has "\includegraphics{figure1}"
and the file figure1.eps then when using the .DVI builder
latex will find the file and all is fine.
However, when using the .PDF builder pdflatex can not
process .eps files and will fail.

After this patch the user will need to add
env.PDF('figure1.eps')

Update two tests that used the old feature and would fail otherwise
I could not come up with a way to test for a feature
that is removed. That is, I can write a test that works
before the update and fails after but not the other way around.

git-svn-id: http://scons.tigris.org/svn/scons/trunk@3882 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/engine/SCons/Scanner/LaTeX.py
src/engine/SCons/Tool/tex.py
test/TEX/multiple_include.py
test/TEX/multiple_include_subdir.py

index db7f555d246b028086241684f2b3adb76a3cfedd..a96c27914b1e6f48d0fcddb67a7f7477bc187d3e 100644 (file)
@@ -251,6 +251,9 @@ class LaTeX(SCons.Scanner.Base):
             base, ext = os.path.splitext( filename )
             if ext == "":
                 #TODO(1.5) return [filename + e for e in self.graphics_extensions]
+                #return map(lambda e, f=filename: f+e, self.graphics_extensions + TexGraphics)
+                # use the line above to find dependency for PDF builder when only .eps figure is present
+                # Since it will be found if the user tell scons how to make the pdf figure leave it out for now.
                 return map(lambda e, f=filename: f+e, self.graphics_extensions)
         return [filename]
 
index 15e2d3e58f38818e15d366093c0a98bcfef57aa8..1e78bb5a20763b14394d389929115664d9c019ef 100644 (file)
@@ -128,7 +128,10 @@ modify_env_var = SCons.Scanner.LaTeX.modify_env_var
 
 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 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
     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]
 
@@ -430,31 +434,6 @@ def ScanFiles(theFile, target, paths, file_tests, file_tests_search, env, graphi
         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) )
index 2b3cfe0fc21e6639458a46bb1677fbc4d277bb6d..acace43df294d97315d529ff0b6d08efd0e0933a 100644 (file)
@@ -51,6 +51,7 @@ import os
 
 env = Environment(ENV = { 'PATH' : os.environ['PATH'] })
 
+env.PDF('Fig1.ps')
 test = env.PDF(source='test.tex')
 """)
 
index d78394cfcf37fb721ff39f57759d36245a60350f..8f614654ffea7b7538387e43424bbb6f7766de15 100644 (file)
@@ -51,6 +51,7 @@ import os
 
 env = Environment(ENV = { 'PATH' : os.environ['PATH'] })
 
+env.PDF('docs/Fig1.eps')
 test = env.PDF(source='docs/test.tex')
 """)