33## Overview  
44
55libuv 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.
6262
6363Show different supported building options:
6464
65-     $ make help 
65+ ``` bash 
66+ $ make help 
67+ ``` 
6668
6769Build documentation as HTML:
6870
69-     $ make html 
71+ ``` bash 
72+ $ make html
73+ ``` 
7074
7175Build documentation as HTML and live reload it when it changes (this requires
7276sphinx-autobuild to be installed and is only supported on Unix):
7377
74-     $ make livehtml 
78+ ``` bash 
79+ $ make livehtml
80+ ``` 
7581
7682Build documentation as man pages:
7783
78-     $ make man 
84+ ``` bash 
85+ $ make man
86+ ``` 
7987
8088Build documentation as ePub:
8189
82-     $ make epub 
90+ ``` bash 
91+ $ make epub
92+ ``` 
8393
8494NOTE: 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.
116126
117127Importing a key the usual way:
118128
119-     $ gpg --keyserver pool.sks-keyservers.net \ 
120-       --recv-keys AE9BC059 
129+ ``` bash 
130+ $ gpg --keyserver pool.sks-keyservers.net --recv-keys AE9BC059
131+ ``` 
121132
122133Importing a key from a git blob object:
123134
124-     $ git show pubkey-saghul | gpg --import 
135+ ``` bash 
136+ $ git show pubkey-saghul |  gpg --import
137+ ``` 
125138
126139### Verifying releases  
127140
128141Git tags are signed with the developer's key, they can be verified as follows:
129142
130-     $ git verify-tag v1.6.1 
143+ ``` bash 
144+ $ git verify-tag v1.6.1
145+ ``` 
131146
132147Starting 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:
136151
137-     $ gpg --verify libuv-1.7.0.tar.gz.sign 
152+ ``` bash 
153+ $ gpg --verify libuv-1.7.0.tar.gz.sign
154+ ``` 
138155
139156## Build Instructions  
140157
@@ -144,52 +161,100 @@ backends. It is best used for integration into other projects.
144161
145162To build with autotools:
146163
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+ ``` 
152171
153172### Windows  
154173
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+ ``` 
158223
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 
167224
168225### Unix  
169226
170227For Debug builds (recommended) run:
171228
172-     $ ./gyp_uv.py -f make 
173-     $ make -C out 
229+ ``` bash 
230+ $ ./gyp_uv.py -f make
231+ $ make -C out
232+ ``` 
174233
175234For Release builds run:
176235
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+ ``` 
179240
180241Run ` ./gyp_uv.py -f make -Dtarget_arch=x32 `  to build [ x32] [ ]  binaries.
181242
182243### OS X  
183244
184245Run:
185246
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" 
250+      -configuration Release -target All
251+ ``` 
189252
190253Using Homebrew:
191254
192-     $ brew install --HEAD libuv 
255+ ``` bash 
256+ $ brew install --HEAD libuv
257+ ``` 
193258
194259Note to OS X users:
195260
@@ -201,8 +266,10 @@ Make sure that you specify the architecture you wish to build for in the
201266
202267Run:
203268
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+ ``` 
206273
207274Note 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
211278
212279To use ninja for build on ninja supported platforms, run:
213280
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+ ``` 
217286
218287
219288### Running tests  
220289
221290Run:
222291
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+ ``` 
226297
227298## Supported Platforms  
228299
@@ -244,7 +315,11 @@ See the [guidelines for contributing][].
244315
245316[ 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 
0 commit comments