ivi-shell: add the shell plugin for In-Vehicle Infotainment system
- ivi-shell.so
- introduces ivi-shell/ivi-shell.[ch]
In-Vehicle Infotainment system traditionally manages surfaces with
global identification. A protocol, ivi_application, supports such a
feature by implementing a request, ivi_application::surface_creation
defined in ivi_application.xml.
The ivi-shell explicitly loads ivi-layout.so and a module to add
business logic like how to layout surfaces by using ivi-layout APIs.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/Makefile.am b/Makefile.am
index 0f6df8a..768cf3d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -725,7 +725,8 @@
if ENABLE_IVI_SHELL
module_LTLIBRARIES += \
- $(ivi_layout)
+ $(ivi_layout) \
+ $(ivi_shell)
ivi_layout = ivi-layout.la
ivi_layout_la_LDFLAGS = -module -avoid-version
@@ -737,6 +738,20 @@
ivi-shell/ivi-layout.c \
ivi-shell/ivi-layout-transition.c
+ivi_shell = ivi-shell.la
+ivi_shell_la_LDFLAGS = -module -avoid-version
+ivi_shell_la_LIBADD = $(COMPOSITOR_LIBS) libshared.la
+ivi_shell_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
+ivi_shell_la_SOURCES = \
+ ivi-shell/ivi-shell.h \
+ ivi-shell/ivi-shell.c \
+ ivi-shell/ivi-layout-private.h
+nodist_ivi_shell_la_SOURCES = \
+ protocol/ivi-application-protocol.c \
+ protocol/ivi-application-server-protocol.h
+
+BUILT_SOURCES += $(nodist_ivi_shell_la_SOURCES)
+
endif