3
3
## Overview
4
4
5
5
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
7
7
used by [ Luvit] ( http://luvit.io/ ) , [ Julia] ( http://julialang.org/ ) ,
8
8
[ pyuv] ( https://github.com/saghul/pyuv ) , and [ others] ( https://github.com/libuv/libuv/wiki/Projects-that-use-libuv ) .
9
9
@@ -62,24 +62,34 @@ formats.
62
62
63
63
Show different supported building options:
64
64
65
- $ make help
65
+ ``` bash
66
+ $ make help
67
+ ```
66
68
67
69
Build documentation as HTML:
68
70
69
- $ make html
71
+ ``` bash
72
+ $ make html
73
+ ```
70
74
71
75
Build documentation as HTML and live reload it when it changes (this requires
72
76
sphinx-autobuild to be installed and is only supported on Unix):
73
77
74
- $ make livehtml
78
+ ``` bash
79
+ $ make livehtml
80
+ ```
75
81
76
82
Build documentation as man pages:
77
83
78
- $ make man
84
+ ``` bash
85
+ $ make man
86
+ ```
79
87
80
88
Build documentation as ePub:
81
89
82
- $ make epub
90
+ ``` bash
91
+ $ make epub
92
+ ```
83
93
84
94
NOTE: Windows users need to use make.bat instead of plain 'make'.
85
95
@@ -116,25 +126,32 @@ file, but are also available as git blob objects for easier use.
116
126
117
127
Importing a key the usual way:
118
128
119
- $ gpg --keyserver pool.sks-keyservers.net \
120
- --recv-keys AE9BC059
129
+ ``` bash
130
+ $ gpg --keyserver pool.sks-keyservers.net --recv-keys AE9BC059
131
+ ```
121
132
122
133
Importing a key from a git blob object:
123
134
124
- $ git show pubkey-saghul | gpg --import
135
+ ``` bash
136
+ $ git show pubkey-saghul | gpg --import
137
+ ```
125
138
126
139
### Verifying releases
127
140
128
141
Git tags are signed with the developer's key, they can be verified as follows:
129
142
130
- $ git verify-tag v1.6.1
143
+ ``` bash
144
+ $ git verify-tag v1.6.1
145
+ ```
131
146
132
147
Starting with libuv 1.7.0, the tarballs stored in the
133
148
[ downloads site] ( http://dist.libuv.org/dist/ ) are signed and an accompanying
134
149
signature file sit alongside each. Once both the release tarball and the
135
150
signature file are downloaded, the file can be verified as follows:
136
151
137
- $ gpg --verify libuv-1.7.0.tar.gz.sign
152
+ ``` bash
153
+ $ gpg --verify libuv-1.7.0.tar.gz.sign
154
+ ```
138
155
139
156
## Build Instructions
140
157
@@ -144,52 +161,100 @@ backends. It is best used for integration into other projects.
144
161
145
162
To build with autotools:
146
163
147
- $ 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
+ ```
152
171
153
172
### Windows
154
173
155
- 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
+ ```
158
223
159
- 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
167
224
168
225
### Unix
169
226
170
227
For Debug builds (recommended) run:
171
228
172
- $ ./gyp_uv.py -f make
173
- $ make -C out
229
+ ``` bash
230
+ $ ./gyp_uv.py -f make
231
+ $ make -C out
232
+ ```
174
233
175
234
For Release builds run:
176
235
177
- $ ./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
+ ```
179
240
180
241
Run ` ./gyp_uv.py -f make -Dtarget_arch=x32 ` to build [ x32] [ ] binaries.
181
242
182
243
### OS X
183
244
184
245
Run:
185
246
186
- $ ./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
+ ```
189
252
190
253
Using Homebrew:
191
254
192
- $ brew install --HEAD libuv
255
+ ``` bash
256
+ $ brew install --HEAD libuv
257
+ ```
193
258
194
259
Note to OS X users:
195
260
@@ -201,8 +266,10 @@ Make sure that you specify the architecture you wish to build for in the
201
266
202
267
Run:
203
268
204
- $ source ./android-configure NDK_PATH gyp
205
- $ make -C out
269
+ ``` bash
270
+ $ source ./android-configure NDK_PATH gyp
271
+ $ make -C out
272
+ ```
206
273
207
274
Note for UNIX users: compile your project with ` -D_LARGEFILE_SOURCE ` and
208
275
` -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
211
278
212
279
To use ninja for build on ninja supported platforms, run:
213
280
214
- $ ./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
+ ```
217
286
218
287
219
288
### Running tests
220
289
221
290
Run:
222
291
223
- $ ./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
+ ```
226
297
227
298
## Supported Platforms
228
299
@@ -244,7 +315,11 @@ See the [guidelines for contributing][].
244
315
245
316
[ node.js ] : http://nodejs.org/
246
317
[ GYP ] : http://code.google.com/p/gyp/
247
- [ Python ] : https://www.python.org/downloads/
248
318
[ guidelines for contributing ] : https://github.com/libuv/libuv/blob/master/CONTRIBUTING.md
249
319
[ libuv_banner ] : https://raw.githubusercontent.com/libuv/libuv/master/img/banner.png
250
320
[ 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
0 commit comments