-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do you think Adept need a build system? #12
Comments
Yes this is the plan, we will have to see how viable it is though. Getting the ABI right for every platform/os is extremely difficult. But yes like you mentioned, if it works out, it would drastically simplify cross compilation and potentially allow running sandboxed C code at compile time. Also yes, there are no immediate plans for C++ support. If it goes well with C, then maybe a subset of C++ would be supported (as the entire C++ spec is so massive and constantly changing that it's nearly impossible for any one person to fully know and implement). |
It seems you are misunderstanding me. I'm not talking about mixing Adept code with C/C++ code. I'm talking about support building of C/C++ projects. I have seen people using the Zig build system to build C/C++ projects. It's good to be able to parse C/C++ headers to import C/C++ methods, but it's not what this thread is about. Maybe you could have something like |
Ah ok yes, There are a lot of headaches that come with building C/C++ projects. Potentially there could be a hybrid approach of prebuilt binaries for complicated libraries, and optionally-prebuilt libraries with our own build format for less complicated ones. It might be possible, but there's still a lot to figure out |
That being said, it will not be suited for every project. It is the entire compiler and build-system, and cannot be switched out in parts. |
Please have a look at how Zig is doing it. I have never used Zig but I have read a lot of articles about it so I at least can imagine how it works. |
As Adept distribution already includes the |
Yes, It could be possible to ship with an entire gcc/llvm toolchain, but that is also computationally slow, expensive to maintain/support and takes up significantly more disk space. Zig is currently suffering from these problems and more from it's dependence on clang. They are trying to address them, but because it's so tightly coupled, they are struggling to make improvements. ziglang/zig#16270 Maybe there could be an optional additional install where you try to use the equivalent of However, in the long run we probably want to avoid relying on external tools as much as possible. In an ideal world, we would just support compiling them with the Adept compiler itself, which would be way faster, more portable, more interoperable, and easier to maintain. But yes we will have to see |
Zig comes immediately to mind, even though I only hear about it from other people and I have never actually tried it. But I think Adept should have the ability to build C/C++ projects (maybe only C, because C++ is another beast). This will also help cross-compilation.
The text was updated successfully, but these errors were encountered: