diff options
author | Holger Freyther <zecke@selfish.org> | 2008-03-18 18:42:51 +0000 |
---|---|---|
committer | Holger Freyther <zecke@selfish.org> | 2008-03-18 18:42:51 +0000 |
commit | 8bd23683ad73c1ec1a677fa3dba0172de94f432a (patch) | |
tree | 396fdab78187731a8c32573c00c482ae3e559991 | |
parent | 2c8b4228ac297fb42b71608fd1419a9d79b24135 (diff) |
Qtopia/X11: Rework configuration, compilation of Qtopia with the hope to make the segfaults go away
-rw-r--r-- | packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/.mtn2git_empty (renamed from packages/qtopia-phone/qtopia-phone-x11/Xsession.d/.mtn2git_empty) | 0 | ||||
-rw-r--r-- | packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/99qtopia (renamed from packages/qtopia-phone/qtopia-phone-x11/Xsession.d/99qtopia) | 0 | ||||
-rw-r--r-- | packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf | 20 | ||||
-rw-r--r-- | packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h | 146 | ||||
-rw-r--r-- | packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb | 71 |
5 files changed, 36 insertions, 201 deletions
diff --git a/packages/qtopia-phone/qtopia-phone-x11/Xsession.d/.mtn2git_empty b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/qtopia-phone/qtopia-phone-x11/Xsession.d/.mtn2git_empty +++ b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/.mtn2git_empty diff --git a/packages/qtopia-phone/qtopia-phone-x11/Xsession.d/99qtopia b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/99qtopia index a85e9aa5fe..a85e9aa5fe 100644 --- a/packages/qtopia-phone/qtopia-phone-x11/Xsession.d/99qtopia +++ b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/99qtopia diff --git a/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf deleted file mode 100644 index 0ec27eb773..0000000000 --- a/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf +++ /dev/null @@ -1,20 +0,0 @@ --arch arm --xplatform OE_QT_XPLATFORM --little-endian --edition phone --dbus --displaysize 480x640 --voip --sound-system alsa --bluetooth --no-drm --no-sxe --no-infrared --extra-qtopiacore-config "-no-cups -no-iconv -no-sm -fontconfig -xrender -xrandr" --extra-qt-config "-nomake examples -nomake demos -no-sm" --image OE_QT_RPREFIX --launch-method normal --prefix OE_QT_RPREFIX --release --confirm-license - diff --git a/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h b/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h deleted file mode 100644 index c216578d97..0000000000 --- a/packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h +++ /dev/null @@ -1,146 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2000-2007 TROLLTECH ASA. All rights reserved. -** -** This file is part of the Opensource Edition of the Qtopia Toolkit. -** -** This software is licensed under the terms of the GNU General Public -** License (GPL) version 2. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -** -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -// 1) need to reset default environment if _BSD_SOURCE is defined -// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 -// 3) it seems older glibc need this to include the X/Open stuff -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - -#include <unistd.h> - - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#include <features.h> -#include <pthread.h> -#include <dirent.h> -#include <fcntl.h> -#include <grp.h> -#include <pwd.h> -#include <signal.h> -#include <dlfcn.h> - -#include <sys/types.h> -#include <sys/ioctl.h> -#include <sys/ipc.h> -#include <sys/time.h> -#include <sys/shm.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/wait.h> -#include <netinet/in.h> -#ifndef QT_NO_IPV6IFNAME -#include <net/if.h> -#endif - -#ifdef QT_LARGEFILE_SUPPORT -#define QT_STATBUF struct stat64 -#define QT_STATBUF4TSTAT struct stat64 -#define QT_STAT ::stat64 -#define QT_FSTAT ::fstat64 -#define QT_LSTAT ::lstat64 -#define QT_OPEN ::open64 -#define QT_TRUNCATE ::truncate64 -#define QT_FTRUNCATE ::ftruncate64 -#define QT_LSEEK ::lseek64 -#else -#define QT_STATBUF struct stat -#define QT_STATBUF4TSTAT struct stat -#define QT_STAT ::stat -#define QT_FSTAT ::fstat -#define QT_LSTAT ::lstat -#define QT_OPEN ::open -#define QT_TRUNCATE ::truncate -#define QT_FTRUNCATE ::ftruncate -#define QT_LSEEK ::lseek -#endif - -#ifdef QT_LARGEFILE_SUPPORT -#define QT_FOPEN ::fopen64 -#define QT_FSEEK ::fseeko64 -#define QT_FTELL ::ftello64 -#define QT_FGETPOS ::fgetpos64 -#define QT_FSETPOS ::fsetpos64 -#define QT_FPOS_T fpos64_t -#define QT_OFF_T off64_t -#else -#define QT_FOPEN ::fopen -#define QT_FSEEK ::fseek -#define QT_FTELL ::ftell -#define QT_FGETPOS ::fgetpos -#define QT_FSETPOS ::fsetpos -#define QT_FPOS_T fpos_t -#define QT_OFF_T long -#endif - -#define QT_STAT_REG S_IFREG -#define QT_STAT_DIR S_IFDIR -#define QT_STAT_MASK S_IFMT -#define QT_STAT_LNK S_IFLNK -#define QT_SOCKET_CONNECT ::connect -#define QT_SOCKET_BIND ::bind -#define QT_SOCKET_BIND ::bind -#define QT_FILENO fileno -#define QT_CLOSE ::close -#define QT_READ ::read -#define QT_WRITE ::write -#define QT_ACCESS ::access -#define QT_GETCWD ::getcwd -#define QT_CHDIR ::chdir -#define QT_MKDIR ::mkdir -#define QT_RMDIR ::rmdir -#define QT_OPEN_LARGEFILE O_LARGEFILE -#define QT_OPEN_RDONLY O_RDONLY -#define QT_OPEN_WRONLY O_WRONLY -#define QT_OPEN_RDWR O_RDWR -#define QT_OPEN_CREAT O_CREAT -#define QT_OPEN_TRUNC O_TRUNC -#define QT_OPEN_APPEND O_APPEND - -#define QT_SIGNAL_RETTYPE void -#define QT_SIGNAL_ARGS int -#define QT_SIGNAL_IGNORE SIG_IGN - -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -#define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#define QT_QLOCALE_USES_FCVT - -#endif // QPLATFORMDEFS_H diff --git a/packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb b/packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb index 6f2f2023d9..a7a1a2df85 100644 --- a/packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb +++ b/packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb @@ -12,11 +12,9 @@ PRIORITY = "optional" HOMEPAGE = "http://www.trolltech.com" DEPENDS = "glib-2.0 dbus freetype alsa-lib bluez-libs virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor libxtst" PROVIDES = "qtopia-phone" -PR = "r6" +PR = "r7" SRCREV = "${AUTOREV}" SRC_URI = "git://git.openmoko.org/git/qtopia.git;protocol=git \ - file://device-conf \ - file://qplatformdefs.h \ file://Xsession.d/99qtopia \ file://qtopia.sh" @@ -31,47 +29,47 @@ TARGET-DEVICE="${@base_contains('MACHINE', 'tosa', ' c3200', '',d)}" TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta01', 'ficgta01', '',d)}" TARGET-DEVICE="${@base_contains('MACHINE', 'fic-gta02', 'ficgta01', '',d)}" -export QTOPIA_DEPOT_PATH = "${S}" - require qtopia-phone_arch.inc +QT_ARCH = "${@qtopia_arch(d)}" +QT_ENDIAN = "${@qtopia_endian(d)}" PLATFORM = "${BUILD_OS}-g++" -XPLATFORM = "linux-oe-g++" BUILDDIR = "${WORKDIR}/build" +OE_QT_PREFIX = "/opt/Qtopia" -OE_QT_DBUSPATH = "${STAGING_DIR_HOST}" -OE_QT_XPLATFORM = "${XPLATFORM}" -OE_QT_RPREFIX = "/opt/Qtopia" +export OE_QMAKE_CC="${CC}" +export OE_QMAKE_CFLAGS="${CFLAGS}" +export OE_QMAKE_CXX="${CXX}" +export OE_QMAKE_LDFLAGS="${LDFLAGS}" +export OE_QMAKE_AR="${AR}" +export OE_QMAKE_STRIP="echo" +export OE_QMAKE_RPATH="-Wl,-rpath-link," do_configure() { +# This qmake some how does not honor env var, let us fix it by sed force +sed -i s%$\(OE_QMAKE_CC\)%"${CC}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_CFLAGS\)%"${CFLAGS}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_CXX\)%"${CXX}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_CXXFLAGS\)%"${CXXFLAGS}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_LINK\)%"${CXX}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_LDFLAGS\)%"${LDFLAGS}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_AR\)%"${AR}"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf +sed -i s%$\(OE_QMAKE_STRIP\)%"echo"%g ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/linux-oe-g++/qmake.conf + + unset CC unset CXX unset CFLAGS unset CXXFLAGS unset LDFLAGS -mkdir -p ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM} -install -m 644 ${S}/qtopiacore/qt/mkspecs/qws/linux-arm-g++/qmake.conf \ - ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM} -install -m 644 ${WORKDIR}/qplatformdefs.h \ - ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM} -sed -i -e "s@arm-linux-@${TARGET_SYS}-@" ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}/qmake.conf -sed -i -e "s|QMAKE_RPATH.*|QMAKE_RPATH =|" ${S}/devices/${TARGET-DEVICE}/mkspecs/qws/${XPLATFORM}/qmake.conf - -# sed the dynamic config into the file -sed -i -e "s|OE_QT_DBUSPATH|${OE_QT_DBUSPATH}|" ${WORKDIR}/device-conf -sed -i -e "s|OE_QT_XPLATFORM|${OE_QT_XPLATFORM}|" ${WORKDIR}/device-conf -sed -i -e "s|OE_QT_RPREFIX|${OE_QT_RPREFIX}|" ${WORKDIR}/device-conf - -rm -f ${S}/devices/${TARGET-DEVICE}/configure -cp ${WORKDIR}/device-conf ${S}/devices/${TARGET-DEVICE}/configure -rm -f ${S}/devices/${TARGET-DEVICE}/environment -echo "" > ${S}/devices/${TARGET-DEVICE}/environment mkdir -p ${BUILDDIR} cd ${BUILDDIR} -echo yes | ${S}/configure -device ${TARGET-DEVICE} -xplatform ${XPLATFORM} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/fontconfig -I${STAGING_INCDIR}/dbus-1.0 +echo yes | ${S}/configure -xplatform linux-oe-g++ -arch ${QT_ARCH} ${QT_ENDIAN} -prefix ${OE_QT_PREFIX} -device ${TARGET-DEVICE} -verbose \ + -no-drm -no-sxe -displaysize 480x640 -dbus -debug -extra-qtopiacore-config "-qt-libjpeg -qt-zlib -qt-libpng -no-iconv -no-sm -fontconfig -xrender -xrandr" \ + -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/fontconfig -I${STAGING_INCDIR}/dbus-1.0 } @@ -86,7 +84,7 @@ do_stage() { do_install() { cd ${BUILDDIR} - oe_runmake install INSTALL_ROOT=${D}${OE_QT_RPREFIX} IMAGE=${D}${OE_QT_RPREFIX} + oe_runmake install INSTALL_ROOT=${D}${OE_QT_PREFIX} IMAGE=${D}${OE_QT_PREFIX} # Install freedesktop.org .desktop files for enlightenment install -d ${D}${datadir}/applications @@ -110,12 +108,15 @@ do_install() { install -m 0755 ${WORKDIR}/qtopia.sh ${D}${sysconfdir}/profile.d/ } -FILES_${PN} += "${OE_QT_RPREFIX}/bin ${OE_QT_RPREFIX}/help \ - ${OE_QT_RPREFIX}/lib/*.so.* ${OE_QT_RPREFIX}/plugins \ - ${OE_QT_RPREFIX}/qtopia_db.sqlite ${OE_QT_RPREFIX}/sounds \ - ${OE_QT_RPREFIX}/etc ${OE_QT_RPREFIX}/i18n \ - ${OE_QT_RPREFIX}/pics ${OE_QT_RPREFIX}/qt_plugins \ - ${OE_QT_RPREFIX}/services ${OE_QT_RPREFIX}/lib/fonts" +FILES_${PN} += "${OE_QT_PREFIX}/bin ${OE_QT_PREFIX}/help \ + ${OE_QT_PREFIX}/lib/*.so.* ${OE_QT_PREFIX}/plugins/*/*.so \ + ${OE_QT_PREFIX}/qtopia_db.sqlite ${OE_QT_PREFIX}/sounds \ + ${OE_QT_PREFIX}/etc ${OE_QT_PREFIX}/i18n \ + ${OE_QT_PREFIX}/pics ${OE_QT_PREFIX}/qt_plugins/*/*.so \ + ${OE_QT_PREFIX}/services" + +FILES_${PN}-dbg += "${OE_QT_PREFIX}/lib/.debug/ ${OE_QT_PREFIX}/bin/.debug/ \ + ${OE_QT_PREFIX}/plugins/*/.debug/ ${OE_QT_PREFIX}/qt_plugins/*/.debug/ " -FILES_${PN}-dev += "${OE_QT_RPREFIX}/lib/*.so" +FILES_${PN}-dev += "${OE_QT_PREFIX}/lib/*.so" |