deps: upgrade libuv to 1.13.1 · nodejs/node@a38755d

@@ -3,7 +3,7 @@

33

## Overview

4455

libuv 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

77

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

62626363

Show different supported building options:

646465-

$ make help

65+

```bash

66+

$ make help

67+

```

66686769

Build documentation as HTML:

687069-

$ make html

71+

```bash

72+

$ make html

73+

```

70747175

Build documentation as HTML and live reload it when it changes (this requires

7276

sphinx-autobuild to be installed and is only supported on Unix):

737774-

$ make livehtml

78+

```bash

79+

$ make livehtml

80+

```

75817682

Build documentation as man pages:

778378-

$ make man

84+

```bash

85+

$ make man

86+

```

79878088

Build documentation as ePub:

818982-

$ make epub

90+

```bash

91+

$ make epub

92+

```

83938494

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

116126117127

Importing 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+

```

121132122133

Importing 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

127140128141

Git 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+

```

131146132147

Starting with libuv 1.7.0, the tarballs stored in the

133148

[downloads site](http://dist.libuv.org/dist/) are signed and an accompanying

134149

signature file sit alongside each. Once both the release tarball and the

135150

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

144161145162

To 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

169226170227

For 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+

```

174233175234

For 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+

```

179240180241

Run `./gyp_uv.py -f make -Dtarget_arch=x32` to build [x32][] binaries.

181242182243

### OS X

183244184245

Run:

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+

```

189252190253

Using Homebrew:

191254192-

$ brew install --HEAD libuv

255+

```bash

256+

$ brew install --HEAD libuv

257+

```

193258194259

Note to OS X users:

195260

@@ -201,8 +266,10 @@ Make sure that you specify the architecture you wish to build for in the

201266202267

Run:

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+

```

206273207274

Note 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

211278212279

To 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

220289221290

Run:

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