cargo-zigbuild
dmd
cargo-zigbuild | dmd | |
---|---|---|
19 | 148 | |
1,224 | 2,894 | |
7.0% | 0.4% | |
8.6 | 9.9 | |
17 days ago | about 11 hours ago | |
Rust | D | |
MIT License | Boost Software License 1.0 |
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.
cargo-zigbuild
-
Show HN: macOS-cross-compiler ā Compile binaries for macOS on Linux
https://github.com/rust-cross/cargo-zigbuild
Iām curious what the blockers are for rustc to cross-compile like zig does natively.
- Cargo-zigbuild: Compile Rust using Zig as linker for easier cross compiling
- [Review] Introducing cargo-xwin: A Solution for Cross-Compiling Rust on macOS to MSVC
- Compiling Linux to Mac in CI/CD
- cargo-zigbuild 0.16 added support for (cross-)compiling macOS universal2 binaries/libraries
-
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
dmd
- Results of the Grand C++ Error Explosion Competition
- A History of C Compilers ā Part 1: Performance, Portability and Freedom
- D2 Playground
-
DMD Compiler as a Library: A Call to Arms
Here's the pipeline spitting out the same error as on my macbook did.
https://github.com/dlang/dmd/actions/runs/8023469412/job/219...
-
My favourite Git commit (2019)
Not completely on topic (if you read TFA) but my favorite Git commit is by compiler badass and HN frequenter, where he checks in an entire C compiler to the D language repo:
https://github.com/dlang/dmd/pull/12507
https://news.ycombinator.com/item?id=27102584
-
The C Bounded Model Checker: Criminally Underused
A new generated code alone is 4000 lines long [1]. The actual code added is just 2000 lines, and some are used to pay debts, I mean, to make a proper code generator (which can be alternatively written in a simpler scripting langauge). In any case it is never comparable to the entier C parser proper.
[1] https://github.com/dlang/dmd/pull/15307/files#diff-3677bcc89...
-
OpenD, a D language fork that is open to your contributions
D is completely opensource already (https://github.com/dlang/dmd). The "open" of OpenD is just ADR saying that OpenD will be more open to new language features than D has historically been.
-
The OpenD Programming Language (fork of D)
The reference compiler, DMD, is open source: https://github.com/dlang/dmd
But they don't accept just any Pull Request or features the community submits, understandably. There's a process called DIP for language improvements: https://github.com/dlang/DIPs/blob/master/DIPs/README.md
However, by some accounts, it's really hard to get anything through.
Given D already has so many feature, I find that to be a good thing , to be honest, by not everyone agrees, of course.
- Odin Programming Language
- D Programming Language
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
rust.aws-cdk-lambda - A CDK (v2) Construct Library for AWS Lambda in Rust
ldc - The LLVM-based D Compiler.
aws-lambda-rust-runtime - A Rust runtime for AWS Lambda
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
serverless-rust-demo - Sample serverless application written in Rust
dextool - Suite of C/C++ tooling built on LLVM/Clang
terminal-typeracer
Odin - Odin Programming Language
doom - DOOM translated from C to V.
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.