Include directory structure, and installation packages
Alexandros Frantzis
alexandros.frantzis at canonical.com
Tue Mar 19 15:35:43 UTC 2013
On Tue, Mar 19, 2013 at 01:50:07PM +0000, Alan Griffiths wrote:
> 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?
Here is an alternative, along with how it could be broken up into
packages:
shared/mir_toolkit/ => <target>/mir_toolkit: libmirtoolkit-common-dev
client/mir_toolkit/ => <target>/mir_toolkit: libmirtoolkit-client-dev
server/mir_toolkit/ => <target>/mir_toolkit: libmirtoolkit-server-dev
shared/mir + server/mir => <target>/mir: libmirserver-dev which will
depend on libmirtoolkit-common-dev (perhaps we can find a more suitable
name for libmirtoolkit-common-dev).
So, we would have something like:
#include <mir_toolkit/client.h>
#include <mir_toolkit/client_lightdm.h>
#include <mir_toolkit/server.h>
#include <mir_toolkit/server_bla.h>
#include <mir/compositor/compositor.h>
#include <mir/frontend/shell.h>
Thanks,
Alexandros
More information about the Mir-devel
mailing list