mrustc
mrustc copied to clipboard
[WIP] Build via CMake
See issue #87.
This is WIP - Don't merge yet!
@ataulien What is the progress with this? It seems like the checks are passing? Anything more to do?
CMake isn't used by the CI system yet. The compiler itself builds fine, the standard libraries can be built as well, but there are some features in the original makefiles which I haven't ported over.
Edit: heh, it seems like I didn't push the latest changes. Let me do that quickly...
@ataulien I think as long as mrustc and minicargo builds fine with cmake, there could be a separate PR for the rest?
Just wondering what's missing and how I could help.
@ataulien Travis isn't happy
@dongcarl It seems to just hand at some point while ninja runs. I'll have a look at it tomorrow or so.
"Tomorrow" is today and I got the build working on travis. Turns out using make instead of ninja and getting rid of set -e makes it work.
It builds mrustc and minicargo just fine, but still fails at compiling the rust std-libraries.
If you make rust_libpanic_unwind and rust_libtest depend on rust_libstd then the standard library should compile.
Also, libproc_macro is a custom crate, its source is in lib/libproc_macro
@ataulien Any more progress on this? What's missing now?
The referenced issue has been closed; is this needed anymore?
Probably not needed? I feel that cmake is a little too much complexity to manage over just having a vsproject and makefile.
I think I'll note that I would love to see meson - makes it easier to integrate in some build system stuff I tend to tinker with (Flatpak, freedesktop-sdk)
I think I'll note that I would love to see meson - makes it easier to integrate in some build system stuff I tend to tinker with (Flatpak, freedesktop-sdk)
If mrustc gets a unified build system, it'd most likely be cmake - because cmake is already needed for llvm, and because I use it for my day job.