merge of 8b577ca08ab7b7fb1fc1a3b476b2d58fe81e6f4c
[openembedded.git] / classes / efl.bbclass
1 MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
2 HOMEPAGE = "http://www.enlightenment.org"
3 SECTION = "e/libs"
4
5 SRCNAME = "${@bb.data.getVar('PN', d, 1).replace('-native', '')}"
6 SRC_URI = "http://enlightenment.freedesktop.org/files/${SRCNAME}-${PV}.tar.gz"
7 S = "${WORKDIR}/${SRCNAME}-${PV}"
8
9 inherit autotools pkgconfig binconfig
10
11 do_prepsources () {
12   make clean distclean || true
13 }
14 addtask prepsources after do_fetch before do_unpack
15
16 INHIBIT_AUTO_STAGE_INCLUDES  = "1"
17 INHIBIT_NATIVE_STAGE_INSTALL = "1"
18
19 libdirectory = "src/lib"
20 libraries = "lib${SRCNAME}"
21 headers = "${@bb.data.getVar('SRCNAME',d,1).capitalize()}.h"
22
23 def binconfig_suffix(d):
24         import bb
25         return ["","-native"][bb.data.inherits_class('native', d)]
26
27 export CURL_CONFIG              = "${STAGING_BINDIR}/curl-config${@binconfig_suffix(d)}"
28 export EDB_CONFIG               = "${STAGING_BINDIR}/edb-config${@binconfig_suffix(d)}"
29 export EET_CONFIG               = "${STAGING_BINDIR}/eet-config${@binconfig_suffix(d)}"
30 export EVAS_CONFIG              = "${STAGING_BINDIR}/evas-config${@binconfig_suffix(d)}"
31 export ECORE_CONFIG             = "${STAGING_BINDIR}/ecore-config${@binconfig_suffix(d)}"
32 export EMBRYO_CONFIG            = "${STAGING_BINDIR}/embryo-config${@binconfig_suffix(d)}"
33 export ENGRAVE_CONFIG           = "${STAGING_BINDIR}/engrave-config${@binconfig_suffix(d)}"
34 export ENLIGHTENMENT_CONFIG     = "${STAGING_BINDIR}/enlightenment-config${@binconfig_suffix(d)}"
35 export EPSILON_CONFIG           = "${STAGING_BINDIR}/epsilon-config${@binconfig_suffix(d)}"
36 export EPEG_CONFIG              = "${STAGING_BINDIR}/epeg-config${@binconfig_suffix(d)}"
37 export ESMART_CONFIG            = "${STAGING_BINDIR}/esmart-config${@binconfig_suffix(d)}"
38 export FREETYPE_CONFIG          = "${STAGING_BINDIR}/freetype-config${@binconfig_suffix(d)}"
39 export IMLIB2_CONFIG            = "${STAGING_BINDIR}/imlib2-config${@binconfig_suffix(d)}"
40
41 do_compile_prepend() {
42         find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:'
43         find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:'
44 }
45
46 do_stage_append () {
47         for i in ${libraries}
48         do
49                 oe_libinstall -C ${libdirectory} $i ${STAGING_LIBDIR}
50         done
51         for i in ${headers}
52         do
53                 install -m 0644 ${libdirectory}/$i ${STAGING_INCDIR}
54         done
55
56         # Install binaries automatically for native builds
57         if [ "${@binconfig_suffix(d)}" = "-native" ]
58         then
59
60                 # Most EFL binaries start with the package name
61                 for i in src/bin/${SRCNAME}*
62                 do
63                         if [ -x $i -a -f $i ]
64                         then
65
66                                 # Don't install anything with an extension (.so, etc)
67                                 if echo $i | grep -v \\.
68                                 then
69                                         ${HOST_SYS}-libtool --mode=install install -m 0755 $i ${STAGING_BINDIR}
70                                 fi
71                         fi
72                 done
73         fi
74 }
75
76 PACKAGES = "${PN} ${PN}-themes ${PN}-dev ${PN}-examples "
77 FILES_${PN} = "${libdir}/lib*.so*"
78 FILES_${PN}-themes = "${datadir}/${PN}/themes ${datadir}/${PN}/data ${datadir}/${PN}/fonts ${datadir}/${PN}/pointers ${datadir}/${PN}/images ${datadir}/${PN}/users ${datadir}/${PN}/images ${datadir}/${PN}/styles"
79 FILES_${PN}-dev = "${bindir}/${PN}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${libdir}/lib*.a"
80 FILES_${PN}-examples = "${bindir} ${datadir}"
81