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.
- data/.gitignore +1 -0
- data/README.md +35 -7
- data/Rakefile +61 -20
- data/ext/libv8/extconf.rb +15 -0
- data/lib/libv8/scons/CHANGES.txt +231 -24
- data/lib/libv8/scons/LICENSE.txt +1 -1
- data/lib/libv8/scons/MANIFEST +1 -0
- data/lib/libv8/scons/PKG-INFO +1 -1
- data/lib/libv8/scons/README.txt +9 -9
- data/lib/libv8/scons/RELEASE.txt +77 -75
- data/lib/libv8/scons/engine/SCons/Action.py +22 -6
- data/lib/libv8/scons/engine/SCons/Builder.py +2 -2
- data/lib/libv8/scons/engine/SCons/CacheDir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Debug.py +2 -2
- data/lib/libv8/scons/engine/SCons/Defaults.py +24 -10
- data/lib/libv8/scons/engine/SCons/Environment.py +118 -19
- data/lib/libv8/scons/engine/SCons/Errors.py +2 -2
- data/lib/libv8/scons/engine/SCons/Executor.py +2 -2
- data/lib/libv8/scons/engine/SCons/Job.py +2 -2
- data/lib/libv8/scons/engine/SCons/Memoize.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/Alias.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/FS.py +281 -121
- data/lib/libv8/scons/engine/SCons/Node/Python.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/__init__.py +6 -5
- data/lib/libv8/scons/engine/SCons/Options/BoolOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/EnumOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/ListOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PackageOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PathOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/PathList.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/aix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/cygwin.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/darwin.py +27 -3
- data/lib/libv8/scons/engine/SCons/Platform/hpux.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/irix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/os2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/posix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/sunos.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/win32.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConf.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConsign.py +9 -3
- data/lib/libv8/scons/engine/SCons/Scanner/C.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/D.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Dir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/IDL.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/LaTeX.py +5 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Prog.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/RC.py +3 -3
- data/lib/libv8/scons/engine/SCons/Scanner/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Interactive.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Main.py +82 -11
- data/lib/libv8/scons/engine/SCons/Script/SConsOptions.py +5 -5
- data/lib/libv8/scons/engine/SCons/Script/SConscript.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Sig.py +2 -2
- data/lib/libv8/scons/engine/SCons/Subst.py +2 -2
- data/lib/libv8/scons/engine/SCons/Taskmaster.py +10 -2
- data/lib/libv8/scons/engine/SCons/Tool/386asm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/BitKeeper.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/CVS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/FortranCommon.py +19 -2
- data/lib/libv8/scons/engine/SCons/Tool/JavaCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/arch.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/common.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/netframework.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/sdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vc.py +9 -6
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vs.py +29 -2
- data/lib/libv8/scons/engine/SCons/Tool/Perforce.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/PharLapCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/RCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/SCCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/Subversion.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/__init__.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/aixc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixlink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/applelink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/as.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/bcc32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/c++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cvf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/default.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dmd.py +24 -7
- data/lib/libv8/scons/engine/SCons/Tool/dvi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dvipdf.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/dvips.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/f03.py +63 -0
- data/lib/libv8/scons/engine/SCons/Tool/f77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/filesystem.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gas.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gfortran.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/gnulink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/gs.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hplink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifort.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/install.py +57 -3
- data/lib/libv8/scons/engine/SCons/Tool/intelc.py +65 -25
- data/lib/libv8/scons/engine/SCons/Tool/ipkg.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/jar.py +9 -3
- data/lib/libv8/scons/engine/SCons/Tool/javac.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/javah.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/latex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/lex.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/link.py +6 -5
- data/lib/libv8/scons/engine/SCons/Tool/linkloc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/m4.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/masm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/midl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mingw.py +31 -10
- data/lib/libv8/scons/engine/SCons/Tool/mslib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mslink.py +61 -9
- data/lib/libv8/scons/engine/SCons/Tool/mssdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/msvc.py +21 -11
- data/lib/libv8/scons/engine/SCons/Tool/msvs.py +477 -59
- data/lib/libv8/scons/engine/SCons/Tool/mwcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mwld.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/nasm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/ipk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/msi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdflatex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdftex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/qt.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rmic.py +9 -3
- data/lib/libv8/scons/engine/SCons/Tool/rpcgen.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgiar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgic++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgicc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgilink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/sunar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/suncc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunlink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/swig.py +6 -5
- data/lib/libv8/scons/engine/SCons/Tool/tar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tex.py +96 -43
- data/lib/libv8/scons/engine/SCons/Tool/textfile.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/wix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/yacc.py +12 -2
- data/lib/libv8/scons/engine/SCons/Tool/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Util.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/BoolVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/EnumVariable.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/ListVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PackageVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PathVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Warnings.py +2 -2
- data/lib/libv8/scons/engine/SCons/__init__.py +6 -6
- data/lib/libv8/scons/engine/SCons/compat/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_builtins.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_collections.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_dbm.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_hashlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_io.py +2 -2
- data/lib/libv8/scons/engine/SCons/cpp.py +2 -2
- data/lib/libv8/scons/engine/SCons/dblite.py +4 -1
- data/lib/libv8/scons/engine/SCons/exitfuncs.py +2 -2
- data/lib/libv8/scons/scons-time.1 +3 -3
- data/lib/libv8/scons/scons.1 +1209 -1203
- data/lib/libv8/scons/sconsign.1 +3 -3
- data/lib/libv8/scons/script/scons +22 -22
- data/lib/libv8/scons/script/scons-time +2 -2
- data/lib/libv8/scons/script/scons.bat +7 -4
- data/lib/libv8/scons/script/sconsign +21 -20
- data/lib/libv8/scons/setup.cfg +0 -1
- data/lib/libv8/scons/setup.py +38 -40
- data/lib/libv8/version.rb +4 -2
- data/libv8.gemspec +7 -2
- metadata +46 -67
data/.gitignore
CHANGED
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
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
`git
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
43
|
-
|
|
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
|
|
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
|
|
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
|
data/ext/libv8/extconf.rb
CHANGED
|
@@ -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`
|
data/lib/libv8/scons/CHANGES.txt
CHANGED
|
@@ -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
|
|
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 H
|
|
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 H
|
|
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 H
|
|
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
|
|
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
|
|
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
|
|
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
|