[oe-commits] org.oe.dev Qtopia-Phone/X11: Add qtopia-phone based on Qt/X11.

freyther commit oe at amethyst.openembedded.net
Fri Apr 25 15:36:45 UTC 2008


Qtopia-Phone/X11: Add qtopia-phone based on Qt/X11.

Author: freyther at openembedded.org
Branch: org.openembedded.dev
Revision: fe20ecd5cefbc69f774851035c056a8b95807c14
ViewMTN: http://monotone.openembedded.org/revision/info/fe20ecd5cefbc69f774851035c056a8b95807c14
Files:
1
packages/qtopia-phone/qtopia-phone-x11
packages/qtopia-phone/qtopia-phone-x11/fic-gta02
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf
packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h
packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb
Diffs:

#
# mt diff -r5fbb91dc346a7a65e01bf4d2c1d41ba1bd6efec4 -rfe20ecd5cefbc69f774851035c056a8b95807c14
#
#
#
# add_dir "packages/qtopia-phone/qtopia-phone-x11"
# 
# add_dir "packages/qtopia-phone/qtopia-phone-x11/fic-gta02"
# 
# add_file "packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf"
#  content [e15c37a931d2465fe473cb9d90b40e50488e79ab]
# 
# add_file "packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h"
#  content [4548b7c6203d64cb5ba410f46ff363427f46e675]
# 
# add_file "packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb"
#  content [220e5de741e449f6eade4d195239f8b065331a61]
#
============================================================
--- packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf	e15c37a931d2465fe473cb9d90b40e50488e79ab
+++ packages/qtopia-phone/qtopia-phone-x11/fic-gta02/device-conf	e15c37a931d2465fe473cb9d90b40e50488e79ab
@@ -0,0 +1,42 @@
+-arch OE_QT_ARCH
+-xplatform OE_QT_XPLATFORM
+-verbose
+-qtopiamedia
+-mediaengines gstreamer
+-no-infrared
+-dbus
+-dbuspath OE_QT_DBUSPATH
+-iconsize 22
+-displaysize 480x640
+-extra-qtopiacore-config "-fast" 
+-extra-qtopiacore-config "-no-accessibility" 
+-extra-qtopiacore-config "-no-cups"
+-extra-qtopiacore-config "-nomake demos" 
+-extra-qtopiacore-config "-nomake examples"
+-extra-qtopiacore-config "-qt-libjpeg" 
+-extra-qtopiacore-config "-qt-libmng" 
+-extra-qtopiacore-config "-qt-libpng" 
+-extra-qtopiacore-config "-qt-zlib" 
+-extra-qtopiacore-config "-release" 
+-extra-qtopiacore-config "-no-sm"
+-extra-qtopiacore-config "OE_QT_ENDIAN"
+-extra-qt-config "-nomake examples" 
+-extra-qt-config "-nomake demos" 
+-extra-qt-config "-no-sm"
+-extra-qtopiacore-config "OE_QT_ENDIAN"
+-font dejavu_sans_condensed:10,11,13,15,16,17,18,19,28,36:50,75
+-image OE_QT_RPREFIX
+-launch-method quicklaunch
+-force-quicklaunch
+-no-clean 
+-no-drm
+-no-qvfb
+-no-vpn
+-no-sxe
+-no-silent
+-prefix OE_QT_RPREFIX
+-reduce-exports=yes
+-release
+-confirm-license
+OE_QT_EXTRACONFIG
+
============================================================
--- packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h	4548b7c6203d64cb5ba410f46ff363427f46e675
+++ packages/qtopia-phone/qtopia-phone-x11/fic-gta02/qplatformdefs.h	4548b7c6203d64cb5ba410f46ff363427f46e675
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** 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 at 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
============================================================
--- packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb	220e5de741e449f6eade4d195239f8b065331a61
+++ packages/qtopia-phone/qtopia-phone-x11_4.3.1.bb	220e5de741e449f6eade4d195239f8b065331a61
@@ -0,0 +1,116 @@
+# This is qtopia-phone recipe heavilly based off the one in the qtopia-phone
+# distribution.
+#
+# Please DO NOT merge this file into OE, it is not suitable for that yet as
+# it compiles both native and target binaries. This requires stuff to be
+# installed on the host which is against the aim of OE.
+
+DESCRIPTION = "Qtopia OpenSource"
+SECTION = "qtopia-phone"
+LICENSE = "GPL"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+DEPENDS = "glib-2.0 dbus tslib gstreamer freetype alsa-lib bluez-libs virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor libxtst"
+PROVIDES = "qtopia-phone"
+PR = "r1"
+SRCREV = "${AUTOREV}"
+SRC_URI = "git://git.openmoko.org/git/qtopia.git;protocol=git \
+           file://device-conf \
+           file://qplatformdefs.h"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig update-rc.d
+
+TARGET-DEVICE="${@base_contains('MACHINE', 'nokia770', ' nokia770', '',d)}"
+TARGET-DEVICE="${@base_contains('MACHINE', 'nokia800', ' nokia770', '',d)}"
+TARGET-DEVICE="${@base_contains('MACHINE', 'spitz', ' c3200', '',d)}"
+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)}"
+
+INITSCRIPT_NAME = "qpe"
+INITSCRIPT_PARAMS = "defaults 98"
+
+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_DBUSPATH = "${STAGING_DIR_HOST}"
+OE_QT_ARCH = "${QT_ARCH}"
+OE_QT_XPLATFORM = "${XPLATFORM}"
+OE_QT_LIBDIR = "${STAGING_LIBDIR}"
+OE_QT_INCDIR = "${STAGING_INCDIR}"
+OE_QT_RPREFIX = "/opt/Qtopia"
+OE_QT_ENDIAN = "${QT_ENDIAN}"
+OE_QT_EXTRACONFIG = "-I${STAGING_INCDIR}/dbus-1.0"
+
+do_configure() {
+
+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 at 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_ARCH|${OE_QT_ARCH}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_XPLATFORM|${OE_QT_XPLATFORM}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_LIBDIR|${OE_QT_LIBDIR}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_INCDIR|${OE_QT_INCDIR}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_RPREFIX|${OE_QT_RPREFIX}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_ENDIAN|${OE_QT_ENDIAN}|" ${WORKDIR}/device-conf
+sed -i -e "s|OE_QT_EXTRACONFIG|${OE_QT_EXTRACONFIG}|" ${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}
+
+}
+
+do_compile() {
+    cd ${BUILDDIR}
+    oe_runmake
+}
+
+do_stage() {
+}
+
+
+do_install() {
+   cd ${BUILDDIR}
+   oe_runmake install INSTALL_ROOT=${D}${OE_QT_RPREFIX} IMAGE=${D}${OE_QT_RPREFIX}
+   install -d ${D}${sysconfdir}/init.d
+   install -m 0755 ${S}/devices/${TARGET-DEVICE}/src/devtools/startup/qpe.sh ${D}${sysconfdir}/init.d/qpe
+
+}
+
+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}-dev += "${OE_QT_RPREFIX}/lib/*.so"
+






More information about the Openembedded-commits mailing list