From patchwork Sun Jul 7 18:44:53 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Martin X-Patchwork-Id: 257376 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 EE7BC2C009D for ; Mon, 8 Jul 2013 04:46:21 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id A6F40A0156; Sun, 7 Jul 2013 18:46:16 +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 qw43tK8EQtkB; Sun, 7 Jul 2013 18:46:14 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 31A5EA0132; Sun, 7 Jul 2013 18:46:14 +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 6D7A28F753 for ; Sun, 7 Jul 2013 18:46:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 832438AA65 for ; Sun, 7 Jul 2013 18:46:17 +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 NKhWJSKLEuxx for ; Sun, 7 Jul 2013 18:46:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by whitealder.osuosl.org (Postfix) with ESMTPS id 88EFB83A76 for ; Sun, 7 Jul 2013 18:46:14 +0000 (UTC) Received: by mail-wi0-f181.google.com with SMTP id hq4so3335107wib.8 for ; Sun, 07 Jul 2013 11:46:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=rqjo/31DlzOlPdrJUa9eqxSkofBkx4qJsCVjW2/jXks=; b=X9od8w+5q8eC54yIJDUufL5VjY8qUcwDIuHjWYRyzYnSqy6FH3ODTmT8u/xZgdT6SA fxmQqu4c8+fqVAnesbgaubiFvjMr1oA6AXynbU2m8gx4RPvIFM/uKBoKaVIUBbyyK072 j2LUdT7sagYfsg2ydHy8W9eWoH/XhulhN8LFsHmcyPgOxwlt2PiuxF398ao9cNgknAn5 B4VpzMT8qElLLPmX1WDKkYoFSAidquetwaTq5R2cbvcpuHoa3FEh1TwAUzPCfIDqXGIv Y1HSlRPPbN6kTuQSFSAlGMYuI1m3OSxk1BoZ5HLxql5SP/y9RkIWD7XF5R3uR443vN03 QONA== X-Received: by 10.180.185.84 with SMTP id fa20mr27801230wic.49.1373222772901; Sun, 07 Jul 2013 11:46:12 -0700 (PDT) Received: from laptop.aldebaran.lan (ivr94-4-82-229-165-48.fbx.proxad.net. [82.229.165.48]) by mx.google.com with ESMTPSA id z6sm19675790wiv.11.2013.07.07.11.46.11 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 07 Jul 2013 11:46:12 -0700 (PDT) From: Samuel Martin To: buildroot@busybox.net Date: Sun, 7 Jul 2013 20:44:53 +0200 Message-Id: <1373222695-9148-1-git-send-email-s.martin49@gmail.com> X-Mailer: git-send-email 1.8.3.2 Subject: [Buildroot] [PATCH 1/3] qt{4, 5}: add an explicit choice to express Buildroot does not support their coexistence 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 Qt4 and Qt5 does not provide the same APIs; they can usually coexist on the same system. However, Buildroot does not alllow this coexistence because of some host-tools (qmake, etc) troubles when building qmake-based packages or projects (inside or outside Buildroot). So, since it is not possible to consider making a virtual package because of the APIs' differences, add an explicit choice. Signed-off-by: Samuel Martin --- package/Config.in | 7 ++++++- package/Config.in.qt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ package/qt/Config.in | 18 +++--------------- package/qt5/Config.in | 21 ++++----------------- 4 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 package/Config.in.qt diff --git a/package/Config.in b/package/Config.in index 7c24dab..415f7f8 100644 --- a/package/Config.in +++ b/package/Config.in @@ -142,10 +142,12 @@ source "package/sdl_gfx/Config.in" comment "other GUIs" source "package/efl/Config.in" -source "package/qt/Config.in" + +source "package/Config.in.qt" if BR2_PACKAGE_QT comment "QT libraries and helper libraries" +source "package/qt/Config.in" source "package/grantlee/Config.in" source "package/qextserialport/Config.in" source "package/qjson/Config.in" @@ -153,7 +155,10 @@ source "package/qtuio/Config.in" source "package/qwt/Config.in" endif +if BR2_PACKAGE_QT5 source "package/qt5/Config.in" +endif + source "package/x11r7/Config.in" source "package/weston/Config.in" diff --git a/package/Config.in.qt b/package/Config.in.qt new file mode 100644 index 0000000..a61bd81 --- /dev/null +++ b/package/Config.in.qt @@ -0,0 +1,46 @@ +choice + prompt "Qt library" + default BR2_PACKAGE_QT_NONE + help + Qt4 and Qt5 provide different set of APIs, so they are not equivalent. + They usually may coexist on the same system, but not in Buildroot because + host-tools like qmake are not properly handled between those two + versions. + + This host-tools issue cause troubles when building project using qmake. + + So, there is an explicit choice for what version of Qt should be build by + Buildroot. + +config BR2_PACKAGE_QTNONE + bool "none" + +comment "Qt4 requires a toolchain with C++ support enabled" + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_QT + bool "Qt4" + depends on !BR2_avr32 # lacks TLS + depends on BR2_INSTALL_LIBSTDCPP + help + Qt is a cross-platform application and UI framework for + developers using C++. + + http://qt-project.org + +comment "Qt5 needs a toolchain with WCHAR, IPv6, thread and C++ support" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_QT5 + bool "Qt5" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR + depends on BR2_INET_IPV6 + depends on BR2_TOOLCHAIN_HAS_THREADS + help + This option enables the Qt5 framework. Sub-options allow to + select which modules should be built. + + http://qt-project.org + +endchoice diff --git a/package/qt/Config.in b/package/qt/Config.in index 9f6e54d..fe92838 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -1,17 +1,5 @@ -comment "qt requires a toolchain with C++ support enabled" - depends on !BR2_INSTALL_LIBSTDCPP - -menuconfig BR2_PACKAGE_QT - bool "Qt" - depends on !BR2_avr32 # lacks TLS - depends on BR2_INSTALL_LIBSTDCPP - help - Qt is a cross-platform application and UI framework for - developers using C++. - - http://qt-project.org - -if BR2_PACKAGE_QT +menu "Qt4" + depends on BR2_PACKAGE_QT config BR2_PACKAGE_QT_DEBUG bool "Compile with debug support" @@ -392,4 +380,4 @@ config BR2_PACKAGE_QT_DECLARATIVE Build the Qt Declarative Module for qml support if unsure, say n. -endif # BR2_PACKAGE_QT +endmenu diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 2945d96..fef988c 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -1,20 +1,6 @@ -comment "Qt5 needs a toolchain with WCHAR, IPv6, thread and C++ support" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS +menu "Qt5" + depends on BR2_PACKAGE_QT5 -menuconfig BR2_PACKAGE_QT5 - bool "Qt5" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR - depends on BR2_INET_IPV6 - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_PACKAGE_QT - help - This option enables the Qt5 framework. Sub-options allow to - select which modules should be built. - - http://qt-project.org - -if BR2_PACKAGE_QT5 source "package/qt5/qt5base/Config.in" source "package/qt5/qt5declarative/Config.in" source "package/qt5/qt5graphicaleffects/Config.in" @@ -26,4 +12,5 @@ source "package/qt5/qt5script/Config.in" source "package/qt5/qt5svg/Config.in" source "package/qt5/qt5webkit/Config.in" source "package/qt5/qt5xmlpatterns/Config.in" -endif + +endmenu