libv8 3.3.10.2 → 3.3.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: