Add support for multiple libraries #14

Open
opened 2 months ago by Letterus · 1 comments
Owner

Multi library support is going to enable the generator automatically pull in library definitions one library depends on.

This adds some complexity of course, because as well as for the class dependencies, we need to create a dependency graph first and start with the topmost tree element to get the correct order.

For this to work

  • the parameter to start with is the directory containing the GIR files
  • a further parameter tells which library definition to exclude
  • within the walk of dependency tree (OGTKMapper) we need to add a flag at the topmost parent elements: For those classes the library includes have to be written on generation.

We probaby want to exclude the very basic Glib libs, because we want to replace those with ObjFW (otherwise a wrapper would be of no use and we are going to write an ObjC runtime for the GObject runtime ;-)). We may want to create a very small shadow lib (OGObject) that just wraps GObject and pulls in ObjFW.

This depends on #3 and #11.

Multi library support is going to enable the generator automatically pull in library definitions one library depends on. This adds some complexity of course, because as well as for the class dependencies, we need to create a dependency graph first and start with the topmost tree element to get the correct order. For this to work - the parameter to start with is the directory containing the GIR files - a further parameter tells which library definition to exclude - within the walk of dependency tree (`OGTKMapper`) we need to add a flag at the topmost parent elements: For those classes the library includes have to be written on generation. We probaby want to exclude the very basic Glib libs, because we want to replace those with ObjFW (otherwise a wrapper would be of no use and we are going to write an ObjC runtime for the GObject runtime ;-)). We may want to create a very small shadow lib (`OGObject`) that just wraps `GObject` and pulls in ObjFW. This depends on #3 and #11.
Letterus added this to the First stable release of ObjGTK milestone 2 months ago
Letterus added the
enhancement
label 2 months ago
Letterus self-assigned this 2 months ago
Letterus modified the milestone from First stable release of ObjGTK to Second tech preview of ObjGTK (0.2) 4 weeks ago
Poster
Owner

Further work done with cde8d59d8a, 1ad78247bf.

Further work done with cde8d59d8a, 1ad78247bf.
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.