summaryrefslogtreecommitdiffstats
path: root/package/qt
diff options
context:
space:
mode:
Diffstat (limited to 'package/qt')
-rw-r--r--package/qt/Config.gfx.in19
-rw-r--r--package/qt/Config.in344
-rw-r--r--package/qt/Config.mouse.in24
-rw-r--r--package/qt/Config.sql.in42
-rw-r--r--package/qt/qt-4.5.2-fix-qt-zlib-build.patch20
-rw-r--r--package/qt/qt.mk583
6 files changed, 1032 insertions, 0 deletions
diff --git a/package/qt/Config.gfx.in b/package/qt/Config.gfx.in
new file mode 100644
index 000000000..0e222dd03
--- /dev/null
+++ b/package/qt/Config.gfx.in
@@ -0,0 +1,19 @@
+menu "Graphics drivers"
+
+config BR2_PACKAGE_QT_GFX_LINUXFB
+ bool "Linux Framebuffer"
+ default y
+
+config BR2_PACKAGE_QT_GFX_TRANSFORMED
+ bool "Transformed"
+
+config BR2_PACKAGE_QT_GFX_QVFB
+ bool "Qt Virtual Framebuffer"
+
+config BR2_PACKAGE_QT_GFX_VNC
+ bool "VNC"
+
+config BR2_PACKAGE_QT_GFX_MULTISCREEN
+ bool "multiscreen"
+
+endmenu
diff --git a/package/qt/Config.in b/package/qt/Config.in
new file mode 100644
index 000000000..b7fe0f939
--- /dev/null
+++ b/package/qt/Config.in
@@ -0,0 +1,344 @@
+comment "qt requires a toolchain with C++ support enabled"
+ depends on !BR2_INSTALL_LIBSTDCPP
+
+menuconfig BR2_PACKAGE_QT
+ bool "Qt"
+ depends on BR2_INSTALL_LIBSTDCPP
+ help
+ Qt for Embedded Linux.
+
+ http://www.qtsoftware.com/products/platform/qt-for-embedded-linux
+
+if BR2_PACKAGE_QT
+
+config BR2_PACKAGE_QT_DEBUG
+ bool "Compile with debug support"
+ help
+ If unsure, say N.
+
+choice
+ prompt "Library type"
+ default BR2_PACKAGE_QT_SHARED
+ help
+ Selects the library type: Shared or Static
+
+config BR2_PACKAGE_QT_SHARED
+ bool "Shared library"
+ help
+ Create and use shared Qt libraries.
+ If you have multiple programs that depend on Qt or intend to use
+ plugins, say Y.
+
+config BR2_PACKAGE_QT_STATIC
+ bool "Static Library"
+ help
+ Create and use static Qt libraries.
+ If you don't have multiple programs on the target that depends on
+ Qt, then this will save you quite some of storage space.
+ If unsure, say Y.
+
+endchoice
+
+config BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
+ bool "Use commercial license"
+
+config BR2_PACKAGE_QT_LICENSE_APPROVED
+ bool "Approve free license"
+ depends on !BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
+ help
+ Select this if you approve one of the available free licenses for the
+ Qt4 library.
+ By doing this you will not be asked while the library is compiled.
+ Please read and understand the license terms before approving this.
+
+ LGPL v2.1: http://doc.trolltech.com/4.5/lgpl.html
+ GPL v3.0: http://doc.trolltech.com/4.5/gpl.html
+
+config BR2_PACKAGE_QT_COMMERCIAL_USERNAME
+ string "Qt 4 Commercial License Username"
+ depends on BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
+ help
+ Commercial users can download their source directly by
+ providing a username.
+
+config BR2_PACKAGE_QT_COMMERCIAL_PASSWORD
+ string "Qt 4 Commercial License Password"
+ depends on BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL
+ help
+ Commercial users can download their source directly by
+ providing a password.
+
+config BR2_PACKAGE_QT_QT3SUPPORT
+ bool "Compatibility with Qt3"
+ help
+ Turns on support for older Qt3. This will create an additional
+ library with proxy code and increase the space required on target.
+ If unsure say n.
+
+config BR2_PACKAGE_QT_GUI_MODULE
+ bool "Gui Module"
+ select BR2_PACKAGE_QT_NETWORK
+ default y
+ help
+ Turns on support to Gui applications. If your board don't have
+ video output, or you don't require Qt GUI, say n.
+
+if BR2_PACKAGE_QT_GUI_MODULE
+menu "Pixel depths"
+comment "Deselecting each option leads to Qt's default (8,16,32)"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_ALL
+ bool "All supported depths"
+
+if !BR2_PACKAGE_QT_PIXEL_DEPTH_ALL
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_1
+ bool "1 bpp, black/white"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_4
+ bool "4 bpp, grayscale"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_8
+ bool "8 bpp, paletted"
+ default y
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_12
+ bool "12 bpp, rgb 4-4-4"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_15
+ bool "15 bpp, rgb 5-5-5"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_16
+ bool "16 bpp, rgb 5-6-5"
+ default y
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_18
+ bool "18 bpp, rgb 6-6-6"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_24
+ bool "24 bpp, rgb 8-8-8"
+
+config BR2_PACKAGE_QT_PIXEL_DEPTH_32
+ bool "32 bpp, argb 8-8-8-8 and rgb 8-8-8"
+ default y
+
+endif
+endmenu
+endif
+
+config BR2_PACKAGE_QT_GIF
+ bool "Enable GIF support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ help
+ This compiles and installs the plugin for GIF reading support.
+
+config BR2_PACKAGE_QT_LIBMNG
+ bool "Enable libmng support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ help
+ This compiles and installs the plugin for MNG support.
+
+choice
+ prompt "JPEG support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOJPEG
+ help
+ Select libjpeg support.
+
+config BR2_PACKAGE_QT_NOJPEG
+ bool "No jpeg support"
+ help
+ Disable JPEG support
+
+config BR2_PACKAGE_QT_SYSTEMJPEG
+ select BR2_PACKAGE_JPEG
+ bool "System libjpeg"
+ help
+ Link against system libjpeg
+
+config BR2_PACKAGE_QT_QTJPEG
+ bool "Use Qt bundled libjpeg"
+ help
+ Link against libjpeg proveded with Qt
+endchoice
+
+choice
+ prompt "PNG support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOPNG
+ help
+ Select which library to use if PNG support should be enabled.
+
+config BR2_PACKAGE_QT_NOPNG
+ bool "No PNG support"
+
+config BR2_PACKAGE_QT_SYSTEMPNG
+ bool "System libpng"
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_QT_QTPNG
+ bool "Use Qt bundled libpng"
+endchoice
+
+choice
+ prompt "TIFF support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOTIFF
+ help
+ Select which library to use if TIFF support should be enabled.
+
+config BR2_PACKAGE_QT_NOTIFF
+ bool "No TIFF support"
+
+config BR2_PACKAGE_QT_SYSTEMTIFF
+ bool "System libtiff"
+ select BR2_PACKAGE_TIFF
+
+config BR2_PACKAGE_QT_QTTIFF
+ bool "Use Qt bundled libtiff"
+endchoice
+
+choice
+ prompt "zlib support"
+ default BR2_PACKAGE_QT_QTZLIB
+ help
+ Select zlib support.
+
+config BR2_PACKAGE_QT_QTZLIB
+ bool "Qt zlib"
+ help
+ Use the zlib bundled with Qt.
+
+config BR2_PACKAGE_QT_SYSTEMZLIB
+ bool "System zlib"
+ select BR2_PACKAGE_ZLIB
+ help
+ Use the shared zlib from the system.
+endchoice
+
+choice
+ prompt "freetype2 support"
+ depends on BR2_PACKAGE_QT_GUI_MODULE
+ default BR2_PACKAGE_QT_NOFREETYPE
+ help
+ Select freetype2 support.
+
+config BR2_PACKAGE_QT_NOFREETYPE
+ bool "no freetype2 support"
+ help
+ Do not compile in Freetype2 support.
+
+
+config BR2_PACKAGE_QT_QTFREETYPE
+ bool "Qt freetype2"
+ help
+ Use the libfreetype bundled with Qt.
+
+config BR2_PACKAGE_QT_SYSTEMFREETYPE
+ bool "System freetype2"
+ select BR2_PACKAGE_FREETYPE
+ help
+ Use shared libfreetype from the target system.
+ See http://www.freetype.org/
+endchoice
+
+config BR2_PACKAGE_QT_EMB_PLATFORM
+ string "The embedded platform we are making Qt for"
+ default "arm" if BR2_arm
+ default "arm" if BR2_armeb
+ default "avr32" if BR2_avr32
+ default "x86" if BR2_i386
+ default "x86_64" if BR2_x86_64
+ default "mips" if BR2_mips
+ default "mips" if BR2_mipsel
+ default "ppc" if BR2_powerpc
+# Not that I really believe these will work..
+ default "generic" if BR2_alpha
+ default "generic" if BR2_chris
+ default "generic" if BR2_m68k
+ default "generic" if BR2_nios2
+ default "generic" if BR2_sh
+ default "generic" if BR2_sh64
+ default "generic" if BR2_sparc
+ help
+ The target platform.
+
+source "package/qt/Config.sql.in"
+if BR2_PACKAGE_QT_GUI_MODULE
+source "package/qt/Config.gfx.in"
+source "package/qt/Config.mouse.in"
+endif
+
+config BR2_PACKAGE_QT_PHONON
+ bool "Phonon Module"
+ select BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_GST_PLUGINS_BASE
+ help
+ Build the Phonon module. Support for different audio/video
+ formats can be configured at the GStreamer package.
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_XML
+ bool "XML Module"
+ default y
+ help
+ Build the XML module.
+
+config BR2_PACKAGE_QT_XMLPATTERNS
+ bool "XML Patterns Module"
+ depends on BR2_PACKAGE_QT_XML
+ help
+ Build QtXmlPatterns module.
+ If unsure, say n
+
+config BR2_PACKAGE_QT_SVG
+ bool "SVG Module"
+ help
+ Build the SVG module.
+ If unsure, say n
+
+config BR2_PACKAGE_QT_NETWORK
+ bool "Network Module"
+ default y
+ help
+ Install the Network module.
+ if unsure, say y
+
+config BR2_PACKAGE_QT_WEBKIT
+ bool "WebKit Module"
+ depends on BR2_PACKAGE_QT_NETWORK
+ help
+ Build the WebKit module.
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_STL
+ bool "STL support"
+ help
+ Compile STL support.
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_OPENSSL
+ bool "Enable OpenSSL support"
+ depends on BR2_PACKAGE_QT_NETWORK
+ select BR2_PACKAGE_OPENSSL
+ help
+ Enable support for the OpenSSL encryption library. If you use
+ QSslSocket say y here, otherwise, say no to save space on the
+ target.
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_SCRIPT
+ bool "Script Module"
+ default y
+ help
+ Build the Qt Script module.
+ if unsure, say y.
+
+config BR2_PACKAGE_QT_SCRIPTTOOLS
+ bool "Script Tools Module"
+ depends on BR2_PACKAGE_QT_SCRIPT
+ help
+ Build the Qt Script Tools module.
+ if unsure, say n.
+
+endif # BR2_PACKAGE_QT
diff --git a/package/qt/Config.mouse.in b/package/qt/Config.mouse.in
new file mode 100644
index 000000000..708597428
--- /dev/null
+++ b/package/qt/Config.mouse.in
@@ -0,0 +1,24 @@
+menu "Mouse drivers"
+
+config BR2_PACKAGE_QT_MOUSE_PC
+ bool "pc"
+
+config BR2_PACKAGE_QT_MOUSE_BUS
+ bool "bus"
+
+config BR2_PACKAGE_QT_MOUSE_LINUXTP
+ bool "linuxtp"
+
+config BR2_PACKAGE_QT_MOUSE_YOPY
+ bool "yopy"
+
+config BR2_PACKAGE_QT_MOUSE_VR41XX
+ bool "vr41xx"
+
+config BR2_PACKAGE_QT_MOUSE_TSLIB
+ bool "tslib"
+
+config BR2_PACKAGE_QT_MOUSE_QVFB
+ bool "qvfb"
+
+endmenu
diff --git a/package/qt/Config.sql.in b/package/qt/Config.sql.in
new file mode 100644
index 000000000..2ce8d7964
--- /dev/null
+++ b/package/qt/Config.sql.in
@@ -0,0 +1,42 @@
+menuconfig BR2_PACKAGE_QT_SQL_MODULE
+ bool "SQL Module"
+ help
+ Compile Qt SQL Module
+
+if BR2_PACKAGE_QT_SQL_MODULE
+config BR2_PACKAGE_QT_MYSQL
+ bool "MySQL Driver"
+ help
+ Build MySQL driver
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_IBASE
+ bool "iBase Driver"
+ help
+ Build iBase driver
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_ODBC
+ bool "ODBC Driver"
+ help
+ Build ODBC driver
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_PSQL
+ bool "PostgreSQL Driver"
+ help
+ Build PostgreSQL driver
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_SQLITE
+ bool "SQLite 3 Driver"
+ help
+ Build SQLite driver
+ If unsure, say n.
+
+config BR2_PACKAGE_QT_SQLITE2
+ bool "SQLite 2 Driver"
+ help
+ Build SQLite 2 driver
+ If unsure, say n.
+endif
diff --git a/package/qt/qt-4.5.2-fix-qt-zlib-build.patch b/package/qt/qt-4.5.2-fix-qt-zlib-build.patch
new file mode 100644
index 000000000..b191cc751
--- /dev/null
+++ b/package/qt/qt-4.5.2-fix-qt-zlib-build.patch
@@ -0,0 +1,20 @@
+When QT is compiled in qt-zlib mode, compilation of
+src/gui/painting/qprintengine_pdf.cpp fails because zlib.h is not
+found. The following patch adds the internal QT zlib directory to the
+include path to fix this issue.
+
+---
+ src/gui/painting/painting.pri | 3 +++
+ 1 file changed, 3 insertions(+)
+
+Index: qt-embedded-linux-opensource-src-4.5.2/src/gui/painting/painting.pri
+===================================================================
+--- qt-embedded-linux-opensource-src-4.5.2.orig/src/gui/painting/painting.pri
++++ qt-embedded-linux-opensource-src-4.5.2/src/gui/painting/painting.pri
+@@ -367,3 +367,6 @@
+ SOURCES += painting/qwindowsurface_d3d.cpp
+ }
+
++contains(QT_CONFIG, zlib) {
++ INCLUDEPATH += ../3rdparty/zlib
++}
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
new file mode 100644
index 000000000..ea59b0764
--- /dev/null
+++ b/package/qt/qt.mk
@@ -0,0 +1,583 @@
+######################################################################
+#
+# Qt Embedded for Linux 4.5
+# http://www.qtsoftware.com/
+#
+# This makefile was originally composed by Thomas Lundquist <thomasez@zelow.no>
+# Later heavily modified by buildroot developers
+#
+# BTW, this uses alot of FPU calls and it's pretty slow if you use
+# the kernels FPU emulation so it's better to choose soft float in the
+# buildroot config (and uClibc.config of course, if you have your own.)
+#
+######################################################################
+
+# BUG: In "OpenSuSE 10.2", dbus.h is at dbus-1.0/dbus/dbus.h
+# instead of at "dbus/dbus.h"
+# (cd /usr/include; sudo ln -s dbus-1.0/dbus dbus)
+# to fix
+
+# BUG: There is a workaround below (search for x86x86fix) for
+# x86 crosscompiling under linux x86. Please remove it when the workaround
+# is no longer necessary.
+
+QT_VERSION:=4.5.2
+QT_CAT:=$(BZCAT)
+
+BR2_PACKAGE_QT_COMMERCIAL_USERNAME:=$(strip $(subst ",, $(BR2_PACKAGE_QT_COMMERCIAL_USERNAME)))
+#"))
+BR2_PACKAGE_QT_COMMERCIAL_PASSWORD:=$(strip $(subst ",, $(BR2_PACKAGE_QT_COMMERCIAL_PASSWORD)))
+#"))
+
+QT_CONFIGURE:=#empty
+
+# What to download, free or commercial version.
+ifneq ($(BR2_PACKAGE_QT_COMMERCIAL_USERNAME),)
+QT_SITE:=http://$(BR2_PACKAGE_QT_COMMERCIAL_USERNAME):$(BR2_QT_COMMERCIAL_PASSWORD)@dist.trolltech.com/$(BR2_PACKAGE_QT_COMMERCIAL_USERNAME)
+QT_SOURCE:=qt-embedded-linux-commercial-src-$(QT_VERSION).tar.bz2
+QT_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-commercial-src-$(QT_VERSION)
+QT_CONFIGURE+= -commercial
+else # Good, good, we are free:
+QT_SITE=http://get.qtsoftware.com/qt/source
+QT_SOURCE:=qt-embedded-linux-opensource-src-$(QT_VERSION).tar.bz2
+QT_TARGET_DIR:=$(BUILD_DIR)/qt-embedded-linux-opensource-src-$(QT_VERSION)
+QT_CONFIGURE+= -opensource
+ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
+QT_CONFIGURE+= -confirm-license
+endif
+endif
+
+# If you want extra tweaking you can copy
+# $(QT_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
+# to the qt packages directory (where this .mk file is) and
+# remove the comment.
+# QT_QCONFIG_COMMAND:=-qconfig myfile
+#
+# For the options you can set in this file, look at
+# $(QT_TARGET_DIR)/src/corelib/global/qfeatures.txt
+#
+QT_QCONFIG_FILE:=package/qt/qconfig-myfile.h
+QT_QCONFIG_FILE_LOCATION:=/src/corelib/global/
+
+ifeq ($(BR2_LARGEFILE),y)
+QT_CONFIGURE+= -largefile
+else
+QT_CONFIGURE+= -no-largefile
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
+QT_CONFIGURE+= -qt3support
+else
+QT_CONFIGURE+= -no-qt3support
+endif
+
+
+### Pixel depths
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_ALL),y)
+QT_PIXEL_DEPTHS = all
+else
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y)
+QT_PIXEL_DEPTHS += 1
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y)
+QT_PIXEL_DEPTHS += 4
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y)
+QT_PIXEL_DEPTHS += 8
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y)
+QT_PIXEL_DEPTHS += 12
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y)
+QT_PIXEL_DEPTHS += 15
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y)
+QT_PIXEL_DEPTHS += 16
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y)
+QT_PIXEL_DEPTHS += 18
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y)
+QT_PIXEL_DEPTHS += 24
+endif
+ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y)
+QT_PIXEL_DEPTHS += 32
+endif
+endif
+ifneq ($(QT_PIXEL_DEPTHS),)
+QT_CONFIGURE += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS)))
+endif
+
+### Display drivers
+ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y)
+QT_CONFIGURE += -qt-gfx-linuxfb
+else
+QT_CONFIGURE += -no-gfx-linuxfb
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y)
+QT_CONFIGURE += -qt-gfx-transformed
+else
+QT_CONFIGURE += -no-gfx-transformed
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y)
+QT_CONFIGURE += -qt-gfx-qvfb
+else
+QT_CONFIGURE += -no-gfx-qvfb
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y)
+QT_CONFIGURE += -qt-gfx-vnc
+else
+QT_CONFIGURE += -no-gfx-vnc
+endif
+ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y)
+QT_CONFIGURE += -qt-gfx-multiscreen
+else
+QT_CONFIGURE += -no-gfx-multiscreen
+endif
+
+### Mouse drivers
+ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y)
+QT_CONFIGURE += -qt-mouse-pc
+else
+QT_CONFIGURE += -no-mouse-pc
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_BUS),y)
+QT_CONFIGURE += -qt-mouse-bus
+else
+QT_CONFIGURE += -no-mouse-bus
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y)
+QT_CONFIGURE += -qt-mouse-linuxtp
+else
+QT_CONFIGURE += -no-mouse-linuxtp
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_YOPY),y)
+QT_CONFIGURE += -qt-mouse-yopy
+else
+QT_CONFIGURE += -no-mouse-yopy
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_VR41XX),y)
+QT_CONFIGURE += -qt-mouse-vr41xx
+else
+QT_CONFIGURE += -no-mouse-vr41xx
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y)
+QT_CONFIGURE += -qt-mouse-tslib
+QT_DEP_LIBS+=tslib
+QT_TSLIB_DEB="-D TSLIBMOUSEHANDLER_DEBUG"
+QT_TSLIB_DEB:=$(strip $(subst ",, $(QT_TSLIB_DEB)))
+#"))
+else
+QT_CONFIGURE += -no-mouse-tslib
+endif
+ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y)
+QT_CONFIGURE += -qt-mouse-qvfb
+else
+QT_CONFIGURE += -no-mouse-qvfb
+endif
+
+ifeq ($(BR2_PACKAGE_QT_DEBUG),y)
+QT_CONFIGURE+= "-debug $(QT_TSLIB_DEB)"
+else
+QT_CONFIGURE+= -release
+endif
+
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+QT_CONFIGURE+= -shared
+else
+QT_CONFIGURE+= -static
+endif
+
+ifeq ($(BR2_ENDIAN),"LITTLE")
+QT_CONFIGURE+= -little-endian
+else
+QT_CONFIGURE+= -big-endian
+endif
+
+ifeq ($(BR2_PACKAGE_QT_GIF),y)
+QT_CONFIGURE+= -qt-gif
+else
+QT_CONFIGURE+= -no-gif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_LIBMNG),y)
+QT_CONFIGURE+= -qt-libmng
+else
+QT_CONFIGURE+= -no-libmng
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTZLIB),y)
+QT_CONFIGURE+= -qt-zlib
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y)
+QT_CONFIGURE+= -system-zlib
+QT_DEP_LIBS+=zlib
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTJPEG),y)
+QT_CONFIGURE+= -qt-libjpeg
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y)
+QT_CONFIGURE+= -system-libjpeg
+QT_DEP_LIBS+=jpeg
+else
+QT_CONFIGURE+= -no-libjpeg
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTPNG),y)
+QT_CONFIGURE+= -qt-libpng
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y)
+QT_CONFIGURE+= -system-libpng
+QT_DEP_LIBS+=libpng
+else
+QT_CONFIGURE+= -no-libpng
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_QTTIFF),y)
+QT_CONFIGURE+= -qt-libtiff
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y)
+QT_CONFIGURE+= -system-libtiff
+QT_DEP_LIBS+=tiff
+else
+QT_CONFIGURE+= -no-libtiff
+endif
+endif
+
+
+ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y)
+QT_CONFIGURE+= -qt-freetype
+else
+ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y)
+QT_CONFIGURE+= -system-freetype
+QT_CONFIGURE+= -I $(STAGING_DIR)/usr/include/freetype2/
+QT_DEP_LIBS+=freetype
+else
+QT_CONFIGURE+= -no-freetype
+endif
+endif
+
+
+ifeq ($(BR2_PACKAGE_QT_OPENSSL),y)
+QT_CONFIGURE+= -openssl
+QT_DEP_LIBS+=openssl
+else
+QT_CONFIGURE+= -no-openssl
+endif
+
+# Qt SQL Drivers
+ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
+ifeq ($(BR2_PACKAGE_QT_IBASE),y)
+QT_CONFIGURE+= -qt-sql-ibase
+endif
+ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
+QT_CONFIGURE+= -qt-sql-mysql
+endif
+ifeq ($(BR2_PACKAGE_QT_ODBC),y)
+QT_CONFIGURE+= -qt-sql-odbc
+endif
+ifeq ($(BR2_PACKAGE_QT_PSQL),y)
+QT_CONFIGURE+= -qt-sql-psql
+endif
+ifeq ($(BR2_PACKAGE_QT_SQLITE),y)
+QT_CONFIGURE+= -qt-sql-sqlite
+else
+QT_CONFIGURE+= -no-sql-sqlite
+endif
+ifeq ($(BR2_PACKAGE_QT_SQLITE2),y)
+QT_CONFIGURE+= -qt-sql-sqlite2
+endif
+else
+# By default, no SQL driver is turned on by configure.
+# but it seams sqlite isn't disabled despite what says
+# configure --help
+QT_CONFIGURE+= -no-sql-sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
+QT_CONFIGURE+= -xmlpatterns -exceptions
+else
+QT_CONFIGURE+= -no-xmlpatterns
+endif
+
+ifeq ($(BR2_PACKAGE_QT_PHONON),y)
+QT_CONFIGURE+= -phonon
+QT_DEP_LIBS+=gstreamer gst-plugins-base
+else
+QT_CONFIGURE+= -no-phonon
+endif
+
+ifeq ($(BR2_PACKAGE_QT_SVG),y)
+QT_CONFIGURE+= -svg
+else
+QT_CONFIGURE+= -no-svg
+endif
+
+ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
+QT_CONFIGURE+= -webkit
+else
+QT_CONFIGURE+= -no-webkit
+endif
+
+ifeq ($(BR2_PACKAGE_QT_STL),y)
+QT_CONFIGURE+= -stl
+else
+QT_CONFIGURE+= -no-stl
+endif
+
+QT_CONFIGURE:=$(strip $(subst ",, $(QT_CONFIGURE)))
+#"))
+BR2_PACKAGE_QT_EMB_PLATFORM:=$(strip $(subst ",, $(BR2_PACKAGE_QT_EMB_PLATFORM)))
+#"))
+
+# x86x86fix
+# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux
+# host. It's unclear if this would happen on other hosts.
+ifneq ($(findstring pc-linux,$(BR2_GNU_BUILD_SUFFIX)),)
+ifeq ($(BR2_PACKAGE_QT_EMB_PLATFORM),x86)
+QT_CONFIGURE+= -platform linux-g++
+QT_CONFIGURE:=$(strip $(subst ",, $(QT_CONFIGURE)))
+#"))
+endif
+endif
+# End of workaround.
+
+# Figure out what libs to install in the target
+QT_LIBS=#empty
+ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
+QT_LIBS+= qt-gui
+endif
+ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
+QT_LIBS+= qt-sql
+endif
+ifeq ($(BR2_PACKAGE_QT_PHONON),y)
+QT_LIBS+= qt-phonon
+endif
+ifeq ($(BR2_PACKAGE_QT_SVG),y)
+QT_LIBS+= qt-svg
+endif
+ifeq ($(BR2_PACKAGE_QT_NETWORK),y)
+QT_LIBS+= qt-network
+endif
+ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
+QT_LIBS+= qt-webkit
+endif
+ifeq ($(BR2_PACKAGE_QT_XML),y)
+QT_LIBS+= qt-xml
+endif
+ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
+QT_LIBS+= qt-xmlpatterns
+endif
+ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
+QT_LIBS+= qt-script
+endif
+ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
+QT_LIBS+= qt-scripttools
+endif
+
+QT_QMAKE_CONF:=$(QT_TARGET_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++/qmake.conf
+
+QT_QMAKE_AR:=$(TARGET_AR) cqs
+
+# Variable for other Qt applications to use
+QT_QMAKE:=$(STAGING_DIR)/usr/bin/qmake -spec qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++
+
+################################################################################
+# QT_QMAKE_SET -- helper macro to set QMAKE_<variable> = <value> in
+# QT_QMAKE_CONF. Will remove existing variable declaration if available.
+#
+# Argument 1 is the variable name (without QMAKE_)
+# Argument 2 is the value to set variable to
+#
+# E.G. use like this:
+# $(call QT_QMAKE_SET,variable,value)
+################################################################################
+define QT_QMAKE_SET
+ $(SED) '/QMAKE_$(1)/d' $(QT_QMAKE_CONF)
+ $(SED) '/include.*qws.conf/aQMAKE_$(1) = $(2)' $(QT_QMAKE_CONF)
+endef
+
+################################################################################
+# QT_INSTALL_PLUGINS -- helper macro to install Qt plugins to target and
+# strip them
+#
+# Argument 1 is the plugin folder
+#
+# E.G. use like this to install plugins/sqldrivers:
+# $(call QT_INSTALL_PLUGINS,sqldrivers)
+# ################################################################################
+define QT_INSTALL_PLUGINS
+ if [ -d $(STAGING_DIR)/usr/plugins/$(1) ]; then \
+ mkdir -p $(TARGET_DIR)/usr/plugins; \
+ cp -dpfr $(STAGING_DIR)/usr/plugins/$(1) $(TARGET_DIR)/usr/plugins/; \
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/plugins/$(1)/*; \
+ fi
+endef
+
+$(DL_DIR)/$(QT_SOURCE):
+ $(call DOWNLOAD,$(QT_SITE),$(QT_SOURCE))
+
+qt-source: $(DL_DIR)/$(QT_SOURCE)
+
+
+$(QT_TARGET_DIR)/.unpacked: $(DL_DIR)/$(QT_SOURCE)
+ $(QT_CAT) $(DL_DIR)/$(QT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(QT_TARGET_DIR) package/qt/ \
+ qt-$(QT_VERSION)-\*.patch \
+ qt-$(QT_VERSION)-\*.patch.$(ARCH)
+ touch $@
+
+$(QT_TARGET_DIR)/.configured: $(QT_TARGET_DIR)/.unpacked
+ifneq ($(BR2_INET_IPV6),y)
+ $(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(QT_TARGET_DIR)/configure
+ $(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(QT_TARGET_DIR)/configure
+endif
+ $(SED) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/' $(QT_TARGET_DIR)/configure
+ # Fix compiler path
+ $(call QT_QMAKE_SET,CC,$(TARGET_CC))
+ $(call QT_QMAKE_SET,CXX,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,LINK,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,LINK_SHLIB,$(TARGET_CXX))
+ $(call QT_QMAKE_SET,AR,$(QT_QMAKE_AR))
+ $(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
+ $(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
+ $(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP))
+ $(call QT_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS))
+ $(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS))
+ $(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS))
+ -[ -f $(QT_QCONFIG_FILE) ] && cp $(QT_QCONFIG_FILE) \
+ $(QT_TARGET_DIR)/$(QT_QCONFIG_FILE_LOCATION)
+# Qt doesn't use PKG_CONFIG, it searches for pkg-config with 'which'.
+# PKG_CONFIG_SYSROOT is only used to avoid a warning from Qt's configure system
+# when cross compiling, Qt 4.4.3 is wrong here.
+# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
+# instead of the host then.
+ (cd $(QT_TARGET_DIR); rm -rf config.cache; \
+ PATH=$(TARGET_PATH) \
+ PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
+ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
+ PKG_CONFIG_SYSROOT="$(STAGING_DIR)" \
+ ./configure \
+ $(if $(VERBOSE),-verbose,-silent) \
+ -force-pkg-config \
+ -embedded $(BR2_PACKAGE_QT_EMB_PLATFORM) \
+ $(QT_QCONFIG_COMMAND) \
+ $(QT_CONFIGURE) \
+ -no-cups \
+ -no-nis \
+ -no-accessibility \
+ -no-separate-debug-info \
+ -prefix /usr \
+ -hostprefix $(STAGING_DIR)/usr \
+ -fast \
+ -no-rpath \
+ -nomake examples \
+ -nomake demos \
+ )
+ touch $@
+
+$(QT_TARGET_DIR)/.compiled: $(QT_TARGET_DIR)/.configured
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QT_TARGET_DIR)
+ touch $@
+
+$(STAGING_DIR)/usr/lib/libQtCore.la: $(QT_TARGET_DIR)/.compiled
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(QT_TARGET_DIR) install
+
+qt-gui: $(STAGING_DIR)/usr/lib/libQtCore.la
+ mkdir -p $(TARGET_DIR)/usr/lib/fonts
+ touch $(TARGET_DIR)/usr/lib/fonts/fontdir
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/helvetica*.qpf $(TARGET_DIR)/usr/lib/fonts
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/fixed*.qpf $(TARGET_DIR)/usr/lib/fonts
+ cp -dpf $(STAGING_DIR)/usr/lib/fonts/micro*.qpf $(TARGET_DIR)/usr/lib/fonts
+ # Install image plugins if they are built
+ $(call QT_INSTALL_PLUGINS,imageformats)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtGui.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-sql: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,sqldrivers)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtSql.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-phonon: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,phonon_backend)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libphonon.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-svg: $(STAGING_DIR)/usr/lib/libQtCore.la
+ $(call QT_INSTALL_PLUGINS,iconengines)
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtSvg.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-network: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtNetwork.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-webkit: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtWebKit.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-xml: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtXml.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-xmlpatterns: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtXmlPatterns.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-script: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtScript.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+qt-scripttools: $(STAGING_DIR)/usr/lib/libQtCore.la
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtScriptTools.so.* $(TARGET_DIR)/usr/lib/
+endif
+
+
+$(TARGET_DIR)/usr/lib/libQtCore.so.4: $(STAGING_DIR)/usr/lib/libQtCore.la $(QT_LIBS)
+ # Strip all installed libs
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ cp -dpf $(STAGING_DIR)/usr/lib/libQtCore.so.* $(TARGET_DIR)/usr/lib/
+ -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libQt*.so.*
+endif
+
+qt: uclibc $(QT_DEP_LIBS) $(TARGET_DIR)/usr/lib/libQtCore.so.4
+
+qt-clean:
+ -$(MAKE) -C $(QT_TARGET_DIR) clean
+ -rm -rf $(TARGET_DIR)/usr/lib/fonts
+ifeq ($(BR2_PACKAGE_QT_SHARED),y)
+ -rm $(TARGET_DIR)/usr/lib/libQt*.so.*
+ -rm $(TARGET_DIR)/usr/lib/libphonon.so.*
+endif
+
+qt-dirclean:
+ rm -rf $(QT_TARGET_DIR)
+
+qt-status:
+ @echo "QT_QMAKE: " $(QT_QMAKE)
+ @echo "QT_DEP_LIBS: " $(QT_DEP_LIBS)
+ @echo "FREETYPE_DIR: " $(FREETYPE_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_QT),y)
+TARGETS+=qt
+endif