summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Freyther <zecke@selfish.org>2008-03-18 18:42:51 +0000
committerHolger Freyther <zecke@selfish.org>2008-03-18 18:42:51 +0000
commit8bd23683ad73c1ec1a677fa3dba0172de94f432a (patch)
tree396fdab78187731a8c32573c00c482ae3e559991
parent2c8b4228ac297fb42b71608fd1419a9d79b24135 (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-conf20
-rw-r--r--packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h146
-rw-r--r--packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb71
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"