diff options
-rw-r--r-- | src/CHANGES.txt | 15 | ||||
-rw-r--r-- | src/engine/SCons/Conftest.py | 8 | ||||
-rw-r--r-- | src/engine/SCons/Tool/tex.py | 27 | ||||
-rw-r--r-- | test/TEX/dup_names.py | 76 | ||||
-rw-r--r-- | test/TEX/subdir_variantdir_include2.py | 68 |
5 files changed, 84 insertions, 110 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 8b2ab79..c4f50dc 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -8,26 +8,15 @@ -RELEASE X.X.X - XXX +RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800 From Luca Falavigna: - Fix typos in the man page. - From Steven Knight: - - Make the messages for Configure checks of compilers consistent. - - From Rob Managan: - - Update tex builder to handle the case where a \input{foo} - command tries to work with a directory named foo instead of the - file foo.tex. The builder now ignores a directory and continues - searching to find the correct file. Thanks to Lennart Sauerbeck - for the test case and initial patch - - -RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800 +RELEASE X.X.X - XXX From Jim Randall: - Fixed temp filename race condition on Windows with long cmd lines. diff --git a/src/engine/SCons/Conftest.py b/src/engine/SCons/Conftest.py index 9210f87..e995e77 100644 --- a/src/engine/SCons/Conftest.py +++ b/src/engine/SCons/Conftest.py @@ -157,7 +157,7 @@ def CheckCC(context): too, so that it can test against non working flags. """ - context.Display("Checking whether the C compiler works... ") + context.Display("Checking whether the C compiler works") text = """ int main() { @@ -177,7 +177,7 @@ def CheckSHCC(context): too, so that it can test against non working flags. """ - context.Display("Checking whether the (shared) C compiler works... ") + context.Display("Checking whether the (shared) C compiler works") text = """ int foo() { @@ -197,7 +197,7 @@ def CheckCXX(context): too, so that it can test against non working flags. """ - context.Display("Checking whether the C++ compiler works... ") + context.Display("Checking whether the C++ compiler works") text = """ int main() { @@ -217,7 +217,7 @@ def CheckSHCXX(context): too, so that it can test against non working flags. """ - context.Display("Checking whether the (shared) C++ compiler works... ") + context.Display("Checking whether the (shared) C++ compiler works") text = """ int main() { diff --git a/src/engine/SCons/Tool/tex.py b/src/engine/SCons/Tool/tex.py index e0d1bd3..11e06bf 100644 --- a/src/engine/SCons/Tool/tex.py +++ b/src/engine/SCons/Tool/tex.py @@ -146,7 +146,7 @@ def FindFile(name,suffixes,paths,env,requireExt=False): testName = os.path.join(path,name) if Verbose: print " look for '%s'" % testName - if os.path.exists(testName) and os.path.isfile(testName): + if os.path.exists(testName): if Verbose: print " found '%s'" % testName return env.fs.File(testName) @@ -161,7 +161,7 @@ def FindFile(name,suffixes,paths,env,requireExt=False): if Verbose: print " look for '%s'" % testNameExt - if os.path.exists(testNameExt) and os.path.isfile(testNameExt): + if os.path.exists(testNameExt): if Verbose: print " found '%s'" % testNameExt return env.fs.File(testNameExt) @@ -268,7 +268,7 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None # Read the log file to find warnings/errors logfilename = targetbase + '.log' logContent = '' - if os.path.exists(logfilename) and os.path.isfile(logfilename): + if os.path.exists(logfilename): logContent = open(logfilename, "rb").read() @@ -276,7 +276,7 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None flsfilename = targetbase + '.fls' flsContent = '' auxfiles = [] - if os.path.exists(flsfilename) and os.path.isfile(flsfilename): + if os.path.exists(flsfilename): flsContent = open(flsfilename, "rb").read() auxfiles = openout_aux_re.findall(flsContent) if Verbose: @@ -290,7 +290,7 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None if count == 1: for auxfilename in auxfiles: target_aux = os.path.join(targetdir, auxfilename) - if os.path.exists(target_aux) and os.path.isfile(target_aux): + if os.path.exists(target_aux): content = open(target_aux, "rb").read() if string.find(content, "bibdata") != -1: if Verbose: @@ -375,10 +375,8 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None # end of while loop # rename Latex's output to what the target name is - if not (str(target[0]) == resultfilename and - os.path.exists(resultfilename) and - os.path.isfile(resultfilename)): - if os.path.exists(resultfilename) and os.path.isfile(resultfilename): + if not (str(target[0]) == resultfilename and os.path.exists(resultfilename)): + if os.path.exists(resultfilename): print "move %s to %s" % (resultfilename, str(target[0]), ) shutil.move(resultfilename,str(target[0])) @@ -600,11 +598,10 @@ def tex_emitter_core(target, source, env, graphics_extensions): content = source[0].get_text_contents() - # These never got used. Fix them anyway - #idx_exists = os.path.exists(targetbase + '.idx') and os.path.isfile(targetbase + '.idx') - #nlo_exists = os.path.exists(targetbase + '.nlo') and os.path.isfile(targetbase + '.nlo') - #glo_exists = os.path.exists(targetbase + '.glo') and os.path.isfile(targetbase + '.glo') - #acr_exists = os.path.exists(targetbase + '.acn') and os.path.isfile(targetbase + '.acn') + idx_exists = os.path.exists(targetbase + '.idx') + nlo_exists = os.path.exists(targetbase + '.nlo') + glo_exists = os.path.exists(targetbase + '.glo') + acr_exists = os.path.exists(targetbase + '.acn') # set up list with the regular expressions # we use to find features used @@ -683,7 +680,7 @@ def tex_emitter_core(target, source, env, graphics_extensions): env.Clean(target[0],aFile_base + '.aux') # read fls file to get all other files that latex creates and will read on the next pass # remove files from list that we explicitly dealt with above - if os.path.exists(flsfilename) and os.path.isfile(flsfilename): + if os.path.exists(flsfilename): content = open(flsfilename, "rb").read() out_files = openout_re.findall(content) myfiles = [auxfilename, logfilename, flsfilename, targetbase+'.dvi',targetbase+'.pdf'] diff --git a/test/TEX/dup_names.py b/test/TEX/dup_names.py deleted file mode 100644 index 0017035..0000000 --- a/test/TEX/dup_names.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -""" -Test whether duplicate base names are handled correctly. Basically there -is a directory and a file in the same location with the same basename -(foo/ and foo.tex). This test verifies \include{foo} includes foo.tex -and not the directory. - -Test configuration courtesy Lennart Sauerbeck. -""" - -import TestSCons - -test = TestSCons.TestSCons() - -pdflatex = test.where_is('pdflatex') - -if not pdflatex: - test.skip_test("Could not find pdflatex; skipping test(s).\n") - -test.subdir(['foo']) - -test.write('SConstruct', """\ -import os -env = Environment(tools = ['pdflatex'], - ENV = {'PATH' : os.environ['PATH']}) -pdf = env.PDF( "base.ltx" ) -""") - -test.write('base.ltx', r""" -\documentclass{article} - -\begin{document} -\input{foo} -\end{document} -""") - -test.write('foo.tex', r""" -Yes, this is a valid document. -""") - -test.run(arguments = '.', stderr=None) - -test.must_exist(test.workpath('base.aux')) - -test.pass_test() - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/test/TEX/subdir_variantdir_include2.py b/test/TEX/subdir_variantdir_include2.py index cb1ae6f..68607b1 100644 --- a/test/TEX/subdir_variantdir_include2.py +++ b/test/TEX/subdir_variantdir_include2.py @@ -58,12 +58,15 @@ import os env = Environment(TOOLS = ['tex', 'pdftex'],ENV = {'PATH' : os.environ['PATH']}) env.VariantDir('build', 'docs', duplicate=0) +graph = env.PDF('build/fig/graph.eps') pdf = env.PDF('build/main.tex') +Depends(pdf, graph) """) test.write(['docs','main.tex'], r"""\documentclass{article} \usepackage{makeidx} +\usepackage{graphicx} \makeindex \begin{document} Hi there. @@ -84,9 +87,70 @@ Sub-chapter 2 """) +test.write(['docs','fig','graph.eps'], """\ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Fig1.fig +%%Creator: fig2dev Version 3.2 Patchlevel 4 +%%CreationDate: Tue Apr 25 09:56:11 2006 +%%For: managan@mangrove.llnl.gov (Rob Managan) +%%BoundingBox: 0 0 98 98 +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def + +end +save +newpath 0 98 moveto 0 0 lineto 98 0 lineto 98 98 lineto closepath clip newpath +-24.9 108.2 translate +1 -1 scale + +/gr {grestore} bind def +/gs {gsave} bind def +/rs {restore} bind def +/n {newpath} bind def +/s {stroke} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/sc {scale} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/tr {translate} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y tr xrad yrad sc 0 0 1 startangle endangle arc + closepath + savematrix setmatrix + } def + +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit + 0.06299 0.06299 sc +% +% Fig objects follow +% +7.500 slw +% Ellipse +n 1170 945 766 766 0 360 DrawEllipse gs col0 s gr + +$F2psEnd +rs +""") + #test.run(arguments = '.') test.run(arguments = '.', stderr=None, stdout=None) -#test.run(arguments = 'build/main.pdf', stderr=None, stdout=None) test.must_exist(['build', 'main.aux']) test.must_exist(['build', 'main.fls']) @@ -127,7 +191,7 @@ test.must_not_exist(['docs', 'content', 'chapter.aux']) test.up_to_date(arguments = '.', stderr=None, stdout=None) test.write(['docs','content', 'subchap.tex'], """\ -Sub-document 2a +Sub-document 2 """) test.not_up_to_date(arguments = '.') |