From patchwork Wed Mar 6 20:22:56 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 225629 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 822D32C0363 for ; Thu, 7 Mar 2013 07:25:48 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id C236AA0392; Wed, 6 Mar 2013 20:25:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sLXOG5qiJ5Ei; Wed, 6 Mar 2013 20:25:40 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 6FB0FA032A; Wed, 6 Mar 2013 20:24:01 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 942AF8F783 for ; Wed, 6 Mar 2013 20:24:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id CFA7180658 for ; Wed, 6 Mar 2013 20:23:52 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pU90BrFJSdtm for ; Wed, 6 Mar 2013 20:23:47 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.free-electrons.com (mail.free-electrons.com [94.23.35.102]) by whitealder.osuosl.org (Postfix) with ESMTP id E31948C48B for ; Wed, 6 Mar 2013 20:23:46 +0000 (UTC) Received: by mail.free-electrons.com (Postfix, from userid 106) id 7D1C3DFD; Wed, 6 Mar 2013 21:23:47 +0100 (CET) Received: from localhost (humanoidz.org [82.247.183.72]) by mail.free-electrons.com (Postfix) with ESMTPSA id 388FB7DE for ; Wed, 6 Mar 2013 21:23:46 +0100 (CET) From: Thomas Petazzoni To: buildroot@uclibc.org Date: Wed, 6 Mar 2013 21:22:56 +0100 Message-Id: <1362601396-32250-15-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1362601396-32250-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1362601396-32250-1-git-send-email-thomas.petazzoni@free-electrons.com> Subject: [Buildroot] [PATCH 14/34] qt5base: add GUI support X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Thomas Petazzoni --- package/qt5/qt5base/Config.in | 44 ++++++++++++++++++++++++++++++++++++++++ package/qt5/qt5base/qt5base.mk | 29 +++++++++++++++++++++----- 2 files changed, 68 insertions(+), 5 deletions(-) diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index 4cd6ce0..801ef6f 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -53,4 +53,48 @@ config BR2_PACKAGE_QT5BASE_XML help This options enables the Qt5Xml library. +config BR2_PACKAGE_QT5BASE_GUI + bool "gui module" + # At least one graphic backend must be enabled, so enable + # linuxfb if nothing is enabled. + select BR2_PACKAGE_QT5BASE_LINUXFB if \ + !BR2_PACKAGE_QT5BASE_DIRECTFB && \ + !BR2_PACKAGE_QT5BASE_XCB + help + This option enables the Qt5Gui library. + +if BR2_PACKAGE_QT5BASE_GUI + +config BR2_PACKAGE_QT5BASE_WIDGETS + bool "widgets module" + help + This option enables the Qt5Widgets library. + +config BR2_PACKAGE_QT5BASE_LINUXFB + bool "linuxfb support" + +config BR2_PACKAGE_QT5BASE_DIRECTFB + bool "directfb support" + select BR2_PACKAGE_DIRECTFB + +config BR2_PACKAGE_QT5BASE_XCB + bool "X.org XCB support" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBX11 + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_IMAGE + select BR2_PACKAGE_XCB_UTIL_KEYSYMS + select BR2_PACKAGE_XCB_UTIL_WM + +comment "X.org XCB backend available if X.org is enabled" + depends on !BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_QT5BASE_PRINTSUPPORT + bool "print support module" + select BR2_PACKAGE_QT5BASE_WIDGETS + help + This option enables the Qt5PrintSupport + +endif + endif diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 094ded1..7213238 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -20,13 +20,8 @@ QT5BASE_INSTALL_STAGING = YES # want to use the one packaged in Buildroot QT5BASE_CONFIGURE_OPTS += \ -optimized-qmake \ - -no-linuxfb \ - -no-xcb \ - -no-directfb \ -no-eglfs \ -no-kms \ - -no-gui \ - -no-widgets \ -no-opengl \ -no-glib \ -no-cups \ @@ -61,6 +56,26 @@ QT5BASE_LICENSE = Commercial license QT5BASE_REDISTRIBUTE = NO endif +# We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb +# is to add a link against the "inuxfb" library. +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb) + +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +QT5BASE_CONFIGURE_OPTS += -xcb +QT5BASE_DEPENDENCIES += \ + libxcb \ + xcb-util-wm \ + xcb-util-image \ + xcb-util-keysyms \ + xlib_libX11 +else +QT5_BASE_CONFIGURE_OPTS += -no-xcb +endif + # Build the list of libraries to be installed on the target QT5BASE_INSTALL_LIBS_y += Qt5Core QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK) += Qt5Network @@ -69,6 +84,10 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_SQL) += Qt5Sql QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_TEST) += Qt5Test QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML) += Qt5Xml +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_GUI) += Qt5Gui +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_WIDGETS) += Qt5Widgets +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport + # Ideally, we could use -device-option to substitute variable values # in our linux-buildroot-g++/qmake.config, but this mechanism doesn't # nicely support variable values that contain spaces. So we use the