bottlenoselabs / libuv-cs

Automatically updated C# bindings for libuv https://github.com/libuv/libuv with native dynamic link libraries.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libuv-cs

Automatically updated C# bindings for https://github.com/libuv/libuv with native dynamic link libraries.

How to use

From source

  1. Download and install .NET 6.
  2. Fork the repository using GitHub or clone the repository manually with submodules: git clone --recurse-submodules https://github.com/bottlenoselabs/libuv-cs.
  3. Build the native library by running library.sh. (Use Git BASH on Windows https://git-scm.com/download/win.) Requires C/C++ toolchain and CMake to be installed.
  4. Add the C# project ./src/cs/production/uv/uv.csproj to your solution.
  5. Add one of the C# shim projects for the native binary in the same way as uv.csproj.
    • uv.win-x64: The uv.dll native binary for Windows x64.
    • uv.osx: The libuv.dylib for macOS Intel (osx-x64) + macOS Apple Silicon (osx-arm64).
    • uv.linux-x64: The libuv.so for Linux x64.

Bindgen

If you wish to re-generate the bindings, run c2cs from this directory.

NuGet packages

  1. Install the bottlenoselabs.uv NuGet package. This package contains only the C# bindings. To get the pre-release development packages which includes automated updates for commits to the Git submodule from source, use the NuGet package feed: https://www.myget.org/F/bottlenoselabs/api/v3/index.json.
  2. Install one of the following packages which contain the native library for the runtime identifier. More than one these packages can be installed at once if desired but is not strictly required and will waste disk space unnecessarily.
    • bottlenoselabs.uv.runtime.win-x64: The uv.dll native binary for Windows (64-bit).
    • bottlenoselabs.uv.runtime.osx: The libuv.dylib for macOS Intel (osx-x64) + macOS Apple Silicon (osx-arm64).
    • bottlenoselabs.uv.runtime.linux-x64: The libuv.so for Linux x64.

Developers: Documentation

  • For more information on how C# bindings work, see C2CS, the tool that generates the bindings for libuv and other C libraries.
  • To learn how to use libuv, check out the libuv's documentation.

License

libuv-cs is licensed under the MIT License (MIT) - see the LICENSE file for details.

libuv itself is licensed under MIT License (MIT) - see https://github.com/libuv/libuv/blob/v1.x/LICENSE for more details.

About

Automatically updated C# bindings for libuv https://github.com/libuv/libuv with native dynamic link libraries.

License:MIT License


Languages

Language:C# 99.1%Language:Shell 0.9%