/learnuv

Learn uv for fun and profit, a self guided workshop to the library that powers Node.js.

Primary LanguageCMIT LicenseMIT

learnuv

Learn uv for fun and profit, a self guided workshop to the library that powers Node.js.

screenshot

Before You Start

Read the learnuv gitbook which explains some libuv and related C language concepts that will help you complete the exercises.

Installation

Requires Python 2.6 or 2.7 to be installed. If python is not in your path set the environment variable PYTHON to its location. For example on Windows: set PYTHON=C:\Python27\python.exe

git clone https://github.com/thlorenz/learnuv && cd learnuv
npm install

Getting Started

./learnuv help

Building

learnuv comes with build commands that you can use instead of the manual steps explained further below.

  • ./learnuv ninja Compile your sources with ninja, stored inside ./out/Debug
  • ./learnuv make Compile your sources with make, stored inside ./out/Debug
  • ./learnuv xcode Generate a learnuv Xcode project, named ./learnuv.xcodeproj

Windows Caveats

Ninja and Make do not work on windows except via cygwin.

Ninja

Highly recommended since it builds faster than any of the other options, so get ninja and do:

./gyp_learnuv.py -f ninja
ninja -C out/Debug
./out/Debug/01_system_info

Make

Works on Linux and OSX.

./gyp_learnuv.py -f make
make -C out
./out/Debug/01_system_info

Xcode

Works on OSX only. Highly recommended to ease debugging and code navigation.

./gyp_learnuv.py -f xcode
open learnuv.xcodeproj

Visual Studio

Works on Windows only. TODO need to adapt vcbuild.bat.

Running

./learnuv

License

MIT