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
data/.gitignore CHANGED
@@ -6,3 +6,4 @@ Gemfile.lock
6
6
  pkg/*
7
7
  tmp/*
8
8
  lib/libv8/build/*
9
+ lib/libv8/VERSION
data/README.md CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  ##libv8
3
2
 
4
3
  A gem for distributing the v8 runtime libraries and headers in both source and binary form.
@@ -16,10 +15,13 @@ machine receiving the gem. It also opens the door for supporting Windows.
16
15
  That depends on your platform. Right now, we support the following platforms.
17
16
 
18
17
  * x86_64-darwin10.7.0
18
+ * x86_64-linux
19
+ * x86-linux
19
20
 
21
+ > **Note**: Gentoo amd64 users may need to tweak their environment. see [issue 8](/fractaloop/libv8/issues/8)
20
22
 
21
23
  If you don't see your platform on this list, first, make sure that it installs from source, and second
22
- talk to us about seeting up a binary distro for you.
24
+ talk to us about setting up a binary distro for you.
23
25
 
24
26
 
25
27
  ### What if I can't install from source?
@@ -27,7 +29,14 @@ talk to us about seeting up a binary distro for you.
27
29
 
28
30
  If you can fix the [Makefile](https://github.com/fractaloop/libv8/blob/master/lib/libv8/Makefile) so that it correctly compiles for your platform, we'll pull it right in!
29
31
 
30
- {FIXME: Add instructions about how to compile v8 for your platform}
32
+ To get the source, these commands will get you started:
33
+
34
+ git clone git@github.com:fractaloop/libv8
35
+ cd libv8
36
+ git submodule update --init
37
+ bundle install
38
+ bundle exec rake compile
39
+
31
40
 
32
41
  ### About
33
42
 
@@ -37,8 +46,27 @@ reliably to all the different platforms proved to be a challenge to say the leas
37
46
 
38
47
  We got tired of waiting 5 minutes for v8 to compile every time we installed that gem.
39
48
 
40
- ### Develop
49
+ ### License
50
+
51
+ (The MIT License)
52
+
53
+ Copyright (c) 2009,2010 Logan Lowell
54
+
55
+ Permission is hereby granted, free of charge, to any person obtaining
56
+ a copy of this software and associated documentation files (the
57
+ 'Software'), to deal in the Software without restriction, including
58
+ without limitation the rights to use, copy, modify, merge, publish,
59
+ distribute, sublicense, and/or sell copies of the Software, and to
60
+ permit persons to whom the Software is furnished to do so, subject to
61
+ the following conditions:
62
+
63
+ The above copyright notice and this permission notice shall be
64
+ included in all copies or substantial portions of the Software.
41
65
 
42
- git clone git@github.com:fractaloop/v8
43
- git submodule update --init
44
- bundle exec rake compile
66
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
67
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
68
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
69
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
70
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
71
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
72
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,8 +1,17 @@
1
+ # This is a sanity check to enforce that the v8 submodule is initialized
2
+ # before we try to run any rake tasks.
3
+ if !File.exist? File.join('lib', 'libv8', 'v8', 'SConstruct') then
4
+ puts "V8 source appears to be missing. Updating..."
5
+ `git submodule update --init`
6
+ end
7
+
8
+ # Now we include the bundler stuff...
9
+ # We had to do the fetch first since our version code requires that we have
10
+ # the V8 source
11
+
1
12
  require 'bundler'
2
13
  require 'bundler/setup'
3
14
 
4
- # require "rake/extensiontask"
5
-
6
15
  Bundler::GemHelper.install_tasks
7
16
 
8
17
  # desc "remove all generated artifacts except built v8 objects"
@@ -22,39 +31,69 @@ Bundler::GemHelper.install_tasks
22
31
  # ext.lib_dir = "lib/libv8"
23
32
  # end
24
33
 
25
- desc "Get the latest source"
26
- task "fetch" do
27
- puts "Fetching latest from github..."
28
- if File.exist? File.join('lib', 'libv8', 'v8') then
29
- Dir.chdir(File.join('lib', 'libv8', 'v8')) do
30
- `git fetch`
31
- `git checkout tags/#{`git tag`.split.last}`
32
- end
33
- else
34
- `git clone https://github.com/v8/v8.git lib/libv8/v8`
35
- Dir.chdir(File.join('lib', 'libv8', 'v8')) do
36
- `git checkout tags/#{`git tag`.split.last}`
37
- end
34
+ latest_v8 = nil
35
+ Dir.chdir(File.join('lib', 'libv8', 'v8')) do
36
+ latest_v8 = `git tag`.split.map{|v| Gem::Version.new(v)}.sort.last.to_s
37
+ end
38
+
39
+ desc "Check out a version of V8"
40
+ task :checkout, :version do |t, options|
41
+ options.with_defaults(:version => latest_v8)
42
+ Dir.chdir(File.join('lib', 'libv8', 'v8')) do
43
+ `git fetch`
44
+ # We're checking out the latest tag. Sorted using Gem::Version
45
+ versions = `git tag`.split.map{|v| Gem::Version.new(v)}.sort
46
+ fail "Version #{options.version} does not exist! Aborting..." if !versions.member?(Gem::Version.new(options.version))
47
+ puts "Checking out version #{options.version}"
48
+ `git checkout -f tags/#{options.version}`
49
+ File.open(File.join(File.dirname(__FILE__), 'lib', 'libv8', 'VERSION'), 'w') { |f| f.write options.version.to_s }
38
50
  end
39
51
  end
40
52
 
41
53
  desc "Compile the V8 JavaScript engine"
42
- task "compile" do
43
- puts "Compiling V8..."
54
+ task :compile, [:version] do |t, options|
55
+ options.with_defaults(:version => latest_v8)
56
+
57
+ begin
58
+ def crash(str)
59
+ printf("Unable to build libv8: %s\n", str)
60
+ exit 1
61
+ end
62
+
63
+ print "Checking for Python..."
64
+ version = `python --version 2>&1`
65
+ version_number = version.split.last.match("[0-9.]+")[0]
66
+ crash "Python not found!" if version.split.first != "Python"
67
+ crash "Python 3.x is unsupported by V8!" if
68
+ Gem::Version.new(version_number) >=
69
+ Gem::Version.new(3)
70
+ crash "Python 2.4+ is required by V8!" if Gem::Version.new(version_number) < Gem::Version.new("2.4")
71
+ puts version_number
72
+ end
73
+
74
+ puts "Compiling V8 (#{options.version})..."
75
+ Rake::Task[:checkout].invoke(options.version)
44
76
  Dir.chdir(File.join('lib', 'libv8')) do
45
77
  `make`
46
78
  end
47
79
  end
48
80
 
49
81
  desc "Clean up from the build"
50
- task "clean" do
82
+ task :clean do |t, options|
51
83
  Dir.chdir(File.join('lib', 'libv8')) do
52
84
  `make clean`
53
85
  end
54
86
  end
55
87
 
88
+ desc "List all versions of V8"
89
+ task :list do
90
+ Dir.chdir(File.join('lib', 'libv8', 'v8')) do
91
+ puts `git tag`.split.map{|v| Gem::Version.new(v)}.sort
92
+ end
93
+ end
94
+
56
95
  desc "Create a binary gem for this current platform"
57
- task "binary" => "compile" do
96
+ task :binary, [:version] => [:compile] do |t, options|
58
97
  gemspec = eval(File.read('libv8.gemspec'))
59
98
  gemspec.extensions.clear
60
99
  gemspec.platform = Gem::Platform.new(RUBY_PLATFORM)
@@ -70,4 +109,6 @@ task "binary" => "compile" do
70
109
  gemspec.files << "lib/libv8/build/v8/libv8preparser.a"
71
110
  FileUtils.mkdir_p 'pkg'
72
111
  FileUtils.mv(Gem::Builder.new(gemspec).build, 'pkg')
73
- end
112
+ end
113
+
114
+ task :default => :binary
@@ -1,6 +1,21 @@
1
1
  require 'mkmf'
2
2
  require 'pathname'
3
3
 
4
+ begin
5
+ def crash(str)
6
+ printf("Unable to build libv8: %s\n", str)
7
+ exit 1
8
+ end
9
+
10
+ print "Checking for Python..."
11
+ version = `python --version 2>&1`
12
+ crash "Python not found!" if version.split.first != "Python"
13
+ crash "Python 3.x is unsupported by V8!" if Gem::Version.new(version.split.last) >= Gem::Version.new(3)
14
+ crash "Python 2.4+ is required by V8!" if Gem::Version.new(version.split.last) < Gem::Version.new("2.4")
15
+ puts version.split.last
16
+ end
17
+
18
+
4
19
  Dir.chdir(Pathname(__FILE__).dirname.join('..', '..', 'lib', 'libv8')) do
5
20
  puts "Compiling V8..."
6
21
  `make`
@@ -5,6 +5,204 @@
5
5
  Change Log
6
6
 
7
7
 
8
+ RELEASE 2.1.0 - Mon, 09 Sep 2011 20:54:57 -0700
9
+
10
+ From Anton Lazarev:
11
+ - Fix Windows resource compiler scanner to accept DOS line endings.
12
+
13
+ From Matthias:
14
+ - Update MSVS documents to remove note indicating that only one
15
+ project is currently supported per solution file.
16
+
17
+ From Grzegorz Bizoń:
18
+ - Fix long compile lines in batch mode by using TEMPFILE
19
+ - Fix MSVC_BATCH=False (was treating it as true)
20
+
21
+ From Justin Gullingsrud:
22
+ - support -std=c++0x and related CXXFLAGS in pkgconfig (ParseFlags)
23
+
24
+ From Vincent Beffara:
25
+ - Support -dylib_file in pkgconfig (ParseFlags)
26
+
27
+ From Gary Oberbrunner and Sohail Somani:
28
+ - new construction variable WINDOWS_EMBED_MANIFEST to automatically
29
+ embed manifests in Windows EXEs and DLLs.
30
+
31
+ From Gary Oberbrunner:
32
+ - Fix Visual Studio project generation when CPPPATH contains Dir nodes
33
+ - Ensure Visual Studio project is regenerated when CPPPATH or CPPDEFINES change
34
+ - Fix unicode error when using non-ASCII filenames with Copy or Install
35
+ - Put RPATH in LINKCOM rather than LINKFLAGS so resetting
36
+ LINKFLAGS doesn't kill RPATH
37
+ - Fix precompiled headers on Windows when variant dir name has spaces.
38
+ - Adding None to an Action no longer fails (just returns original action)
39
+ - New --debug=prepare option to show each target as it's being
40
+ prepared, whether or not anything needs to be done for it.
41
+ - New debug option --debug=duplicate to print a line for each
42
+ unlink/relink (or copy) of a variant file from its source file.
43
+ - Improve error message for EnumVariables to show legal values.
44
+ - Fix Intel compiler to sort versions >9 correctly (esp. on Linux)
45
+ - Fix Install() when the source and target are directories and the
46
+ target directory exists.
47
+
48
+ From David Garcia Garzon:
49
+ - Fix Delete to be able to delete broken symlinks and dir
50
+ symlinks.
51
+
52
+ From Robert Lehr:
53
+ - Handle .output file generated by bison/yacc properly. Cleaning it
54
+ when necessary.
55
+
56
+ From Antoine Dechaume:
57
+ - Handle SWIG file where there is whitespace after the module name
58
+ properly. Previously the generated files would include
59
+ the whitespace.
60
+
61
+ From Dmitry R.:
62
+ - Handle Environment in case __semi_deepcopy is None
63
+
64
+ From Benoit Belley:
65
+
66
+ - Much improved support for Windows UNC paths (\\SERVERNAME).
67
+
68
+ From Jean-Baptiste Lab:
69
+
70
+ - Fix problems with appending CPPDEFINES that contain
71
+ dictionaries, and related issues with Parse/MergeFlags and
72
+ CPPDEFINES.
73
+
74
+ From Allen Weeks:
75
+
76
+ - Fix for an issue with implicit-cache with multiple targets
77
+ when dependencies are removed on disk.
78
+
79
+ From Evgeny Podjachev and Alexey Petruchick:
80
+
81
+ - Support generation of Microsoft Visual Studio 2008 (9.0)
82
+ and 2010 (10.0) project and solution files.
83
+
84
+ From Ken Deeter:
85
+
86
+ - Fix a problem when FS Entries which are actually Dirs have builders.
87
+
88
+ From Luca Falavigna:
89
+
90
+ - Support Fortran 03
91
+
92
+ From Gary Oberbrunner:
93
+
94
+ - Print the path to the SCons package in scons --version
95
+
96
+ From Jean-Fran�ois Colson:
97
+
98
+ - Improve Microsoft Visual Studio Solution generation, and fix
99
+ various errors in the generated solutions especially when using
100
+ MSVS_SCC_PROVIDER, and when generating multiple projects. The
101
+ construction variable MSVS_SCC_PROJECT_BASE_PATH, which never
102
+ worked properly, is removed. Users can use the new variable
103
+ MSVS_SCC_CONNECTION_ROOT instead if desired.
104
+
105
+ From Anatoly Techtonik:
106
+
107
+ - Use subprocess in bootstrap.py instead of os.execve to avoid
108
+ losing output control on Windows (http://bugs.python.org/issue9148)
109
+
110
+ - Revert patch for adding SCons to App Paths, because standard cmd
111
+ shell doesn't search there. This is confusing, because `scons` can
112
+ be executed from explorer, but fail to start from console.
113
+
114
+ - Fix broken installation with easy_install on Windows (issue #2051)
115
+ SCons traditionally installed in a way that allowed to run multiple
116
+ versions side by side. This custom logic was incompatible with
117
+ easy_install way of doing things.
118
+
119
+ - Use epydoc module for generating API docs in HTML if command line
120
+ utility is not found in PATH. Actual for Windows.
121
+
122
+ From Alexander Goomenyuk:
123
+
124
+ - Add .sx to assembly source scanner list so .sx files
125
+ get their header file dependencies detected.
126
+
127
+ From Arve Knudsen:
128
+
129
+ - Set module metadata when loading site_scons/site_init.py
130
+ so it is treated as a proper module; __doc__, __file__ and
131
+ __name__ now refer to the site_init.py file.
132
+
133
+ From Russel Winder:
134
+
135
+ - Users Guide updates explaining that Tools can be packages as
136
+ well as python modules.
137
+
138
+ From Gary Oberbrunner:
139
+
140
+ - New systemwide and per-user site_scons dirs.
141
+
142
+ From Dirk Baechle:
143
+
144
+ - XML fixes in User's Guide.
145
+ - Fixed the detection of 'jar' and 'rmic' during
146
+ the initialization of the respective Tools (#2730).
147
+ - Improved docs for custom Decider functions and
148
+ custom Scanner objects (#2711, #2713).
149
+ - Corrected SWIG module names for generated *.i files (#2707).
150
+
151
+ From Joe Zuntz:
152
+
153
+ - Fixed a case-sensitivity problem with Fortran modules.
154
+
155
+ From Bauke Conijn:
156
+
157
+ - Added Users Guide example for auto-generated source code
158
+
159
+ From Steven Knight:
160
+
161
+ - Fix explicit dependencies (Depends()) on Nodes that don't have
162
+ attached Builders.
163
+
164
+ - Fix use of the global Alias() function with command actions.
165
+
166
+ From Matt Hughes:
167
+
168
+ - Fix the ability to append to default $*FLAGS values (which are
169
+ implemented as CLVar instances) in a copied construction environment
170
+ without affecting the original construction environment's value.
171
+
172
+ From Rob Managan:
173
+
174
+ - Updated the TeX command strings to include a /D on Windows in
175
+ case the new directory is on a different drive letter.
176
+
177
+ - Fixed the LaTeX scanner so dependencies are found in commands that
178
+ are broken across lines with a comment or have embedded spaces.
179
+
180
+ - The TeX builders should now work with tex files that are generated
181
+ by another program. Thanks to Hans-Martin von Gaudecker for
182
+ isolating the cause of this bug.
183
+
184
+ - Added support for INDEXSTYLE environment variable so makeindex can
185
+ find style files.
186
+
187
+ - Added support for the bibunits package so we call bibtex on all
188
+ the bu*.aux files.
189
+
190
+ - Add support of finding path information on OSX for TeX applications
191
+ MacPorts and Fink paths need to be added by the user
192
+
193
+ From Russel Winder:
194
+
195
+ - Add support for DMD version 2 (the phobos2 library).
196
+
197
+ From William Deegan:
198
+
199
+ - Add initial support for VS/VC 2010 (express and non-express versions)
200
+ - Remove warning for not finding MS VC/VS install.
201
+ "scons: warning: No version of Visual Studio compiler found
202
+ - C/C++ compilers most likely not set correctly"
203
+ - Add support for Linux 3.0
204
+
205
+
8
206
  RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
9
207
 
10
208
  From Dirk Baechle:
@@ -24,6 +222,29 @@ RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
24
222
  - Fix explicit dependencies (Depends()) on Nodes that don't have
25
223
  attached Builders.
26
224
 
225
+ From Matt Hughes:
226
+
227
+ - Fix the ability to append to default $*FLAGS values (which are
228
+ implemented as CLVar instances) in a copied construction environment
229
+ without affecting the original construction environment's value.
230
+
231
+ From Rob Managan:
232
+
233
+ - Updated the TeX command strings to include a /D on Windows in
234
+ case the new directory is on a different drive letter.
235
+
236
+ - Fixed the LaTeX scanner so dependencies are found in commands that
237
+ are broken across lines with a comment or have embedded spaces.
238
+
239
+
240
+ RELEASE 2.0.0.final.0 - Mon, 14 Jun 2010 22:01:37 -0700
241
+
242
+ From Dirk Baechle:
243
+
244
+ - Fix XML in documentation.
245
+
246
+ From Steven Knight:
247
+
27
248
  - Provide forward compatibility for the 'profile' module.
28
249
 
29
250
  - Provide forward compatibility for the 'pickle' module.
@@ -55,20 +276,6 @@ RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
55
276
  - Handle detecting Visual C++ on Python verions with upper-case
56
277
  platform architectures like 'AMD64'.
57
278
 
58
- From Matt Hughes:
59
-
60
- - Fix the ability to append to default $*FLAGS values (which are
61
- implemented as CLVar instances) in a copied construction environment
62
- without affecting the original construction environment's value.
63
-
64
- From Rob Managan:
65
-
66
- - Updated the TeX command strings to include a /D on Windows in
67
- case the new directory is on a different drive letter.
68
-
69
- - Fixed the LaTeX scanner so dependencies are found in commands that
70
- are broken across lines with a comment or have embedded spaces.
71
-
72
279
  From W. Trevor King:
73
280
 
74
281
  - Revisions to README.
@@ -272,7 +479,7 @@ RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800
272
479
 
273
480
  - Remove LATEXSUFFIXES from environments that don't initialize Tex.
274
481
 
275
- - Add support for the glosaaries package for glossaries and acronyms
482
+ - Add support for the glossaries package for glossaries and acronyms
276
483
 
277
484
  - Fix problem that pdftex, latex, and pdflatex tools by themselves did
278
485
  not create the actions for bibtex, makeindex,... by creating them
@@ -472,7 +679,7 @@ RELEASE 1.1.0.d20081207 - Sun, 07 Dec 2008 19:17:23 -0800
472
679
 
473
680
  - Issue 2401: Fix usage of comparisons with None.
474
681
 
475
- From Ludwig Hhne:
682
+ From Ludwig H�hne:
476
683
 
477
684
  - Handle Java inner classes declared within a method.
478
685
 
@@ -601,7 +808,7 @@ RELEASE 1.1.0 - Thu, 09 Oct 2008 08:33:47 -0700
601
808
 
602
809
  - Fix VariantDir duplication of #included files in subdirectories.
603
810
 
604
- From Ludwig Hhne:
811
+ From Ludwig H�hne:
605
812
 
606
813
  - Reduce memory usage when a directory is used as a dependency of
607
814
  another Node (such as an Alias) by returning a concatenation
@@ -716,7 +923,7 @@ RELEASE 1.0.0 - XXX
716
923
 
717
924
  - Clear the Node state when turning a generic Entry into a Dir.
718
925
 
719
- From Ludwig Hhne:
926
+ From Ludwig H�hne:
720
927
 
721
928
  - Fix sporadic output-order failures in test/GetBuildFailures/parallel.py.
722
929
 
@@ -950,7 +1157,7 @@ RELEASE 0.98.1 - Fri, 18 Apr 2008 19:11:58 -0700
950
1157
 
951
1158
  - Fix the --debug=stree option so it prints its tree once, not twice.
952
1159
 
953
- From Johan Boul�:
1160
+ From Johan Boul�:
954
1161
 
955
1162
  - Fix the ability to use LoadableModule() under MinGW.
956
1163
 
@@ -1063,7 +1270,7 @@ RELEASE 0.98 - Sun, 30 Mar 2008 23:33:05 -0700
1063
1270
  calls by using a File's .suffix attribute directly instead of
1064
1271
  stringifying it.
1065
1272
 
1066
- From Jérôme Berger:
1273
+ From Jérôme Berger:
1067
1274
 
1068
1275
  - Have the D language scanner search for .di files as well as .d files.
1069
1276
 
@@ -1677,7 +1884,7 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
1677
1884
 
1678
1885
  RELEASE 0.96.95 - Mon, 12 Feb 2007 20:25:16 -0600
1679
1886
 
1680
- From Anatoly:
1887
+ From Anatoly Techtonik:
1681
1888
 
1682
1889
  - Add the scons.org URL and a package description to the setup.py
1683
1890
  arguments.
@@ -2164,7 +2371,7 @@ RELEASE 0.96.92 - Mon, 10 Apr 2006 21:08:22 -0400
2164
2371
  - Fix C/C++ compiler selection on AIX to not always use the external $CC
2165
2372
  environment variable.
2166
2373
 
2167
- From August Hörandl:
2374
+ From August Hörandl:
2168
2375
 
2169
2376
  - Add a scanner for \include and \import files, with support for
2170
2377
  searching a directory list in $TEXINPUTS (imported from the external
@@ -5330,5 +5537,5 @@ A brief overview of important functionality available in release 0.01:
5330
5537
 
5331
5538
  - Windows installer available.
5332
5539
 
5333
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
5334
- src/CHANGES.txt 5134 2010/08/16 23:02:40 bdeegan
5540
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
5541
+ src/CHANGES.txt 5357 2011/09/09 21:31:03 bdeegan