XOR-op / cronet-rs

Rust FFI bindings for Chromium network stack (cronet).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cronet-rs

Rust FFI bindings for Chromium network stack(cronet).

Note: This project is currently in an experimental phase and is at an early stage of development. It may be subject to frequent changes, and some features may not be fully implemented. Currently only macos-aarch64 and linux-x86_64 are tested.

How to build the project

# Download Chromium whose version is specified in `CHROMIUM_VERSION` file
./tools/import-upstream.sh 
# Patch source code
./build-script/patch.sh
# Prepare build tools
./build-script/get-clang.sh

# Invoke gn to generate .ninja files. For arm64 macOS, run
target_cpu="arm64" ./build-script/build.sh
# For other platforms, run
./build-script/build.sh

# Build static library
ninja -C chromium/out/Release cronet_static
# (Optional) Build dynamic library
ninja -C chromium/out/Release cronet

Credits

Thanks:

  • Chromium project for the basement of this project.
  • NaïveProxy for the original build scripts.

About

Rust FFI bindings for Chromium network stack (cronet).

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 81.6%Language:Python 14.3%Language:C 1.4%Language:Objective-C++ 1.4%Language:Starlark 0.3%Language:Shell 0.3%Language:Objective-C 0.3%Language:POV-Ray SDL 0.1%Language:Java 0.1%Language:Rust 0.1%Language:HTML 0.0%Language:JavaScript 0.0%Language:Jinja 0.0%Language:Assembly 0.0%Language:Handlebars 0.0%Language:Pawn 0.0%Language:sed 0.0%Language:TypeScript 0.0%Language:Makefile 0.0%