Replies: 3 comments 5 replies
-
:) The solution ended up being pretty straightforward - went with the zig toolchain route. Getting there took kind longer than I had hoped, but half of that was just fighting with the terminal. There are only a few changes to be made to Bundlex to get here, so I'll open a PR this weekend hopefully. Two things of note, maybe: (1) zig can compile C++ as well, as far as I understand, and (2) I have no idea if it'll work for more complex projects. I was going to try getting it set up for the simple pipeline demo, but I don't have time right now. The only other changes were mostly just small, typical Windows vs *nix things like .dll vs .so, \r\n, command flags.. not a ton. |
Beta Was this translation helpful? Give feedback.
-
I feel mostly okay with where the current PR for MSVC support is, but I'm still struggling with cross platform building in general (not just Bundlex, it's generally troublesome). So far I've, by a long shot, had the most luck experimenting with the zig toolchain. I was wondering if there's any interest in having that be a dedicated toolchain option for Bundlex. Currently the options needed for it are pretty verbose and redundant, and could be simplified. I also wonder if there's any overlap with what Burrito has done that Bundlex could utilize. |
Beta Was this translation helpful? Give feedback.
-
Yeah, that's why I think it's simpler to use a Docker/CI/VM to avoid cross-platform building
Definitely!
Not sure what it does there, but it seems it's not perfect either. I've recently been struggling to build a project with elixir-image on Ubuntu, even without cross-compilation. Gave up on it for now. |
Beta Was this translation helpful? Give feedback.
-
Even though Bundlex provides some support for Windows, the last time we made it work was several years ago and it was a tough experience. It's problematic, as many plugins depend on Bundlex, and the only sensible way to make them run on Windows is to use WSL, which may be unacceptable for some users. Thus, proper support for Windows in Bundlex would be very welcome. The needed features are:
To provide the support we have on Linux/OS X, we'd as well need:
I created a simple project that contains just simple C code and no dependencies: https://github.com/membraneframework-labs/bundlex_simple_example - making that work on Windows could be a good starter.
To provide these features, I'd recommend having a look at Zig toolchain. It's an easy-to-use toolchain (compared to Visual Studio, for example) that handles the compilation of both Zig and C. There is also Zigler, which supports Windows. I'm unsure about C++ though - however, we don't need that for the start, as only a few plugins use it.
Related discussion:
As for now, we don't plan to work on this, but we can provide help & assistance to anyone willing to contribute.
Beta Was this translation helpful? Give feedback.
All reactions