merge of 425cf1b391611c169a1c3b78f1fe86df088902b9
[vuplus_openembedded] / packages / qte / qte-common_2.3.10.inc
1 DESCRIPTION = "Qt/Embedded Version ${PV}"
2 SECTION = "libs"
3 PRIORITY = "optional"
4 HOMEPAGE = "http://www.trolltech.com"
5 LICENSE = "GPL"
6 DEPENDS = "zlib libpng jpeg tslib uicmoc-native"
7 DEPENDS_mnci = "zlib libpng jpeg uicmoc-native"
8 DEPENDS_append_c7x0 = " sharp-aticore-oss"
9 PROVIDES = "virtual/libqte2"
10
11 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-${PV}"
12
13 # Workaround GCC 4.1 issues with -fvisibility-inlines-hidden (see #1521)
14 # by disabling it for qpe only. TODO: pinpoint actual issue causing GCC 
15 # misbehavior.
16 CXXFLAGS += "-fno-visibility-inlines-hidden"
17
18 SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;md5sum=1f7ad30113afc500cab7f5b2f4dec0d7 \
19            file://qpe.patch;patch=1 \
20            file://vt-switch.patch;patch=1 \
21            file://daemonize.patch;patch=1 \
22            file://no-moc.patch;patch=1 \
23            file://gcc3.patch;patch=1 \
24            file://gcc4.patch;patch=1 \
25            file://c700-hardware.patch;patch=1 \
26            file://encoding.patch;patch=1 \
27            file://fix-qgfxraster.patch;patch=1 \
28            file://qt-visibility.patch;patch=1 \
29            file://tslib.patch;patch=1 \
30            file://simpad.patch;patch=1 \
31            file://handhelds.patch;patch=1 \
32            file://qiconview-speed.patch;patch=1 \
33            file://qtabbar.patch;patch=1 \
34            file://increase-qxml-robustness.patch;patch=1 \
35            file://qte-fix-iconsize.patch;patch=1 \
36            file://fix-linuxfb-setmode.patch;patch=1 \
37            file://fix-linuxfb-offscreenoverflow.patch;patch=1 \
38            file://fix-qscreen-sync.patch;patch=1 \
39            file://improve-calibration-r0.patch;patch=1 \
40            file://key.patch;patch=1 \
41            file://bidimetrics.patch;patch=5 \
42            file://fix-native-build.patch;patch=1 \
43            file://simpad-defaultkbd.patch;patch=1 \
44            file://fix-errno-exception-spec.patch;patch=1 \
45            file://keyboardless-buttonmap.patch;patch=1 \
46            file://sharp_char.h \
47            file://switches.h "
48
49 #
50 # add device specific patches here
51 #
52 SRC_URI_append_simpad       = "file://devfs.patch;patch=1 "
53 SRC_URI_append_c7x0         = "file://kernel-keymap.patch;patch=1;pnum=0 file://kernel-keymap-corgi.patch;patch=1 \
54                                file://c7x0-w100-accel.patch;patch=1 file://suspend-resume-hooks.patch;patch=1 "
55 SRC_URI_append_spitz        = "file://kernel-keymap.patch;patch=1;pnum=0 file://kernel-keymap-corgi.patch;patch=1 \
56                                file://kernel-keymap-CXK.patch;patch=1 "
57 SRC_URI_append_akita        = "file://kernel-keymap.patch;patch=1;pnum=0 file://kernel-keymap-corgi.patch;patch=1 \
58                                file://kernel-keymap-CXK.patch;patch=1 "
59 SRC_URI_append_poodle       = "file://kernel-keymap.patch;patch=1;pnum=0 "
60 SRC_URI_append_a780         = "file://kernel-keymap.patch;patch=1;pnum=0 "
61 SRC_URI_append_e680         = "file://kernel-keymap.patch;patch=1;pnum=0 "
62 SRC_URI_append_tosa         = "file://kernel-keymap.patch;patch=1;pnum=0 file://kernel-keymap-tosa.patch;patch=1 "
63 SRC_URI_append_jornada6xx   = "file://kernel-keymap.patch;patch=1;pnum=0 "
64 SRC_URI_append_jornada7xx   = "file://kernel-keymap.patch;patch=1;pnum=0 file://ipaq_sound_fix.patch;patch=1 "
65 SRC_URI_append_jornada56x   = "file://kernel-keymap.patch;patch=1;pnum=0 file://ipaq_sound_fix.patch;patch=1 "
66 SRC_URI_append_mnci         = "file://devfs.patch;patch=1 \
67                                file://mnci.patch;patch=1 \
68                                file://mnci-touchscreen.patch;patch=1 \
69                                file://qkeyboard_qws.h \
70                                file://qkeyboard_qws.cpp "
71 #SRC_URI_append_h1910        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
72 #SRC_URI_append_h1940        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
73 #SRC_URI_append_h2200        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
74 #SRC_URI_append_h3600        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
75 #SRC_URI_append_h3900        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
76 #SRC_URI_append_h4000        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
77 #SRC_URI_append_h5000        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
78 #SRC_URI_append_h6300        = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
79 #SRC_URI_append_hx2000       = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
80 #SRC_URI_append_hx4700       = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
81
82
83 S = "${WORKDIR}/qt-${PV}"
84 export QTDIR = "${S}"
85
86 require qte-functions.inc
87 QTE_ARCH := "${@qte_arch(d)}"
88
89 #
90 # add device configuration here
91 #
92 EXTRA_OECONF_CONFIG = "-qconfig qpe"
93 EXTRA_OECONF_CONFIG_c7x0 = "-qconfig qpe -accel-w100"
94 EXTRA_OECONF_CONFIG_native = "-qconfig qpe -qvfb"
95 EXTRA_OECONF = "-system-jpeg -system-libpng -system-zlib -no-qvfb -no-xft -no-vnc -gif \
96                 -xplatform ${TARGET_OS}-${QTE_ARCH}-g++ ${EXTRA_OECONF_CONFIG} -depths 8,16,32"
97 EXTRA_OEMAKE = "-e"
98
99 #
100 # add device flags here
101 #
102 EXTRA_DEFINES                   = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DWARNING_UNKNOWN_DEVICE"
103 EXTRA_DEFINES_collie            = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX"
104 EXTRA_DEFINES_poodle            = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX"
105 EXTRA_DEFINES_a780              = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ -DQT_QWS_EZX"
106 EXTRA_DEFINES_e680              = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ -DQT_QWS_EZX"
107 EXTRA_DEFINES_tosa              = "-DQT_QWS_TSLIB                 -DQT_QWS_SL5XXX -DQT_QWS_SL6000"
108 EXTRA_DEFINES_h1910             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
109 EXTRA_DEFINES_h1940             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
110 EXTRA_DEFINES_h2200             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
111 EXTRA_DEFINES_h3600             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" 
112 EXTRA_DEFINES_h3900             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
113 EXTRA_DEFINES_h3900             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
114 EXTRA_DEFINES_h4000             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
115 EXTRA_DEFINES_h5000             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
116 EXTRA_DEFINES_h6300             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
117 EXTRA_DEFINES_hx2000            = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
118 EXTRA_DEFINES_hx4700            = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
119 EXTRA_DEFINES_a716              = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
120 EXTRA_DEFINES_jornada56x        = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
121 EXTRA_DEFINES_jornada6xx        = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
122 EXTRA_DEFINES_jornada7xx        = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ"
123 EXTRA_DEFINES_simpad            = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ   -DQT_QWS_SIMPAD -DQT_QWS_DEVFS"
124 EXTRA_DEFINES_c7x0              = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX"
125 EXTRA_DEFINES_spitz             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX -DQT_QWS_SLCXK"
126 EXTRA_DEFINES_akita             = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SLC700 -DQT_QWS_SL5XXX -DQT_QWS_SLCXK"
127 EXTRA_DEFINES_mnci              = "                               -DQT_QWS_RAMSES                 -DQT_QWS_DEVFS"
128
129 #
130 # don't touch anything below here
131 #
132 export SYSCONF_CC = "${CC}"
133 export SYSCONF_CXX = "${CXX}"
134 export SYSCONF_LINK = "${CCLD}"
135 export SYSCONF_SHLIB = "${CCLD}"
136 export SYSCONF_CFLAGS = "${CFLAGS}"
137 export SYSCONF_LINK_SHLIB = "${CCLD}"
138 export SYSCONF_CXXFLAGS = "${CXXFLAGS} -pipe -DQWS -fno-exceptions -frtti -DNO_DEBUG ${EXTRA_DEFINES} -DUSE_BIDI"
139 # enable if gcc supports visibility
140 #export SYSCONF_CXXFLAGS = "${CXXFLAGS} -pipe -DQWS -fno-exceptions -frtti -fvisibility=hidden -DGCC_SUPPORTS_VISIBILITY -DNO_DEBUG ${EXTRA_DEFINES} -DUSE_BIDI"
141 export SYSCONF_LFLAGS = "${LDFLAGS} -lts"
142 export SYSCONF_LFLAGS_mnci = "${LDFLAGS}"
143 export SYSCONF_MOC = "${STAGING_BINDIR_NATIVE}/moc"
144 export SYSCONF_UIC = "${STAGING_BINDIR_NATIVE}/uic"
145
146 do_configure_prepend_mnci() {
147         chmod -R a+w ${S}/src/kernel
148         cp ${WORKDIR}/qkeyboard_qws.h ${S}/src/kernel
149         cp ${WORKDIR}/qkeyboard_qws.cpp ${S}/src/kernel
150         mkdir bin
151         ln -sf ${STAGING_BINDIR_NATIVE}/moc bin/moc
152         ln -sf ${STAGING_BINDIR_NATIVE}/uic bin/uic
153 }
154
155 # generate uclibc and eabi configurations
156 do_configure() {
157         for f in ${S}/configs/linux-*-g++-shared; do
158                 sed -e 's,-linux-,-linux-uclibc-,g' < $f \
159                         > `dirname $f`/`basename $f | sed -e 's,linux-,linux-uclibc-,'`
160                 sed -e 's,-linux-,-linux-gnueabi-,g' < $f \
161                         > `dirname $f`/`basename $f | sed -e 's,linux-,linux-gnueabi-,'`
162         done
163         echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
164 }
165
166 do_compile() {
167         unset CC LD CCLD CXX RANLIB AR STRIP CFLAGS LDFLAGS CXXFLAGS CPPFLAGS
168         install -d include/asm/ 
169         install -m 0644 ${WORKDIR}/sharp_char.h include/asm/
170         install -d include/linux/
171         install -m 0644 ${WORKDIR}/switches.h   include/linux/
172
173         # Create symlinks first and then compile the library
174         oe_runmake symlinks
175         oe_runmake src-mt sub-src
176 }
177
178 do_stage() {
179         rm -rf ${STAGING_DIR}/${HOST_SYS}/qt2
180         install -d ${STAGING_DIR}/${HOST_SYS}/qt2/lib
181         oe_libinstall -so -C lib lib${PN} ${STAGING_DIR}/${HOST_SYS}/qt2/lib
182         rm -f include/qxt.h
183         install -d ${STAGING_DIR}/${HOST_SYS}/qt2/include
184         cp -pfLR include/* ${STAGING_DIR}/${HOST_SYS}/qt2/include
185         cp -pPR lib/fonts ${STAGING_DIR}/${HOST_SYS}/qt2/lib/
186 }
187
188 do_install() {
189         oe_libinstall -so -C lib lib${PN} ${D}${palmqtdir}/lib/
190
191         install -d ${D}/${includedir}/qte
192         install -m 0644 include/*.h ${D}/${includedir}/qte/
193 }
194
195 FILES_${PN} = "${palmqtdir}/lib/lib${PN}.so.*"
196 FILES_${PN}-dev = "${includedir}/* ${palmqtdir}/lib/lib${PN}.so"
197 FILES_${PN}-dbg = "${palmtopdir}/lib/.debug/"