doom
cargo-zigbuild
Our great sponsors
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- SonarLint - Clean code begins in your IDE with SonarLint
doom | cargo-zigbuild | |
---|---|---|
5 | 17 | |
448 | 756 | |
1.6% | 9.5% | |
6.8 | 7.8 | |
6 days ago | 6 days ago | |
C | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
doom
- C2Rust Transpiler
-
How Does V Compare To Zig
I believe that you're talking about doom repository. If that's the case, how'd I believe that it was indeed done using C2V when it's non-existent (checked the repo, it's still empty). A simple AST parsing python script with some heuristics can achieve one time conversion, that doesn't mean that it would work for all C programs.
cargo-zigbuild
- [Review] Introducing cargo-xwin: A Solution for Cross-Compiling Rust on macOS to MSVC
- Compiling Linux to Mac in CI/CD
-
Conditional compilation to avoid cross compilation
Perhaps you can try cargo-zigbuild, it uses zig-cc for cross-compilation instead of creating a container, so it should be much more lightweight on MacOS, without all the cost of virtualization and file sharing.
- Cross-compiling simple Rust code from Mac OS X to Raspberry Pi 4
-
Future of Rust, 2023 and beyond?
I have tried, however I haven't been able to get it to work reliably (e.g. building on windows + linux on WSL works, Mac is a lot more involved; tried building for windows + linux on Mac and I couldn't get it to work at all); I've had some luck using zigbuild but that too doesn't seem to work for Mac.
-
C2Rust Transpiler
Zig also takes this approach, and even exposes its C compiler (which if I recall correctly is basically Clang plus diverse sysroots and other customisation out of the box) as a separate `zig cc`.
I do a lot of work in Rust, and cross-compilation can be a pain when you have a lot of C dependencies. Fortunately https://github.com/messense/cargo-zigbuild exists. It sounds crazy, but using Zig's inbuilt C compiler to help build my Rust projects has been the smoothest option I've found.
I can't help but wonder if it would be worth it for Rust to follow D and Zig by shipping its own inbuilt C compiler, even if they still want to also support external C toolchains. It should be roughly the same effort as it was for Zig, given that they both use LLVM.
-
Short story of Rust being amazing yet again (because it compiles on different architectures effortlessly)
Wait until you start using cargo zig-build. Suddenly it becomes way better than Go's cross compiler because you can seamlessly cross-compile rust AND C (thanks to Zig compiler of course). https://github.com/messense/cargo-zigbuild
- The perfect language
-
Cross-compilation in Rust
I've personally used cargo-zigbuild and cargo-xwin to distribute a GUI app built with iced.
-
Announcing rust.aws-cdk-lambda v1.0.0: a CDK library to cross-compile Rust code to AWS Lambda
I've just published a new major release, v1.0.0 of the rust.aws-cdk-lambda construct library, which now uses cargo-zigbuild instead of a containerized approach using cross for building and cross-compiling Rust code. After initial testing, I am quite satisfied with the results; overall build and deploy times seem to now be faster with zig, and compilation after making minor code changes is now overall much faster! I am using this CDK construct library in a professional setting currently, but I hope others can also take advantage and benefit from using this library along with AWS CDK for any deployments to AWS Lambda.
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
aws-lambda-rust-runtime - A Rust runtime for AWS Lambda
rust.aws-cdk-lambda - A CDK (v2) Construct Library for AWS Lambda in Rust
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
embed-c - Embed C code at compile time inside Rust using C2Rust
serverless-rust-demo - Sample serverless application written in Rust
abilists - An `abilists` parser crate for Rust.
aws-sam-cli-app-templates
Visual Studio Code - Visual Studio Code
wally - The Flash(ing tool)
terminal-typeracer