Tizen recipes : Fix tizen common build and get little more closer to current Tizen...
[scm/bb/meta-tizen.git] / meta-tizen-ivi / recipes-graphics / genivi-shell / genivi-shell.inc
1 DESCRIPTION = "GENIVI Shell Plugin-in"
2 HOMEPAGE = "http://git.projects.genivi.org/wayland-ivi-extension.git"
3 SECTION = "Graphics & UI Framework/Wayland Window System"
4 LICENSE = "Apache-2.0"
5 PV = "0.2.5"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by genivi-shell
17
18
19 #PROVIDES by genivi-shell-dev
20 PROVIDES += "genivi-shell-dev"
21
22
23 RDEPENDS = ""
24 #RDEPENDS of genivi-shell-dev (${PN}-dev)
25 RDEPENDS_${PN}-dev += "weston"
26 RDEPENDS_${PN}-dev += "genivi-shell"
27
28
29 DEPENDS = ""
30 #DEPENDS of genivi-shell
31 inherit tizen_cmake
32 DEPENDS += "libxkbcommon"
33 DEPENDS += "cairo"
34 inherit pkgconfig
35 DEPENDS += "weston-ivi-shell"
36 DEPENDS += "weston"
37 DEPENDS += "wayland"
38 DEPENDS += "libffi"
39
40 do_prep() {
41  cd ${S}
42  chmod -Rf a+rX,u+w,g-w,o-w ${S}
43  #setup -q
44  cp ${S}/packaging/genivi-shell.manifest .
45  
46  /usr/bin/wayland-scanner code < protocol/ivi-controller.xml \
47      > protocol/ivi-controller-protocol.c
48  
49  cat ivi-extension-protocol.pc.in \
50      | sed s\#@libdir@\#${prefix}/lib\#g \
51      | sed s\#@includedir@\#${prefix}/include/genivi-shell\#g \
52      | sed s\#@name@\#genivi-shell\#g \
53      | sed s\#@package_version@\#0.2.5\#g \
54      > ivi-extension-protocol.pc
55  
56  
57    cmake \
58          -DCMAKE_VERBOSE_MAKEFILE=ON \
59          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
60          -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
61          -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
62          -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
63          -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
64          -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
65          -DCMAKE_SKIP_RPATH:BOOL=ON \
66          -DBUILD_SHARED_LIBS:BOOL=ON \
67          -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
68          ${EXTRA_OECMAKE} .
69  
70  
71 }
72 do_patch_append() {
73     bb.build.exec_func('do_prep', d)
74 }
75
76 do_configure() {
77 }
78
79 do_compile() {
80  cd ${S}
81  LANG=C
82  export LANG
83  unset DISPLAY
84  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
85  
86  
87  make -j16 V=1
88  
89  
90  
91 }
92
93 do_install() {
94  export RPM_BUILD_ROOT=${D}
95  cd ${S}
96  LANG=C
97  export LANG
98  unset DISPLAY
99  rm -rf ${D}
100  mkdir -p ${D}
101  
102  
103    oe_runmake \
104          DESTDIR=${D} \
105          INSTALL_ROOT=${D} \
106          BINDIR=${prefix}/bin \
107    install  
108    rm -f ${D}${infodir}/dir 
109    find ${D} -regex ".*\.la$" | xargs rm -f -- 
110    find ${D} -regex ".*\.a$" | xargs rm -f --
111  
112  install -d ${D}${prefix}/include/genivi-shell/
113  install -d ${D}${prefix}/lib/pkgconfig/
114  install -d ${D}${prefix}/share/genivi-shell/protocol/
115  
116  install -m 644 protocol/ivi-application.xml ${D}${prefix}/share/genivi-shell/protocol/
117  install -m 644 protocol/ivi-controller.xml ${D}${prefix}/share/genivi-shell/protocol/
118  
119  install -m 644 protocol/ivi-application-server-protocol.h \
120      ${D}${prefix}/share/genivi-shell/protocol/
121  
122  install -m 644 protocol/ivi-application-protocol.c \
123      ${D}${prefix}/share/genivi-shell/protocol/
124  
125  install -m 644 protocol/ivi-application-client-protocol.h \
126      ${D}${prefix}/include/genivi-shell/
127  
128  install -m 644 protocol/ivi-controller-server-protocol.h \
129      ${D}${prefix}/share/genivi-shell/protocol/
130  
131  install -m 644 protocol/ivi-controller-protocol.c \
132      ${D}${prefix}/share/genivi-shell/protocol/
133  
134  install -m 644 protocol/ivi-controller-client-protocol.h \
135      ${D}${prefix}/include/genivi-shell/
136  
137  install -m 644 protocol/libivi-extension-protocol.a \
138      ${D}${prefix}/lib/
139  
140  install -m 644  ivi-extension-protocol.pc \
141      ${D}${prefix}/lib/pkgconfig/
142  
143  
144 }
145
146 pkg_postinst_${PN}() {
147     #!/bin/sh -e
148
149     [ "x$D" == "x" ] && ldconfig
150 }
151
152 pkg_postrm_${PN}() {
153     #!/bin/sh -e
154
155     [ "x$D" == "x" ] && ldconfig
156 }
157
158 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
159 PACKAGES += " genivi-shell "
160 PACKAGES += " genivi-shell-dev "
161
162 genivi-shell_files = ""
163 genivi-shell_files += "${prefix}/bin/IVISurfaceCreator"
164 genivi-shell_files += "${prefix}/bin/LayerManagerControl"
165 genivi-shell_files += "${prefix}/bin/EGLWLMockNavigation"
166 genivi-shell_files += "${prefix}/lib/libilmClient.so.*"
167 genivi-shell_files += "${prefix}/lib/libilmCommon.so.*"
168 genivi-shell_files += "${prefix}/lib/libilmControl.so.*"
169 genivi-shell_files += "${prefix}/lib/weston/ivi-controller.so"
170 genivi-shell_files += "${prefix}/bin/EGLWLInputEventExample"
171 MANIFESTFILES_${PN} = "genivi-shell.manifest"
172
173 genivi-shell-dev_files = ""
174 genivi-shell-dev_files += "${prefix}/include/ilm/ilm_client.h"
175 genivi-shell-dev_files += "${prefix}/include/ilm/ilm_common.h"
176 genivi-shell-dev_files += "${prefix}/include/ilm/ilm_control.h"
177 genivi-shell-dev_files += "${prefix}/include/ilm/ilm_platform.h"
178 genivi-shell-dev_files += "${prefix}/include/ilm/ilm_types.h"
179 genivi-shell-dev_files += "${prefix}/include/genivi-shell/*.h"
180 genivi-shell-dev_files += "${prefix}/lib/libilmClient.so"
181 genivi-shell-dev_files += "${prefix}/lib/libilmCommon.so"
182 genivi-shell-dev_files += "${prefix}/lib/libilmControl.so"
183 genivi-shell-dev_files += "${prefix}/lib/libivi-extension-protocol.a"
184 genivi-shell-dev_files += "${prefix}/lib/pkgconfig/ivi-extension-protocol.pc"
185 genivi-shell-dev_files += "${prefix}/share/genivi-shell/protocol/*.xml"
186 genivi-shell-dev_files += "${prefix}/share/genivi-shell/protocol/*.h"
187 genivi-shell-dev_files += "${prefix}/share/genivi-shell/protocol/*.c"
188
189 FILES_${PN} = "${genivi-shell_files}"
190 FILES_${PN}-dev = "${genivi-shell-dev_files}"
191
192 PKG_genivi-shell= "genivi-shell"
193 PKG_genivi-shell-dev= "genivi-shell-dev"
194
195 require genivi-shell-extraconf.inc
196