Skip to content
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

EbbRT front-end as shared object libraries #100

Closed
jimcadden opened this issue Mar 3, 2016 · 2 comments
Closed

EbbRT front-end as shared object libraries #100

jimcadden opened this issue Mar 3, 2016 · 2 comments

Comments

@jimcadden
Copy link
Contributor

EbbRT's "front-end" runtime, or perhaps EbbRT-on-Linux, should be exist as a set of shared object libraries and headers installed onto the host operating system. This way an application can link in the EbbRT libraries and interact through interfaces defined in the EbbRT headers. In general, we should strive to follow the "Linux way" of shared library organization, naming, placement, versioning and compatibility.

I image EbbRT built as a collection of object libraries, wherein each library encapsulates one-or-more Ebbs which in turn depend a lower-level runtime library. Application-specific objects can be built as static libraries and decoupled from the host installation.

When we implement this approach it will bring to the forefront interesting issues about how EbbRT libraries should be written and how code can be shared between hosted and native implementations.

Thoughts?

This enhancement would address issue #94

@jimcadden
Copy link
Contributor Author

Target Outline

  • Step 1. cmake install hosted EbbRT (shared/static) libraries onto system.
  • Step 2. New Hello World app & EbbRT-apps repo
  • Step 3. Install baremetal headers, build external baremetal libraries (cmake)
  • Step 4. Integrate EbbRT baremetal into toolchain to directly produce bootable img

@dschatzberg
Copy link
Contributor

Closing this as complete with the latest toolchain

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants