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.
- 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
|