Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thlorenz/learnuv
Learn uv for fun and profit, a self guided workshop to the library that powers Node.js.
https://github.com/thlorenz/learnuv
Last synced: 6 days ago
JSON representation
Learn uv for fun and profit, a self guided workshop to the library that powers Node.js.
- Host: GitHub
- URL: https://github.com/thlorenz/learnuv
- Owner: thlorenz
- License: mit
- Created: 2014-10-04T21:23:13.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-08-02T02:40:20.000Z (over 1 year ago)
- Last Synced: 2025-01-02T19:38:30.356Z (17 days ago)
- Language: C
- Homepage:
- Size: 2.83 MB
- Stars: 741
- Watchers: 23
- Forks: 67
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - learnuv
README
# learnuv
Learn uv for fun and profit, a self guided workshop to [the library](https://github.com/libuv/libuv) that powers Node.js.
![screenshot](assets/screenshot.png)
## Before You Start
Read the [learnuv gitbook](http://thlorenz.github.io/learnuv/book) which explains some libuv and related C language
concepts that will help you complete the exercises.## Installation
Requires [Python](https://www.python.org/downloads/) 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````sh
git clone https://github.com/thlorenz/learnuv && cd learnuv
npm install
```## Getting Started
```sh
./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](https://www.cygwin.com/).
### Ninja
Highly recommended since it builds faster than any of the other options, so [get ninja](https://ninja-build.org/)
and do:```sh
./gyp_learnuv.py -f ninja
ninja -C out/Debug
./out/Debug/01_system_info
```### Make
Works on Linux and OSX.
```sh
./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.
```sh
./gyp_learnuv.py -f xcode
open learnuv.xcodeproj
```### Visual Studio
Works on Windows only. **TODO** need to adapt [vcbuild.bat](https://github.com/joyent/libuv/blob/master/vcbuild.bat).
## Running
```
./learnuv
```## License
MIT