libv8 3.3.10.2 → 3.3.10.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +35 -7
  3. data/Rakefile +61 -20
  4. data/ext/libv8/extconf.rb +15 -0
  5. data/lib/libv8/scons/CHANGES.txt +231 -24
  6. data/lib/libv8/scons/LICENSE.txt +1 -1
  7. data/lib/libv8/scons/MANIFEST +1 -0
  8. data/lib/libv8/scons/PKG-INFO +1 -1
  9. data/lib/libv8/scons/README.txt +9 -9
  10. data/lib/libv8/scons/RELEASE.txt +77 -75
  11. data/lib/libv8/scons/engine/SCons/Action.py +22 -6
  12. data/lib/libv8/scons/engine/SCons/Builder.py +2 -2
  13. data/lib/libv8/scons/engine/SCons/CacheDir.py +2 -2
  14. data/lib/libv8/scons/engine/SCons/Debug.py +2 -2
  15. data/lib/libv8/scons/engine/SCons/Defaults.py +24 -10
  16. data/lib/libv8/scons/engine/SCons/Environment.py +118 -19
  17. data/lib/libv8/scons/engine/SCons/Errors.py +2 -2
  18. data/lib/libv8/scons/engine/SCons/Executor.py +2 -2
  19. data/lib/libv8/scons/engine/SCons/Job.py +2 -2
  20. data/lib/libv8/scons/engine/SCons/Memoize.py +2 -2
  21. data/lib/libv8/scons/engine/SCons/Node/Alias.py +2 -2
  22. data/lib/libv8/scons/engine/SCons/Node/FS.py +281 -121
  23. data/lib/libv8/scons/engine/SCons/Node/Python.py +2 -2
  24. data/lib/libv8/scons/engine/SCons/Node/__init__.py +6 -5
  25. data/lib/libv8/scons/engine/SCons/Options/BoolOption.py +2 -2
  26. data/lib/libv8/scons/engine/SCons/Options/EnumOption.py +2 -2
  27. data/lib/libv8/scons/engine/SCons/Options/ListOption.py +2 -2
  28. data/lib/libv8/scons/engine/SCons/Options/PackageOption.py +2 -2
  29. data/lib/libv8/scons/engine/SCons/Options/PathOption.py +2 -2
  30. data/lib/libv8/scons/engine/SCons/Options/__init__.py +2 -2
  31. data/lib/libv8/scons/engine/SCons/PathList.py +2 -2
  32. data/lib/libv8/scons/engine/SCons/Platform/__init__.py +2 -2
  33. data/lib/libv8/scons/engine/SCons/Platform/aix.py +2 -2
  34. data/lib/libv8/scons/engine/SCons/Platform/cygwin.py +2 -2
  35. data/lib/libv8/scons/engine/SCons/Platform/darwin.py +27 -3
  36. data/lib/libv8/scons/engine/SCons/Platform/hpux.py +2 -2
  37. data/lib/libv8/scons/engine/SCons/Platform/irix.py +2 -2
  38. data/lib/libv8/scons/engine/SCons/Platform/os2.py +2 -2
  39. data/lib/libv8/scons/engine/SCons/Platform/posix.py +2 -2
  40. data/lib/libv8/scons/engine/SCons/Platform/sunos.py +2 -2
  41. data/lib/libv8/scons/engine/SCons/Platform/win32.py +2 -2
  42. data/lib/libv8/scons/engine/SCons/SConf.py +2 -2
  43. data/lib/libv8/scons/engine/SCons/SConsign.py +9 -3
  44. data/lib/libv8/scons/engine/SCons/Scanner/C.py +2 -2
  45. data/lib/libv8/scons/engine/SCons/Scanner/D.py +2 -2
  46. data/lib/libv8/scons/engine/SCons/Scanner/Dir.py +2 -2
  47. data/lib/libv8/scons/engine/SCons/Scanner/Fortran.py +2 -2
  48. data/lib/libv8/scons/engine/SCons/Scanner/IDL.py +2 -2
  49. data/lib/libv8/scons/engine/SCons/Scanner/LaTeX.py +5 -2
  50. data/lib/libv8/scons/engine/SCons/Scanner/Prog.py +2 -2
  51. data/lib/libv8/scons/engine/SCons/Scanner/RC.py +3 -3
  52. data/lib/libv8/scons/engine/SCons/Scanner/__init__.py +2 -2
  53. data/lib/libv8/scons/engine/SCons/Script/Interactive.py +2 -2
  54. data/lib/libv8/scons/engine/SCons/Script/Main.py +82 -11
  55. data/lib/libv8/scons/engine/SCons/Script/SConsOptions.py +5 -5
  56. data/lib/libv8/scons/engine/SCons/Script/SConscript.py +2 -2
  57. data/lib/libv8/scons/engine/SCons/Script/__init__.py +2 -2
  58. data/lib/libv8/scons/engine/SCons/Sig.py +2 -2
  59. data/lib/libv8/scons/engine/SCons/Subst.py +2 -2
  60. data/lib/libv8/scons/engine/SCons/Taskmaster.py +10 -2
  61. data/lib/libv8/scons/engine/SCons/Tool/386asm.py +2 -2
  62. data/lib/libv8/scons/engine/SCons/Tool/BitKeeper.py +2 -2
  63. data/lib/libv8/scons/engine/SCons/Tool/CVS.py +2 -2
  64. data/lib/libv8/scons/engine/SCons/Tool/FortranCommon.py +19 -2
  65. data/lib/libv8/scons/engine/SCons/Tool/JavaCommon.py +2 -2
  66. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/__init__.py +2 -2
  67. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/arch.py +2 -2
  68. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/common.py +2 -2
  69. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/netframework.py +2 -2
  70. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/sdk.py +2 -2
  71. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vc.py +9 -6
  72. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vs.py +29 -2
  73. data/lib/libv8/scons/engine/SCons/Tool/Perforce.py +2 -2
  74. data/lib/libv8/scons/engine/SCons/Tool/PharLapCommon.py +2 -2
  75. data/lib/libv8/scons/engine/SCons/Tool/RCS.py +2 -2
  76. data/lib/libv8/scons/engine/SCons/Tool/SCCS.py +2 -2
  77. data/lib/libv8/scons/engine/SCons/Tool/Subversion.py +2 -2
  78. data/lib/libv8/scons/engine/SCons/Tool/__init__.py +3 -3
  79. data/lib/libv8/scons/engine/SCons/Tool/aixc++.py +2 -2
  80. data/lib/libv8/scons/engine/SCons/Tool/aixcc.py +2 -2
  81. data/lib/libv8/scons/engine/SCons/Tool/aixf77.py +2 -2
  82. data/lib/libv8/scons/engine/SCons/Tool/aixlink.py +2 -2
  83. data/lib/libv8/scons/engine/SCons/Tool/applelink.py +2 -2
  84. data/lib/libv8/scons/engine/SCons/Tool/ar.py +2 -2
  85. data/lib/libv8/scons/engine/SCons/Tool/as.py +2 -2
  86. data/lib/libv8/scons/engine/SCons/Tool/bcc32.py +2 -2
  87. data/lib/libv8/scons/engine/SCons/Tool/c++.py +2 -2
  88. data/lib/libv8/scons/engine/SCons/Tool/cc.py +2 -2
  89. data/lib/libv8/scons/engine/SCons/Tool/cvf.py +2 -2
  90. data/lib/libv8/scons/engine/SCons/Tool/default.py +2 -2
  91. data/lib/libv8/scons/engine/SCons/Tool/dmd.py +24 -7
  92. data/lib/libv8/scons/engine/SCons/Tool/dvi.py +2 -2
  93. data/lib/libv8/scons/engine/SCons/Tool/dvipdf.py +3 -2
  94. data/lib/libv8/scons/engine/SCons/Tool/dvips.py +3 -2
  95. data/lib/libv8/scons/engine/SCons/Tool/f03.py +63 -0
  96. data/lib/libv8/scons/engine/SCons/Tool/f77.py +2 -2
  97. data/lib/libv8/scons/engine/SCons/Tool/f90.py +2 -2
  98. data/lib/libv8/scons/engine/SCons/Tool/f95.py +2 -2
  99. data/lib/libv8/scons/engine/SCons/Tool/filesystem.py +2 -2
  100. data/lib/libv8/scons/engine/SCons/Tool/fortran.py +2 -2
  101. data/lib/libv8/scons/engine/SCons/Tool/g++.py +2 -2
  102. data/lib/libv8/scons/engine/SCons/Tool/g77.py +2 -2
  103. data/lib/libv8/scons/engine/SCons/Tool/gas.py +2 -2
  104. data/lib/libv8/scons/engine/SCons/Tool/gcc.py +2 -2
  105. data/lib/libv8/scons/engine/SCons/Tool/gfortran.py +3 -3
  106. data/lib/libv8/scons/engine/SCons/Tool/gnulink.py +2 -3
  107. data/lib/libv8/scons/engine/SCons/Tool/gs.py +2 -2
  108. data/lib/libv8/scons/engine/SCons/Tool/hpc++.py +2 -2
  109. data/lib/libv8/scons/engine/SCons/Tool/hpcc.py +2 -2
  110. data/lib/libv8/scons/engine/SCons/Tool/hplink.py +2 -2
  111. data/lib/libv8/scons/engine/SCons/Tool/icc.py +2 -2
  112. data/lib/libv8/scons/engine/SCons/Tool/icl.py +2 -2
  113. data/lib/libv8/scons/engine/SCons/Tool/ifl.py +2 -2
  114. data/lib/libv8/scons/engine/SCons/Tool/ifort.py +2 -2
  115. data/lib/libv8/scons/engine/SCons/Tool/ilink.py +2 -2
  116. data/lib/libv8/scons/engine/SCons/Tool/ilink32.py +2 -2
  117. data/lib/libv8/scons/engine/SCons/Tool/install.py +57 -3
  118. data/lib/libv8/scons/engine/SCons/Tool/intelc.py +65 -25
  119. data/lib/libv8/scons/engine/SCons/Tool/ipkg.py +2 -2
  120. data/lib/libv8/scons/engine/SCons/Tool/jar.py +9 -3
  121. data/lib/libv8/scons/engine/SCons/Tool/javac.py +2 -2
  122. data/lib/libv8/scons/engine/SCons/Tool/javah.py +2 -2
  123. data/lib/libv8/scons/engine/SCons/Tool/latex.py +3 -2
  124. data/lib/libv8/scons/engine/SCons/Tool/lex.py +2 -2
  125. data/lib/libv8/scons/engine/SCons/Tool/link.py +6 -5
  126. data/lib/libv8/scons/engine/SCons/Tool/linkloc.py +2 -2
  127. data/lib/libv8/scons/engine/SCons/Tool/m4.py +2 -2
  128. data/lib/libv8/scons/engine/SCons/Tool/masm.py +2 -2
  129. data/lib/libv8/scons/engine/SCons/Tool/midl.py +2 -2
  130. data/lib/libv8/scons/engine/SCons/Tool/mingw.py +31 -10
  131. data/lib/libv8/scons/engine/SCons/Tool/mslib.py +2 -2
  132. data/lib/libv8/scons/engine/SCons/Tool/mslink.py +61 -9
  133. data/lib/libv8/scons/engine/SCons/Tool/mssdk.py +2 -2
  134. data/lib/libv8/scons/engine/SCons/Tool/msvc.py +21 -11
  135. data/lib/libv8/scons/engine/SCons/Tool/msvs.py +477 -59
  136. data/lib/libv8/scons/engine/SCons/Tool/mwcc.py +2 -2
  137. data/lib/libv8/scons/engine/SCons/Tool/mwld.py +2 -2
  138. data/lib/libv8/scons/engine/SCons/Tool/nasm.py +2 -2
  139. data/lib/libv8/scons/engine/SCons/Tool/packaging/__init__.py +2 -2
  140. data/lib/libv8/scons/engine/SCons/Tool/packaging/ipk.py +2 -2
  141. data/lib/libv8/scons/engine/SCons/Tool/packaging/msi.py +2 -2
  142. data/lib/libv8/scons/engine/SCons/Tool/packaging/rpm.py +2 -2
  143. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_tarbz2.py +2 -2
  144. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_targz.py +2 -2
  145. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_zip.py +2 -2
  146. data/lib/libv8/scons/engine/SCons/Tool/packaging/tarbz2.py +2 -2
  147. data/lib/libv8/scons/engine/SCons/Tool/packaging/targz.py +2 -2
  148. data/lib/libv8/scons/engine/SCons/Tool/packaging/zip.py +2 -2
  149. data/lib/libv8/scons/engine/SCons/Tool/pdf.py +2 -2
  150. data/lib/libv8/scons/engine/SCons/Tool/pdflatex.py +3 -2
  151. data/lib/libv8/scons/engine/SCons/Tool/pdftex.py +3 -2
  152. data/lib/libv8/scons/engine/SCons/Tool/qt.py +2 -2
  153. data/lib/libv8/scons/engine/SCons/Tool/rmic.py +9 -3
  154. data/lib/libv8/scons/engine/SCons/Tool/rpcgen.py +2 -2
  155. data/lib/libv8/scons/engine/SCons/Tool/rpm.py +2 -2
  156. data/lib/libv8/scons/engine/SCons/Tool/sgiar.py +2 -2
  157. data/lib/libv8/scons/engine/SCons/Tool/sgic++.py +2 -2
  158. data/lib/libv8/scons/engine/SCons/Tool/sgicc.py +2 -2
  159. data/lib/libv8/scons/engine/SCons/Tool/sgilink.py +2 -3
  160. data/lib/libv8/scons/engine/SCons/Tool/sunar.py +2 -2
  161. data/lib/libv8/scons/engine/SCons/Tool/sunc++.py +2 -2
  162. data/lib/libv8/scons/engine/SCons/Tool/suncc.py +2 -2
  163. data/lib/libv8/scons/engine/SCons/Tool/sunf77.py +2 -2
  164. data/lib/libv8/scons/engine/SCons/Tool/sunf90.py +2 -2
  165. data/lib/libv8/scons/engine/SCons/Tool/sunf95.py +2 -2
  166. data/lib/libv8/scons/engine/SCons/Tool/sunlink.py +2 -3
  167. data/lib/libv8/scons/engine/SCons/Tool/swig.py +6 -5
  168. data/lib/libv8/scons/engine/SCons/Tool/tar.py +2 -2
  169. data/lib/libv8/scons/engine/SCons/Tool/tex.py +96 -43
  170. data/lib/libv8/scons/engine/SCons/Tool/textfile.py +2 -2
  171. data/lib/libv8/scons/engine/SCons/Tool/tlib.py +2 -2
  172. data/lib/libv8/scons/engine/SCons/Tool/wix.py +2 -2
  173. data/lib/libv8/scons/engine/SCons/Tool/yacc.py +12 -2
  174. data/lib/libv8/scons/engine/SCons/Tool/zip.py +2 -2
  175. data/lib/libv8/scons/engine/SCons/Util.py +3 -3
  176. data/lib/libv8/scons/engine/SCons/Variables/BoolVariable.py +2 -2
  177. data/lib/libv8/scons/engine/SCons/Variables/EnumVariable.py +3 -3
  178. data/lib/libv8/scons/engine/SCons/Variables/ListVariable.py +2 -2
  179. data/lib/libv8/scons/engine/SCons/Variables/PackageVariable.py +2 -2
  180. data/lib/libv8/scons/engine/SCons/Variables/PathVariable.py +2 -2
  181. data/lib/libv8/scons/engine/SCons/Variables/__init__.py +2 -2
  182. data/lib/libv8/scons/engine/SCons/Warnings.py +2 -2
  183. data/lib/libv8/scons/engine/SCons/__init__.py +6 -6
  184. data/lib/libv8/scons/engine/SCons/compat/__init__.py +2 -2
  185. data/lib/libv8/scons/engine/SCons/compat/_scons_builtins.py +2 -2
  186. data/lib/libv8/scons/engine/SCons/compat/_scons_collections.py +2 -2
  187. data/lib/libv8/scons/engine/SCons/compat/_scons_dbm.py +2 -2
  188. data/lib/libv8/scons/engine/SCons/compat/_scons_hashlib.py +2 -2
  189. data/lib/libv8/scons/engine/SCons/compat/_scons_io.py +2 -2
  190. data/lib/libv8/scons/engine/SCons/cpp.py +2 -2
  191. data/lib/libv8/scons/engine/SCons/dblite.py +4 -1
  192. data/lib/libv8/scons/engine/SCons/exitfuncs.py +2 -2
  193. data/lib/libv8/scons/scons-time.1 +3 -3
  194. data/lib/libv8/scons/scons.1 +1209 -1203
  195. data/lib/libv8/scons/sconsign.1 +3 -3
  196. data/lib/libv8/scons/script/scons +22 -22
  197. data/lib/libv8/scons/script/scons-time +2 -2
  198. data/lib/libv8/scons/script/scons.bat +7 -4
  199. data/lib/libv8/scons/script/sconsign +21 -20
  200. data/lib/libv8/scons/setup.cfg +0 -1
  201. data/lib/libv8/scons/setup.py +38 -40
  202. data/lib/libv8/version.rb +4 -2
  203. data/libv8.gemspec +7 -2
  204. metadata +46 -67
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/sgilink.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/sgilink.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons.Util
37
37
 
@@ -48,7 +48,6 @@ def generate(env):
48
48
 
49
49
  # __RPATH is set to $_RPATH in the platform specification if that
50
50
  # platform supports it.
51
- env.Append(LINKFLAGS=['$__RPATH'])
52
51
  env['RPATHPREFIX'] = '-rpath '
53
52
  env['RPATHSUFFIX'] = ''
54
53
  env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
@@ -10,7 +10,7 @@ selection method.
10
10
  """
11
11
 
12
12
  #
13
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
13
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
14
14
  #
15
15
  # Permission is hereby granted, free of charge, to any person obtaining
16
16
  # a copy of this software and associated documentation files (the
@@ -32,7 +32,7 @@ selection method.
32
32
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33
33
  #
34
34
 
35
- __revision__ = "src/engine/SCons/Tool/sunar.py 5134 2010/08/16 23:02:40 bdeegan"
35
+ __revision__ = "src/engine/SCons/Tool/sunar.py 5357 2011/09/09 21:31:03 bdeegan"
36
36
 
37
37
  import SCons.Defaults
38
38
  import SCons.Tool
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/sunc++.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/sunc++.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons
37
37
 
@@ -8,7 +8,7 @@ selection method.
8
8
  """
9
9
 
10
10
  #
11
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
11
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
12
12
  #
13
13
  # Permission is hereby granted, free of charge, to any person obtaining
14
14
  # a copy of this software and associated documentation files (the
@@ -30,7 +30,7 @@ selection method.
30
30
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
31
  #
32
32
 
33
- __revision__ = "src/engine/SCons/Tool/suncc.py 5134 2010/08/16 23:02:40 bdeegan"
33
+ __revision__ = "src/engine/SCons/Tool/suncc.py 5357 2011/09/09 21:31:03 bdeegan"
34
34
 
35
35
  import SCons.Util
36
36
 
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/sunf77.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/sunf77.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons.Util
37
37
 
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/sunf90.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/sunf90.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons.Util
37
37
 
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/sunf95.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/sunf95.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons.Util
37
37
 
@@ -8,7 +8,7 @@ selection method.
8
8
  """
9
9
 
10
10
  #
11
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
11
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
12
12
  #
13
13
  # Permission is hereby granted, free of charge, to any person obtaining
14
14
  # a copy of this software and associated documentation files (the
@@ -30,7 +30,7 @@ selection method.
30
30
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
31
  #
32
32
 
33
- __revision__ = "src/engine/SCons/Tool/sunlink.py 5134 2010/08/16 23:02:40 bdeegan"
33
+ __revision__ = "src/engine/SCons/Tool/sunlink.py 5357 2011/09/09 21:31:03 bdeegan"
34
34
 
35
35
  import os
36
36
  import os.path
@@ -62,7 +62,6 @@ def generate(env):
62
62
 
63
63
  env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -G')
64
64
 
65
- env.Append(LINKFLAGS=['$__RPATH'])
66
65
  env['RPATHPREFIX'] = '-R'
67
66
  env['RPATHSUFFIX'] = ''
68
67
  env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/swig.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/swig.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import os.path
37
37
  import re
@@ -53,7 +53,8 @@ def swigSuffixEmitter(env, source):
53
53
 
54
54
  # Match '%module test', as well as '%module(directors="1") test'
55
55
  # Also allow for test to be quoted (SWIG permits double quotes, but not single)
56
- _reModule = re.compile(r'%module(\s*\(.*\))?\s+("?)(.+)\2')
56
+ # Also allow for the line to have spaces after test if not quoted
57
+ _reModule = re.compile(r'%module(\s*\(.*\))?\s+("?)(\S+)\2')
57
58
 
58
59
  def _find_modules(src):
59
60
  """Find all modules referenced by %module lines in `src`, a SWIG .i file.
@@ -65,9 +66,9 @@ def _find_modules(src):
65
66
  try:
66
67
  matches = _reModule.findall(open(src).read())
67
68
  except IOError:
68
- # If the file's not yet generated, guess the module name from the filename
69
+ # If the file's not yet generated, guess the module name from the file stem
69
70
  matches = []
70
- mnames.append(os.path.splitext(src)[0])
71
+ mnames.append(os.path.splitext(os.path.basename(src))[0])
71
72
 
72
73
  for m in matches:
73
74
  mnames.append(m[2])
@@ -9,7 +9,7 @@ selection method.
9
9
  """
10
10
 
11
11
  #
12
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
12
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
13
13
  #
14
14
  # Permission is hereby granted, free of charge, to any person obtaining
15
15
  # a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
31
31
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
  #
33
33
 
34
- __revision__ = "src/engine/SCons/Tool/tar.py 5134 2010/08/16 23:02:40 bdeegan"
34
+ __revision__ = "src/engine/SCons/Tool/tar.py 5357 2011/09/09 21:31:03 bdeegan"
35
35
 
36
36
  import SCons.Action
37
37
  import SCons.Builder
@@ -10,7 +10,7 @@ selection method.
10
10
  """
11
11
 
12
12
  #
13
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
13
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
14
14
  #
15
15
  # Permission is hereby granted, free of charge, to any person obtaining
16
16
  # a copy of this software and associated documentation files (the
@@ -32,13 +32,14 @@ selection method.
32
32
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33
33
  #
34
34
 
35
- __revision__ = "src/engine/SCons/Tool/tex.py 5134 2010/08/16 23:02:40 bdeegan"
35
+ __revision__ = "src/engine/SCons/Tool/tex.py 5357 2011/09/09 21:31:03 bdeegan"
36
36
 
37
37
  import os.path
38
38
  import re
39
39
  import shutil
40
40
  import sys
41
41
  import platform
42
+ import glob
42
43
 
43
44
  import SCons.Action
44
45
  import SCons.Node
@@ -84,6 +85,7 @@ auxfile_re = re.compile(r".", re.MULTILINE)
84
85
  tableofcontents_re = re.compile(r"^[^%\n]*\\tableofcontents", re.MULTILINE)
85
86
  makeindex_re = re.compile(r"^[^%\n]*\\makeindex", re.MULTILINE)
86
87
  bibliography_re = re.compile(r"^[^%\n]*\\bibliography", re.MULTILINE)
88
+ bibunit_re = re.compile(r"^[^%\n]*\\begin\{bibunit\}", re.MULTILINE)
87
89
  listoffigures_re = re.compile(r"^[^%\n]*\\listoffigures", re.MULTILINE)
88
90
  listoftables_re = re.compile(r"^[^%\n]*\\listoftables", re.MULTILINE)
89
91
  hyperref_re = re.compile(r"^[^%\n]*\\usepackage.*\{hyperref\}", re.MULTILINE)
@@ -151,7 +153,7 @@ def FindFile(name,suffixes,paths,env,requireExt=False):
151
153
  testName = os.path.join(path,name)
152
154
  if Verbose:
153
155
  print " look for '%s'" % testName
154
- if os.path.exists(testName):
156
+ if os.path.isfile(testName):
155
157
  if Verbose:
156
158
  print " found '%s'" % testName
157
159
  return env.fs.File(testName)
@@ -166,7 +168,7 @@ def FindFile(name,suffixes,paths,env,requireExt=False):
166
168
  if Verbose:
167
169
  print " look for '%s'" % testNameExt
168
170
 
169
- if os.path.exists(testNameExt):
171
+ if os.path.isfile(testNameExt):
170
172
  if Verbose:
171
173
  print " found '%s'" % testNameExt
172
174
  return env.fs.File(testNameExt)
@@ -213,13 +215,13 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
213
215
  # if there is a \makeindex there will be a .idx and thus
214
216
  # we have to run makeindex at least once to keep the build
215
217
  # happy even if there is no index.
216
- # Same for glossaries and nomenclature
218
+ # Same for glossaries, nomenclature, and acronyms
217
219
  src_content = source[0].get_text_contents()
218
- run_makeindex = makeindex_re.search(src_content) and not os.path.exists(targetbase + '.idx')
219
- run_nomenclature = makenomenclature_re.search(src_content) and not os.path.exists(targetbase + '.nlo')
220
- run_glossary = makeglossary_re.search(src_content) and not os.path.exists(targetbase + '.glo')
221
- run_glossaries = makeglossaries_re.search(src_content) and not os.path.exists(targetbase + '.glo')
222
- run_acronyms = makeacronyms_re.search(src_content) and not os.path.exists(targetbase + '.acn')
220
+ run_makeindex = makeindex_re.search(src_content) and not os.path.isfile(targetbase + '.idx')
221
+ run_nomenclature = makenomenclature_re.search(src_content) and not os.path.isfile(targetbase + '.nlo')
222
+ run_glossary = makeglossary_re.search(src_content) and not os.path.isfile(targetbase + '.glo')
223
+ run_glossaries = makeglossaries_re.search(src_content) and not os.path.isfile(targetbase + '.glo')
224
+ run_acronyms = makeacronyms_re.search(src_content) and not os.path.isfile(targetbase + '.acn')
223
225
 
224
226
  saved_hashes = {}
225
227
  suffix_nodes = {}
@@ -272,7 +274,7 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
272
274
  # Read the log file to find warnings/errors
273
275
  logfilename = targetbase + '.log'
274
276
  logContent = ''
275
- if os.path.exists(logfilename):
277
+ if os.path.isfile(logfilename):
276
278
  logContent = open(logfilename, "rb").read()
277
279
 
278
280
 
@@ -280,9 +282,15 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
280
282
  flsfilename = targetbase + '.fls'
281
283
  flsContent = ''
282
284
  auxfiles = []
283
- if os.path.exists(flsfilename):
285
+ if os.path.isfile(flsfilename):
284
286
  flsContent = open(flsfilename, "rb").read()
285
287
  auxfiles = openout_aux_re.findall(flsContent)
288
+ # remove duplicates
289
+ dups = {}
290
+ for x in auxfiles:
291
+ dups[x] = 1
292
+ auxfiles = list(dups.keys())
293
+
286
294
  if Verbose:
287
295
  print "auxfiles ",auxfiles
288
296
 
@@ -294,18 +302,16 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
294
302
  if count == 1:
295
303
  for auxfilename in auxfiles:
296
304
  target_aux = os.path.join(targetdir, auxfilename)
297
- if os.path.exists(target_aux):
305
+ if os.path.isfile(target_aux):
298
306
  content = open(target_aux, "rb").read()
299
307
  if content.find("bibdata") != -1:
300
308
  if Verbose:
301
309
  print "Need to run bibtex"
302
- bibfile = env.fs.File(targetbase)
310
+ bibfile = env.fs.File(SCons.Util.splitext(target_aux)[0])
303
311
  result = BibTeXAction(bibfile, bibfile, env)
304
312
  if result != 0:
305
313
  check_file_error_message(env['BIBTEX'], 'blg')
306
- return result
307
- must_rerun_latex = check_MD5(suffix_nodes['.bbl'],'.bbl')
308
- break
314
+ must_rerun_latex = must_rerun_latex or check_MD5(suffix_nodes['.bbl'],'.bbl')
309
315
 
310
316
  # Now decide if latex will need to be run again due to index.
311
317
  if check_MD5(suffix_nodes['.idx'],'.idx') or (count == 1 and run_makeindex):
@@ -382,8 +388,8 @@ def InternalLaTeXAuxAction(XXXLaTeXAction, target = None, source= None, env=None
382
388
  # end of while loop
383
389
 
384
390
  # rename Latex's output to what the target name is
385
- if not (str(target[0]) == resultfilename and os.path.exists(resultfilename)):
386
- if os.path.exists(resultfilename):
391
+ if not (str(target[0]) == resultfilename and os.path.isfile(resultfilename)):
392
+ if os.path.isfile(resultfilename):
387
393
  print "move %s to %s" % (resultfilename, str(target[0]), )
388
394
  shutil.move(resultfilename,str(target[0]))
389
395
 
@@ -583,7 +589,7 @@ def tex_emitter_core(target, source, env, graphics_extensions):
583
589
  basedir = os.path.split(str(source[0]))[0]
584
590
  abspath = os.path.abspath(basedir)
585
591
  target[0].attributes.path = abspath
586
-
592
+
587
593
  #
588
594
  # file names we will make use of in searching the sources and log file
589
595
  #
@@ -603,16 +609,18 @@ def tex_emitter_core(target, source, env, graphics_extensions):
603
609
 
604
610
  content = source[0].get_text_contents()
605
611
 
606
- idx_exists = os.path.exists(targetbase + '.idx')
607
- nlo_exists = os.path.exists(targetbase + '.nlo')
608
- glo_exists = os.path.exists(targetbase + '.glo')
609
- acr_exists = os.path.exists(targetbase + '.acn')
612
+ # These variables are no longer used.
613
+ #idx_exists = os.path.isfile(targetbase + '.idx')
614
+ #nlo_exists = os.path.isfile(targetbase + '.nlo')
615
+ #glo_exists = os.path.isfile(targetbase + '.glo')
616
+ #acr_exists = os.path.isfile(targetbase + '.acn')
610
617
 
611
618
  # set up list with the regular expressions
612
619
  # we use to find features used
613
620
  file_tests_search = [auxfile_re,
614
621
  makeindex_re,
615
622
  bibliography_re,
623
+ bibunit_re,
616
624
  tableofcontents_re,
617
625
  listoffigures_re,
618
626
  listoftables_re,
@@ -624,18 +632,19 @@ def tex_emitter_core(target, source, env, graphics_extensions):
624
632
  beamer_re ]
625
633
  # set up list with the file suffixes that need emitting
626
634
  # when a feature is found
627
- file_tests_suff = [['.aux'],
628
- ['.idx', '.ind', '.ilg'],
629
- ['.bbl', '.blg'],
630
- ['.toc'],
631
- ['.lof'],
632
- ['.lot'],
633
- ['.out'],
634
- ['.nlo', '.nls', '.nlg'],
635
- ['.glo', '.gls', '.glg'],
636
- ['.glo', '.gls', '.glg'],
637
- ['.acn', '.acr', '.alg'],
638
- ['.nav', '.snm', '.out', '.toc'] ]
635
+ file_tests_suff = [['.aux','aux_file'],
636
+ ['.idx', '.ind', '.ilg','makeindex'],
637
+ ['.bbl', '.blg','bibliography'],
638
+ ['.bbl', '.blg','bibunit'],
639
+ ['.toc','contents'],
640
+ ['.lof','figures'],
641
+ ['.lot','tables'],
642
+ ['.out','hyperref'],
643
+ ['.nlo', '.nls', '.nlg','nomenclature'],
644
+ ['.glo', '.gls', '.glg','glossary'],
645
+ ['.glo', '.gls', '.glg','glossaries'],
646
+ ['.acn', '.acr', '.alg','acronyms'],
647
+ ['.nav', '.snm', '.out', '.toc','beamer'] ]
639
648
  # build the list of lists
640
649
  file_tests = []
641
650
  for i in range(len(file_tests_search)):
@@ -668,12 +677,23 @@ def tex_emitter_core(target, source, env, graphics_extensions):
668
677
  file_tests = ScanFiles(source[0], target, paths, file_tests, file_tests_search, env, graphics_extensions, targetdir, aux_files)
669
678
 
670
679
  for (theSearch,suffix_list) in file_tests:
671
- if theSearch:
672
- for suffix in suffix_list:
673
- env.SideEffect(targetbase + suffix,target[0])
674
- if Verbose:
675
- print "side effect :",targetbase + suffix
676
- env.Clean(target[0],targetbase + suffix)
680
+ # add side effects if feature is present.If file is to be generated,add all side effects
681
+ if (theSearch != None) or (not source[0].exists() ):
682
+ file_list = [targetbase,]
683
+ # for bibunit we need a list of files
684
+ if suffix_list[-1] == 'bibunit':
685
+ file_basename = os.path.join(targetdir, 'bu*.aux')
686
+ file_list = glob.glob(file_basename)
687
+ # remove the suffix '.aux'
688
+ for i in range(len(file_list)):
689
+ file_list[i] = SCons.Util.splitext(file_list[i])[0]
690
+ # now define the side effects
691
+ for file_name in file_list:
692
+ for suffix in suffix_list[:-1]:
693
+ env.SideEffect(file_name + suffix,target[0])
694
+ if Verbose:
695
+ print "side effect :",file_name + suffix
696
+ env.Clean(target[0],file_name + suffix)
677
697
 
678
698
  for aFile in aux_files:
679
699
  aFile_base = SCons.Util.splitext(aFile)[0]
@@ -683,7 +703,7 @@ def tex_emitter_core(target, source, env, graphics_extensions):
683
703
  env.Clean(target[0],aFile_base + '.aux')
684
704
  # read fls file to get all other files that latex creates and will read on the next pass
685
705
  # remove files from list that we explicitly dealt with above
686
- if os.path.exists(flsfilename):
706
+ if os.path.isfile(flsfilename):
687
707
  content = open(flsfilename, "rb").read()
688
708
  out_files = openout_re.findall(content)
689
709
  myfiles = [auxfilename, logfilename, flsfilename, targetbase+'.dvi',targetbase+'.pdf']
@@ -719,9 +739,28 @@ def generate(env):
719
739
  bld.add_action('.tex', TeXLaTeXAction)
720
740
  bld.add_emitter('.tex', tex_eps_emitter)
721
741
 
742
+ def generate_darwin(env):
743
+ try:
744
+ environ = env['ENV']
745
+ except KeyError:
746
+ environ = {}
747
+ env['ENV'] = environ
748
+
749
+ if (platform.system() == 'Darwin'):
750
+ try:
751
+ ospath = env['ENV']['PATHOSX']
752
+ except:
753
+ ospath = None
754
+ if ospath:
755
+ env.AppendENVPath('PATH', ospath)
756
+
722
757
  def generate_common(env):
723
758
  """Add internal Builders and construction variables for LaTeX to an Environment."""
724
759
 
760
+ # Add OSX system paths so TeX tools can be found
761
+ # when a list of tools is given the exists() method is not called
762
+ generate_darwin(env)
763
+
725
764
  # A generic tex file Action, sufficient for all tex files.
726
765
  global TeXAction
727
766
  if TeXAction is None:
@@ -758,6 +797,19 @@ def generate_common(env):
758
797
  if MakeAcronymsAction is None:
759
798
  MakeAcronymsAction = SCons.Action.Action("$MAKEACRONYMSCOM", "$MAKEACRONYMSCOMSTR")
760
799
 
800
+ try:
801
+ environ = env['ENV']
802
+ except KeyError:
803
+ environ = {}
804
+ env['ENV'] = environ
805
+
806
+ # Some Linux platforms have pdflatex set up in a way
807
+ # that requires that the HOME environment variable be set.
808
+ # Add it here if defined.
809
+ v = os.environ.get('HOME')
810
+ if v:
811
+ environ['HOME'] = v
812
+
761
813
  CDCOM = 'cd '
762
814
  if platform.system() == 'Windows':
763
815
  # allow cd command to change drives on Windows
@@ -804,6 +856,7 @@ def generate_common(env):
804
856
  env['MAKENCLCOM'] = CDCOM + '${TARGET.dir} && $MAKENCL ${SOURCE.filebase}.nlo $MAKENCLFLAGS -o ${SOURCE.filebase}.nls'
805
857
 
806
858
  def exists(env):
859
+ generate_darwin(env)
807
860
  return env.Detect('tex')
808
861
 
809
862
  # Local Variables: