Qtopia/X11: Rework configuration, compilation of Qtopia with the hope to make the...
authorHolger Freyther <zecke@selfish.org>
Tue, 18 Mar 2008 18:42:51 +0000 (18:42 +0000)
committerHolger Freyther <zecke@selfish.org>
Tue, 18 Mar 2008 18:42:51 +0000 (18:42 +0000)
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/.mtn2git_empty [moved from packages/qtopia-phone/qtopia-phone-x11/Xsession.d/.mtn2git_empty with 100% similarity]
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/Xsession.d/99qtopia [moved from packages/qtopia-phone/qtopia-phone-x11/Xsession.d/99qtopia with 100% similarity]
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf [deleted file]
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h [deleted file]
packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb

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 (file)
index 0ec27eb..0000000
+++ /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 (file)
index c216578..0000000
+++ /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
index 6f2f202..a7a1a2d 100644 (file)
@@ -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"