Include directory structure, and installation packages

Alan Griffiths alan.griffiths at canonical.com
Tue Mar 19 13:50:07 UTC 2013


Hi all,

>From discussions on recent MPs I think we lack a clear consensus on how
our headers relate to different use cases and how they are packaged. I
believe these are what we are wanting to support:

Use case 1:  client process, graphics toolkit.
Use case 2:  server process, graphics toolkit.
Use case 3:  server process, shell (or other use of mir as a library).

And the headers are organised with:

Use case 1:  client process, graphics toolkit.
    shared/mir_toolkit/ + client/mir_toolkit/ => <target>/mir_toolkit/

Use case 2:  server process, graphics toolkit.
    shared/mir_toolkit/ + server/mir_toolkit/ => <target>/mir/

Use case 3:  server process, use of mir as a library (shell).
    shared/mir/ + server/mir/  => <target>/mir/
   (and shared/mir_toolkit/common.h => <target>/mir_toolkit/ - which,
admittedly, is a bit odd)

We have some "internal" use cases:

Use case 4: examples - some are use case 1, some use case 3
Use case 5: tests - these have access to some internal headers too
(under src).

To support these, we have also accessory/mir

First question: have I missed an important use case?

Second question: any suggestions for better header layouts to support
these use cases?

Third question: does anyone else have anything further to add?

Thanks for reading,
Alan



More information about the Mir-devel mailing list