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
@@ -8,7 +8,7 @@ Coded by Andy Friesen
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 @@ Coded by Andy Friesen
30
30
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
31
  #
32
32
 
33
- __revision__ = "src/engine/SCons/Scanner/D.py 5134 2010/08/16 23:02:40 bdeegan"
33
+ __revision__ = "src/engine/SCons/Scanner/D.py 5357 2011/09/09 21:31:03 bdeegan"
34
34
 
35
35
  import re
36
36
 
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
2
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -20,7 +20,7 @@
20
20
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
 
23
- __revision__ = "src/engine/SCons/Scanner/Dir.py 5134 2010/08/16 23:02:40 bdeegan"
23
+ __revision__ = "src/engine/SCons/Scanner/Dir.py 5357 2011/09/09 21:31:03 bdeegan"
24
24
 
25
25
  import SCons.Node.FS
26
26
  import SCons.Scanner
@@ -5,7 +5,7 @@ This module implements the dependency scanner for Fortran code.
5
5
  """
6
6
 
7
7
  #
8
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
8
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
9
9
  #
10
10
  # Permission is hereby granted, free of charge, to any person obtaining
11
11
  # a copy of this software and associated documentation files (the
@@ -26,7 +26,7 @@ This module implements the dependency scanner for Fortran code.
26
26
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27
27
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
28
 
29
- __revision__ = "src/engine/SCons/Scanner/Fortran.py 5134 2010/08/16 23:02:40 bdeegan"
29
+ __revision__ = "src/engine/SCons/Scanner/Fortran.py 5357 2011/09/09 21:31:03 bdeegan"
30
30
 
31
31
  import re
32
32
 
@@ -6,7 +6,7 @@ Definition Language) files.
6
6
  """
7
7
 
8
8
  #
9
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
9
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
10
10
  #
11
11
  # Permission is hereby granted, free of charge, to any person obtaining
12
12
  # a copy of this software and associated documentation files (the
@@ -28,7 +28,7 @@ Definition Language) files.
28
28
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
29
  #
30
30
 
31
- __revision__ = "src/engine/SCons/Scanner/IDL.py 5134 2010/08/16 23:02:40 bdeegan"
31
+ __revision__ = "src/engine/SCons/Scanner/IDL.py 5357 2011/09/09 21:31:03 bdeegan"
32
32
 
33
33
  import SCons.Node.FS
34
34
  import SCons.Scanner
@@ -5,7 +5,7 @@ This module implements the dependency scanner for LaTeX code.
5
5
  """
6
6
 
7
7
  #
8
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
8
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
9
9
  #
10
10
  # Permission is hereby granted, free of charge, to any person obtaining
11
11
  # a copy of this software and associated documentation files (the
@@ -27,7 +27,7 @@ This module implements the dependency scanner for LaTeX code.
27
27
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
28
  #
29
29
 
30
- __revision__ = "src/engine/SCons/Scanner/LaTeX.py 5134 2010/08/16 23:02:40 bdeegan"
30
+ __revision__ = "src/engine/SCons/Scanner/LaTeX.py 5357 2011/09/09 21:31:03 bdeegan"
31
31
 
32
32
  import os.path
33
33
  import re
@@ -148,6 +148,8 @@ class LaTeX(SCons.Scanner.Base):
148
148
  env['TEXINPUTS'] for "lstinputlisting" keyword
149
149
  env['BIBINPUTS'] for "bibliography" keyword
150
150
  env['BSTINPUTS'] for "bibliographystyle" keyword
151
+ env['INDEXSTYLE'] for "makeindex" keyword, no scanning support needed
152
+ just allows user to set it if needed.
151
153
 
152
154
  FIXME: also look for the class or style in document[class|style]{}
153
155
  FIXME: also look for the argument of bibliographystyle{}
@@ -157,6 +159,7 @@ class LaTeX(SCons.Scanner.Base):
157
159
  'includegraphics': 'TEXINPUTS',
158
160
  'bibliography': 'BIBINPUTS',
159
161
  'bibliographystyle': 'BSTINPUTS',
162
+ 'makeindex': 'INDEXSTYLE',
160
163
  'usepackage': 'TEXINPUTS',
161
164
  'lstinputlisting': 'TEXINPUTS'}
162
165
  env_variables = SCons.Util.unique(list(keyword_paths.values()))
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
2
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -21,7 +21,7 @@
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #
23
23
 
24
- __revision__ = "src/engine/SCons/Scanner/Prog.py 5134 2010/08/16 23:02:40 bdeegan"
24
+ __revision__ = "src/engine/SCons/Scanner/Prog.py 5357 2011/09/09 21:31:03 bdeegan"
25
25
 
26
26
  import SCons.Node
27
27
  import SCons.Node.FS
@@ -6,7 +6,7 @@ Definition Language) files.
6
6
  """
7
7
 
8
8
  #
9
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
9
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
10
10
  #
11
11
  # Permission is hereby granted, free of charge, to any person obtaining
12
12
  # a copy of this software and associated documentation files (the
@@ -28,7 +28,7 @@ Definition Language) files.
28
28
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
29
  #
30
30
 
31
- __revision__ = "src/engine/SCons/Scanner/RC.py 5134 2010/08/16 23:02:40 bdeegan"
31
+ __revision__ = "src/engine/SCons/Scanner/RC.py 5357 2011/09/09 21:31:03 bdeegan"
32
32
 
33
33
  import SCons.Node.FS
34
34
  import SCons.Scanner
@@ -40,7 +40,7 @@ def RCScan():
40
40
  res_re= r'^(?:\s*#\s*(?:include)|' \
41
41
  '.*?\s+(?:ICON|BITMAP|CURSOR|HTML|FONT|MESSAGETABLE|TYPELIB|REGISTRY|D3DFX)' \
42
42
  '\s*.*?)' \
43
- '\s*(<|"| )([^>"\s]+)(?:[>" ])*$'
43
+ '\s*(<|"| )([^>"\s]+)(?:[>"\s])*$'
44
44
  resScanner = SCons.Scanner.ClassicCPP( "ResourceScanner",
45
45
  "$RCSUFFIXES",
46
46
  "CPPPATH",
@@ -5,7 +5,7 @@ The Scanner package for the SCons software construction utility.
5
5
  """
6
6
 
7
7
  #
8
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
8
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
9
9
  #
10
10
  # Permission is hereby granted, free of charge, to any person obtaining
11
11
  # a copy of this software and associated documentation files (the
@@ -27,7 +27,7 @@ The Scanner package for the SCons software construction utility.
27
27
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
28
  #
29
29
 
30
- __revision__ = "src/engine/SCons/Scanner/__init__.py 5134 2010/08/16 23:02:40 bdeegan"
30
+ __revision__ = "src/engine/SCons/Scanner/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
31
31
 
32
32
  import re
33
33
 
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
2
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -20,7 +20,7 @@
20
20
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
 
23
- __revision__ = "src/engine/SCons/Script/Interactive.py 5134 2010/08/16 23:02:40 bdeegan"
23
+ __revision__ = "src/engine/SCons/Script/Interactive.py 5357 2011/09/09 21:31:03 bdeegan"
24
24
 
25
25
  __doc__ = """
26
26
  SCons interactive mode
@@ -13,7 +13,7 @@ it goes here.
13
13
  unsupported_python_version = (2, 3, 0)
14
14
  deprecated_python_version = (2, 4, 0)
15
15
 
16
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
16
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
17
17
  #
18
18
  # Permission is hereby granted, free of charge, to any person obtaining
19
19
  # a copy of this software and associated documentation files (the
@@ -34,7 +34,7 @@ deprecated_python_version = (2, 4, 0)
34
34
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
35
35
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
36
36
 
37
- __revision__ = "src/engine/SCons/Script/Main.py 5134 2010/08/16 23:02:40 bdeegan"
37
+ __revision__ = "src/engine/SCons/Script/Main.py 5357 2011/09/09 21:31:03 bdeegan"
38
38
 
39
39
  import SCons.compat
40
40
 
@@ -60,6 +60,7 @@ import SCons.Errors
60
60
  import SCons.Job
61
61
  import SCons.Node
62
62
  import SCons.Node.FS
63
+ import SCons.Platform
63
64
  import SCons.SConf
64
65
  import SCons.Script
65
66
  import SCons.Taskmaster
@@ -653,6 +654,10 @@ def _set_debug_values(options):
653
654
  print_time = 1
654
655
  if "tree" in debug_values:
655
656
  options.tree_printers.append(TreePrinter())
657
+ if "prepare" in debug_values:
658
+ SCons.Taskmaster.print_prepare = 1
659
+ if "duplicate" in debug_values:
660
+ SCons.Node.FS.print_duplicate = 1
656
661
 
657
662
  def _create_path(plist):
658
663
  path = '.'
@@ -665,15 +670,15 @@ def _create_path(plist):
665
670
 
666
671
  def _load_site_scons_dir(topdir, site_dir_name=None):
667
672
  """Load the site_scons dir under topdir.
668
- Adds site_scons to sys.path, imports site_scons/site_init.py,
669
- and adds site_scons/site_tools to default toolpath."""
673
+ Prepends site_scons to sys.path, imports site_scons/site_init.py,
674
+ and prepends site_scons/site_tools to default toolpath."""
670
675
  if site_dir_name:
671
676
  err_if_not_found = True # user specified: err if missing
672
677
  else:
673
678
  site_dir_name = "site_scons"
674
679
  err_if_not_found = False
675
680
 
676
- site_dir = os.path.join(topdir.path, site_dir_name)
681
+ site_dir = os.path.join(topdir, site_dir_name)
677
682
  if not os.path.exists(site_dir):
678
683
  if err_if_not_found:
679
684
  raise SCons.Errors.UserError("site dir %s not found."%site_dir)
@@ -682,11 +687,12 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
682
687
  site_init_filename = "site_init.py"
683
688
  site_init_modname = "site_init"
684
689
  site_tools_dirname = "site_tools"
690
+ # prepend to sys.path
685
691
  sys.path = [os.path.abspath(site_dir)] + sys.path
686
692
  site_init_file = os.path.join(site_dir, site_init_filename)
687
693
  site_tools_dir = os.path.join(site_dir, site_tools_dirname)
688
694
  if os.path.exists(site_init_file):
689
- import imp
695
+ import imp, re
690
696
  # TODO(2.4): turn this into try:-except:-finally:
691
697
  try:
692
698
  try:
@@ -705,14 +711,26 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
705
711
  fmt = 'cannot import site_init.py: missing SCons.Script module %s'
706
712
  raise SCons.Errors.InternalError(fmt % repr(e))
707
713
  try:
714
+ sfx = description[0]
715
+ modname = os.path.basename(pathname)[:-len(sfx)]
716
+ site_m = {"__file__": pathname, "__name__": modname, "__doc__": None}
717
+ re_special = re.compile("__[^_]+__")
718
+ for k in m.__dict__.keys():
719
+ if not re_special.match(k):
720
+ site_m[k] = m.__dict__[k]
721
+
708
722
  # This is the magic.
709
- exec fp in m.__dict__
723
+ exec fp in site_m
710
724
  except KeyboardInterrupt:
711
725
  raise
712
726
  except Exception, e:
713
727
  fmt = '*** Error loading site_init file %s:\n'
714
728
  sys.stderr.write(fmt % repr(site_init_file))
715
729
  raise
730
+ else:
731
+ for k in site_m:
732
+ if not re_special.match(k):
733
+ m.__dict__[k] = site_m[k]
716
734
  except KeyboardInterrupt:
717
735
  raise
718
736
  except ImportError, e:
@@ -723,7 +741,55 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
723
741
  if fp:
724
742
  fp.close()
725
743
  if os.path.exists(site_tools_dir):
726
- SCons.Tool.DefaultToolpath.append(os.path.abspath(site_tools_dir))
744
+ # prepend to DefaultToolpath
745
+ SCons.Tool.DefaultToolpath.insert(0, os.path.abspath(site_tools_dir))
746
+
747
+ def _load_all_site_scons_dirs(topdir, verbose=None):
748
+ """Load all of the predefined site_scons dir.
749
+ Order is significant; we load them in order from most generic
750
+ (machine-wide) to most specific (topdir).
751
+ The verbose argument is only for testing.
752
+ """
753
+ platform = SCons.Platform.platform_default()
754
+
755
+ def homedir(d):
756
+ return os.path.expanduser('~/'+d)
757
+
758
+ if platform == 'win32' or platform == 'cygwin':
759
+ # Note we use $ here instead of %...% because older
760
+ # pythons (prior to 2.6?) didn't expand %...% on Windows.
761
+ # This set of dirs should work on XP, Vista, 7 and later.
762
+ sysdirs=[
763
+ os.path.expandvars('$ALLUSERSPROFILE\\Application Data\\scons'),
764
+ os.path.expandvars('$USERPROFILE\\Local Settings\\Application Data\\scons')]
765
+ appdatadir = os.path.expandvars('$APPDATA\\scons')
766
+ if appdatadir not in sysdirs:
767
+ sysdirs.append(appdatadir)
768
+ sysdirs.append(homedir('.scons'))
769
+
770
+ elif platform == 'darwin': # MacOS X
771
+ sysdirs=['/Library/Application Support/SCons',
772
+ '/opt/local/share/scons', # (for MacPorts)
773
+ '/sw/share/scons', # (for Fink)
774
+ homedir('Library/Application Support/SCons'),
775
+ homedir('.scons')]
776
+ elif platform == 'sunos': # Solaris
777
+ sysdirs=['/opt/sfw/scons',
778
+ '/usr/share/scons',
779
+ homedir('.scons')]
780
+ else: # Linux, HPUX, etc.
781
+ # assume posix-like, i.e. platform == 'posix'
782
+ sysdirs=['/usr/share/scons',
783
+ homedir('.scons')]
784
+
785
+ dirs=sysdirs + [topdir]
786
+ for d in dirs:
787
+ if verbose: # this is used by unit tests.
788
+ print "Loading site dir ", d
789
+ _load_site_scons_dir(d)
790
+
791
+ def test_load_all_site_scons_dirs(d):
792
+ _load_all_site_scons_dirs(d, True)
727
793
 
728
794
  def version_string(label, module):
729
795
  version = module.__version__
@@ -739,6 +805,10 @@ def version_string(label, module):
739
805
  module.__developer__,
740
806
  module.__buildsys__)
741
807
 
808
+ def path_string(label, module):
809
+ path = module.__path__
810
+ return "\t%s path: %s\n"%(label,path)
811
+
742
812
  def _main(parser):
743
813
  global exit_status
744
814
  global this_build_status
@@ -860,9 +930,9 @@ def _main(parser):
860
930
  progress_display.set_mode(0)
861
931
 
862
932
  if options.site_dir:
863
- _load_site_scons_dir(d, options.site_dir)
933
+ _load_site_scons_dir(d.path, options.site_dir)
864
934
  elif not options.no_site_dir:
865
- _load_site_scons_dir(d)
935
+ _load_all_site_scons_dirs(d.path)
866
936
 
867
937
  if options.include_dir:
868
938
  sys.path = options.include_dir + sys.path
@@ -1258,7 +1328,8 @@ def main():
1258
1328
  # __main__.__version__, hence there is no script version.
1259
1329
  pass
1260
1330
  parts.append(version_string("engine", SCons))
1261
- parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation")
1331
+ parts.append(path_string("engine", SCons))
1332
+ parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation")
1262
1333
  version = ''.join(parts)
1263
1334
 
1264
1335
  import SConsOptions
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
2
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -21,7 +21,7 @@
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #
23
23
 
24
- __revision__ = "src/engine/SCons/Script/SConsOptions.py 5134 2010/08/16 23:02:40 bdeegan"
24
+ __revision__ = "src/engine/SCons/Script/SConsOptions.py 5357 2011/09/09 21:31:03 bdeegan"
25
25
 
26
26
  import optparse
27
27
  import re
@@ -596,9 +596,9 @@ def Parser(version):
596
596
  "tree" : '; please use --tree=all instead',
597
597
  }
598
598
 
599
- debug_options = ["count", "explain", "findlibs",
599
+ debug_options = ["count", "duplicate", "explain", "findlibs",
600
600
  "includes", "memoizer", "memory", "objects",
601
- "pdb", "presub", "stacktrace",
601
+ "pdb", "prepare", "presub", "stacktrace",
602
602
  "time"] + list(deprecated_debug_options.keys())
603
603
 
604
604
  def opt_debug(option, opt, value, parser,
@@ -867,7 +867,7 @@ def Parser(version):
867
867
  sys.stderr.write(msg)
868
868
 
869
869
  op.add_option('-l', '--load-average', '--max-load',
870
- nargs=1, type="int",
870
+ nargs=1, type="float",
871
871
  dest="load_average", default=0,
872
872
  action="callback", callback=opt_not_yet,
873
873
  # action="store",
@@ -6,7 +6,7 @@ files.
6
6
  """
7
7
 
8
8
  #
9
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
9
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
10
10
  #
11
11
  # Permission is hereby granted, free of charge, to any person obtaining
12
12
  # a copy of this software and associated documentation files (the
@@ -28,7 +28,7 @@ files.
28
28
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
29
  from __future__ import division
30
30
 
31
- __revision__ = "src/engine/SCons/Script/SConscript.py 5134 2010/08/16 23:02:40 bdeegan"
31
+ __revision__ = "src/engine/SCons/Script/SConscript.py 5357 2011/09/09 21:31:03 bdeegan"
32
32
 
33
33
  import SCons
34
34
  import SCons.Action
@@ -12,7 +12,7 @@ it goes here.
12
12
  """
13
13
 
14
14
  #
15
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
15
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
16
16
  #
17
17
  # Permission is hereby granted, free of charge, to any person obtaining
18
18
  # a copy of this software and associated documentation files (the
@@ -34,7 +34,7 @@ it goes here.
34
34
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
35
  #
36
36
 
37
- __revision__ = "src/engine/SCons/Script/__init__.py 5134 2010/08/16 23:02:40 bdeegan"
37
+ __revision__ = "src/engine/SCons/Script/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
38
38
 
39
39
  import time
40
40
  start_time = time.time()
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
2
+ # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -21,7 +21,7 @@
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #
23
23
 
24
- __revision__ = "src/engine/SCons/Sig.py 5134 2010/08/16 23:02:40 bdeegan"
24
+ __revision__ = "src/engine/SCons/Sig.py 5357 2011/09/09 21:31:03 bdeegan"
25
25
 
26
26
  __doc__ = """Place-holder for the old SCons.Sig module hierarchy
27
27