-
Notifications
You must be signed in to change notification settings - Fork 3
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
Modularize EEC into shared libraries #6
Comments
Per opener libraries would be preferred to decouple the backends. The current library mode may be sufficient without a shared heap. |
Superceded by #26 . |
Reopening as a means of coordinating modularization using actual modules to break up eecmain.e as a stepping-stone toward library modules. |
With this in consideration the compiler will then need a proper installer. Though it always needed the EModules assign modularising the compiler will mean it's split up into different system components it needs to load. Historically EC was composed of just one self contained binary file. |
@Hypexed Added to that, a modular compiler framework is easier to expand by adding different backends and ABIs to. AmigaE may never be cross-platform regardless of Chris Handley's attempt, but we should at least attempt to be system-friendly. Issue #35 added. |
@SamuraiCrow |
@Hypexed Of course having all that power will cost 32 megs of RAM so having the original backends will help as well. Ultimately, the core issue of loading in a PPC backend when you're compiling for 68k or vice versa means something has to change. As backends get bigger, they must also be modularly interchangeable. |
Since all code generators inherit from the codegen object in codegen.e, that would appear to be the starting place for this issue. Steps to make reentrant would include:
|
#9 is identified as a prerequesite to this issue. |
Once shared libraries are possible put each backend in a seperate library and interface to the compiler as a single backend. Prerequisites: issue 5
The text was updated successfully, but these errors were encountered: