deps: upgrade libuv to 1.13.1 · nodejs/node@a38755d
@@ -3,7 +3,7 @@
33## Overview
4455libuv is a multi-platform support library with a focus on asynchronous I/O. It
6-was primarily developed for use by [Node.js](http://nodejs.org), but it's also
6+was primarily developed for use by [Node.js][], but it's also
77used by [Luvit](http://luvit.io/), [Julia](http://julialang.org/),
88[pyuv](https://github.com/saghul/pyuv), and [others](https://github.com/libuv/libuv/wiki/Projects-that-use-libuv).
99@@ -62,24 +62,34 @@ formats.
62626363Show different supported building options:
646465-$ make help
65+```bash
66+$ make help
67+```
66686769Build documentation as HTML:
687069-$ make html
71+```bash
72+$ make html
73+```
70747175Build documentation as HTML and live reload it when it changes (this requires
7276sphinx-autobuild to be installed and is only supported on Unix):
737774-$ make livehtml
78+```bash
79+$ make livehtml
80+```
75817682Build documentation as man pages:
778378-$ make man
84+```bash
85+$ make man
86+```
79878088Build documentation as ePub:
818982-$ make epub
90+```bash
91+$ make epub
92+```
83938494NOTE: Windows users need to use make.bat instead of plain 'make'.
8595@@ -116,25 +126,32 @@ file, but are also available as git blob objects for easier use.
116126117127Importing a key the usual way:
118128119-$ gpg --keyserver pool.sks-keyservers.net \
120- --recv-keys AE9BC059
129+```bash
130+$ gpg --keyserver pool.sks-keyservers.net --recv-keys AE9BC059
131+```
121132122133Importing a key from a git blob object:
123134124-$ git show pubkey-saghul | gpg --import
135+```bash
136+$ git show pubkey-saghul | gpg --import
137+```
125138126139### Verifying releases
127140128141Git tags are signed with the developer's key, they can be verified as follows:
129142130-$ git verify-tag v1.6.1
143+```bash
144+$ git verify-tag v1.6.1
145+```
131146132147Starting with libuv 1.7.0, the tarballs stored in the
133148[downloads site](http://dist.libuv.org/dist/) are signed and an accompanying
134149signature file sit alongside each. Once both the release tarball and the
135150signature file are downloaded, the file can be verified as follows:
136151137-$ gpg --verify libuv-1.7.0.tar.gz.sign
152+```bash
153+$ gpg --verify libuv-1.7.0.tar.gz.sign
154+```
138155139156## Build Instructions
140157@@ -144,52 +161,100 @@ backends. It is best used for integration into other projects.
144161145162To build with autotools:
146163147-$ sh autogen.sh
148-$ ./configure
149-$ make
150-$ make check
151-$ make install
164+```bash
165+$ sh autogen.sh
166+$ ./configure
167+$ make
168+$ make check
169+$ make install
170+```
152171153172### Windows
154173155-First, [Python][] 2.6 or 2.7 must be installed as it is required by [GYP][].
156-If python is not in your path, set the environment variable `PYTHON` to its
157-location. For example: `set PYTHON=C:\Python27\python.exe`
174+Prerequisites:
175+176+* [Python 2.6 or 2.7][] as it is required
177+ by [GYP][].
178+ If python is not in your path, set the environment variable `PYTHON` to its
179+ location. For example: `set PYTHON=C:\Python27\python.exe`
180+* One of:
181+* [Visual C++ Build Tools][]
182+* [Visual Studio 2015 Update 3][], all editions
183+ including the Community edition (remember to select
184+"Common Tools for Visual C++ 2015" feature during installation).
185+* [Visual Studio 2017][], any edition (including the Build Tools SKU).
186+**Required Components:** "MSbuild", "VC++ 2017 v141 toolset" and one of the
187+ Windows SDKs (10 or 8.1).
188+* Basic Unix tools required for some tests,
189+[Git for Windows][] includes Git Bash
190+ and tools which can be included in the global `PATH`.
191+192+To build, launch a git shell (e.g. Cmd or PowerShell), run `vcbuild.bat`
193+(to build with VS2017 you need to explicitly add a `vs2017` argument),
194+which will checkout the GYP code into `build/gyp`, generate `uv.sln`
195+as well as the necesery related project files, and start building.
196+197+```console
198+> vcbuild
199+```
200+201+Or:
202+203+```console
204+> vcbuild vs2017
205+```
206+207+To run the tests:
208+209+```console
210+> vcbuild test
211+```
212+213+To see all the options that could passed to `vcbuild`:
214+215+```console
216+> vcbuild help
217+vcbuild.bat [debug/release] [test/bench] [clean] [noprojgen] [nobuild] [vs2017] [x86/x64] [static/shared]
218+Examples:
219+ vcbuild.bat : builds debug build
220+ vcbuild.bat test : builds debug build and runs tests
221+ vcbuild.bat release bench: builds release build and runs benchmarks
222+```
158223159-To build with Visual Studio, launch a git shell (e.g. Cmd or PowerShell)
160-and run vcbuild.bat which will checkout the GYP code into build/gyp and
161-generate uv.sln as well as related project files.
162-163-To have GYP generate build script for another system, checkout GYP into the
164-project tree manually:
165-166-$ git clone https://chromium.googlesource.com/external/gyp.git build/gyp
167224168225### Unix
169226170227For Debug builds (recommended) run:
171228172-$ ./gyp_uv.py -f make
173-$ make -C out
229+```bash
230+$ ./gyp_uv.py -f make
231+$ make -C out
232+```
174233175234For Release builds run:
176235177-$ ./gyp_uv.py -f make
178-$ BUILDTYPE=Release make -C out
236+```bash
237+$ ./gyp_uv.py -f make
238+$ BUILDTYPE=Release make -C out
239+```
179240180241Run `./gyp_uv.py -f make -Dtarget_arch=x32` to build [x32][] binaries.
181242182243### OS X
183244184245Run:
185246186-$ ./gyp_uv.py -f xcode
187-$ xcodebuild -ARCHS="x86_64" -project uv.xcodeproj \
188- -configuration Release -target All
247+```bash
248+$ ./gyp_uv.py -f xcode
249+$ xcodebuild -ARCHS="x86_64" -project uv.xcodeproj \
250+ -configuration Release -target All
251+```
189252190253Using Homebrew:
191254192-$ brew install --HEAD libuv
255+```bash
256+$ brew install --HEAD libuv
257+```
193258194259Note to OS X users:
195260@@ -201,8 +266,10 @@ Make sure that you specify the architecture you wish to build for in the
201266202267Run:
203268204-$ source ./android-configure NDK_PATH gyp
205-$ make -C out
269+```bash
270+$ source ./android-configure NDK_PATH gyp
271+$ make -C out
272+```
206273207274Note for UNIX users: compile your project with `-D_LARGEFILE_SOURCE` and
208275`-D_FILE_OFFSET_BITS=64`. GYP builds take care of that automatically.
@@ -211,18 +278,22 @@ Note for UNIX users: compile your project with `-D_LARGEFILE_SOURCE` and
211278212279To use ninja for build on ninja supported platforms, run:
213280214-$ ./gyp_uv.py -f ninja
215-$ ninja -C out/Debug #for debug build OR
216-$ ninja -C out/Release
281+```bash
282+$ ./gyp_uv.py -f ninja
283+$ ninja -C out/Debug #for debug build OR
284+$ ninja -C out/Release
285+```
217286218287219288### Running tests
220289221290Run:
222291223-$ ./gyp_uv.py -f make
224-$ make -C out
225-$ ./out/Debug/run-tests
292+```bash
293+$ ./gyp_uv.py -f make
294+$ make -C out
295+$ ./out/Debug/run-tests
296+```
226297227298## Supported Platforms
228299@@ -244,7 +315,11 @@ See the [guidelines for contributing][].
244315245316[node.js]: http://nodejs.org/
246317[GYP]: http://code.google.com/p/gyp/
247-[Python]: https://www.python.org/downloads/
248318[guidelines for contributing]: https://github.com/libuv/libuv/blob/master/CONTRIBUTING.md
249319[libuv_banner]: https://raw.githubusercontent.com/libuv/libuv/master/img/banner.png
250320[x32]: https://en.wikipedia.org/wiki/X32_ABI
321+[Python 2.6 or 2.7]: https://www.python.org/downloads/
322+[Visual C++ Build Tools]: http://landinghub.visualstudio.com/visual-cpp-build-tools
323+[Visual Studio 2015 Update 3]: https://www.visualstudio.com/vs/older-downloads/
324+[Visual Studio 2017]: https://www.visualstudio.com/downloads/
325+[Git for Windows]: http://git-scm.com/download/win