@@ -11,7 +11,7 @@ source and binary form.
1111### Why?
1212
1313The goal of libv8 is two fold: provide a binary gem containing the a
14- pre-compiled libv8 .a for as many platforms as possible while at the
14+ pre-compiled libv8_monolith .a for as many platforms as possible while at the
1515same time supporting for an automated compilation for all others.
1616
1717Not only does this drastically reduce gem install times, but it also
@@ -74,27 +74,11 @@ source-based distribution
7474
7575> This step release system is a workaround to carlhuda/bundler #1537
7676
77- ##### Use with different standard C libraries
78-
79- The Linux binary versions of this gem are linked against the most used standard
80- library - glibc. Currently rubygems has no mechanism to differentiate
81- platform-specific gems by standard library so we have no way of distributing
82- different binaries for different standard libraries.
83-
84- What this means is that if you're running a distro that does not use glibc
85- (like Alpine Linux), you'll have to use a source version of the gem.
86-
87- Also, at the time of writing this, the Ruby version in Alpine's package
88- repositories has been patched to not look to download binary versions of gems at
89- all.
90-
9177### Requirements
9278
9379Building the V8 library from source imposes the following requirements:
9480
95- * A compiler that supports C++11 (such as GCC 4.8 and above or clang,
96- preferably 3.5 and above)
97- * GNU Make
81+ * Ninja
9882* Python 2
9983
10084### Using a git version
@@ -122,47 +106,6 @@ To get the source, these commands will get you started:
122106 bundle install
123107 bundle exec rake compile
124108
125- ### Bring your own V8
126-
127- * This is a great way to ensure that the builds of all gems that depend on libv8
128- fail. Please see the Gotchas section below and use the follwing instructions
129- only if you know what you're doing. If you're resorting to this because the
130- build of the gem is failing on your system or because there's no
131- platform-specific gem for your platform, please open up an issue.*
132-
133- Because libv8 is the interface for the V8 engine used by several gems, you may
134- need to use libv8, even if you have V8 installed already. If you wish to use
135- your own V8 installation, rather than have it built for you, use the
136- ` --with-system-v8 ` option.
137-
138- Using RubyGems:
139-
140- gem install libv8 -- --with-system-v8
141-
142- Using Bundler (in your Gemfile):
143-
144- bundle config build.libv8 --with-system-v8
145-
146- #### Gotchas
147-
148- Please note that if you intend to run your own V8, you must install
149- both V8 * and its headers* (found in libv8-dev for Debian-based distros).
150-
151- Also, keep in mind that V8's API does not tend to be stable and in case you're
152- using your local version of V8 you * need* to ** make sure that the the gems that
153- depend on libv8 are compatible with the API of the version of V8 present on your
154- system** . Otherwise those gems' builds * will* fail. Ideally you want the same
155- version of V8 as the one packaged in the installed version of the gem. See the
156- Versioning section for more information.
157-
158- ### Bring your own compiler
159-
160- You can specify a compiler of your choice by either setting the ` CXX `
161- environment variable before compilation, or by adding the
162- ` --with-cxx=<compiler> ` option to the bundle configuration:
163-
164- bundle config build.libv8 --with-cxx=clang++
165-
166109### About
167110
168111This project spun off of
0 commit comments