From patchwork Tue Sep 8 21:19:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 515580 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 6C4041400B7 for ; Wed, 9 Sep 2015 07:21:22 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8CA9D96865; Tue, 8 Sep 2015 21:21:14 +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 uy4undilDnOf; Tue, 8 Sep 2015 21:21:13 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id ED88696760; Tue, 8 Sep 2015 21:21:12 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 5C0381CE7B5 for ; Tue, 8 Sep 2015 21:20:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 58496A458C for ; Tue, 8 Sep 2015 21:20:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lpbya810WvQ8 for ; Tue, 8 Sep 2015 21:20:28 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [212.27.42.1]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 0E5F6A4558 for ; Tue, 8 Sep 2015 21:20:28 +0000 (UTC) Received: from adeos.localdomain (unknown [81.57.22.125]) by smtp1-g21.free.fr (Postfix) with ESMTP id 7958A94003E; Tue, 8 Sep 2015 23:20:26 +0200 (CEST) From: Romain Naour To: buildroot@buildroot.org Date: Tue, 8 Sep 2015 23:19:53 +0200 Message-Id: <1441747212-27421-20-git-send-email-romain.naour@openwide.fr> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1441747212-27421-1-git-send-email-romain.naour@openwide.fr> References: <1441747212-27421-1-git-send-email-romain.naour@openwide.fr> Subject: [Buildroot] [PACH v2 19/38] package/efl: add X11 support X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 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" Also, set x-includes and x-libraries configure option for cross-compiling. Previous efl versions had cross-compilation issue (poisoned paths) if these options are not passed to configure script. Signed-off-by: Romain Naour --- package/efl/Config.in | 41 +++++++++++++++++++++++++++++++++ package/efl/efl.mk | 63 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 102 insertions(+), 2 deletions(-) diff --git a/package/efl/Config.in b/package/efl/Config.in index d573942..47f511f 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -41,6 +41,47 @@ comment "libecore video support" config BR2_PACKAGE_EFL_FB bool "libecore framebuffer support" +config BR2_PACKAGE_EFL_X + bool "libecore X support" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + +if BR2_PACKAGE_EFL_X + +choice + prompt "select libecore XLIB/XCB support" + +config BR2_PACKAGE_EFL_X_XLIB + bool "libecore XLIB support" + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXDAMAGE + select BR2_PACKAGE_XLIB_LIBXINERAMA + select BR2_PACKAGE_XLIB_LIBXP + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXRENDER + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER + select BR2_PACKAGE_XLIB_LIBXTST + select BR2_PACKAGE_XPROTO_GLPROTO + +config BR2_PACKAGE_EFL_X_XCB + bool "libecore XCB support" + depends on !BR2_PACKAGE_EFL_RECOMMENDED_CONFIG + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_IMAGE # xcb-image.pc + select BR2_PACKAGE_XCB_UTIL_KEYSYMS # xcb-keysyms.pc + select BR2_PACKAGE_XCB_UTIL_RENDERUTIL # xcb-renderutil.pc + select BR2_PACKAGE_XCB_UTIL_WM # xcb-icccm.pc + select BR2_PACKAGE_XLIB_LIBX11 + +comment "for libecore XCB support disable recommanded configurations" + depends on BR2_PACKAGE_EFL_RECOMMENDED_CONFIG + +endchoice + +endif # BR2_PACKAGE_EFL_X + comment "libevas loaders" config BR2_PACKAGE_EFL_PNG diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 9990106..07d9eed 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -28,8 +28,7 @@ EFL_CONF_OPTS = \ --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \ --with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \ --disable-cxx-bindings \ - --enable-lua-old \ - --with-x11=none + --enable-lua-old # Disable untested configuration warning. ifeq ($(BR2_PACKAGE_EFL_RECOMMENDED_CONFIG),) @@ -170,6 +169,66 @@ else EFL_CONF_OPTS += --enable-fb=no endif +ifeq ($(BR2_PACKAGE_EFL_X),y) +EFL_CONF_OPTS += --with-x=$(STAGING_DIR) \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib \ + --with-opengl=none + +EFL_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXext +else +EFL_CONF_OPTS += --with-x=no \ + --with-x11=none +endif + +ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y) +EFL_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXcomposite \ + xlib_libXcursor \ + xlib_libXdamage \ + xlib_libXext \ + xlib_libXinerama \ + xlib_libXp \ + xlib_libXrandr \ + xlib_libXrender \ + xlib_libXScrnSaver \ + xlib_libXtst +EFL_CONF_OPTS += --with-x11=xlib +endif + +# xcb-util-image to provide xcb-image.pc +# xcb-util-renderutil to provide xcb-renderutil.pc +# xcb-util-wm to provide xcb-icccm.pc +# xcb-util-keysyms to provide xcb-keysyms.pc +ifeq ($(BR2_PACKAGE_EFL_X_XCB),y) +EFL_DEPENDENCIES += libxcb \ + xcb-util-image \ + xcb-util-keysyms \ + xcb-util-renderutil \ + xcb-util-wm +# You have chosen to use XCB instead of Xlib. It is a myth that XCB +# is amazingly faster than Xlib (when used sensibly). It can be +# faster in a few corner cases on startup of an app, but it comes +# with many downsides. One of those is more complex code inside +# ecore_x, which is far less tested in XCB mode than Xlib. Also +# the big catch is that OpenGL support basically requires Xlib anyway +# so if you want OpenGL in X11, you need Xlib regardless and so you +# gain nothing really in terms of speed and no savings in memory +# because Xlib is still linked, loaded and used, BUT instead you +# have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB) +# toolkit and this is basically never tested by anyone working on +# the OpenGL drivers, so you will have bugs. Do not enable XCB +# and use OpenGL. XCB is only useful if you wish to shave a few Kb +# off the memory footprint of a whole system and live with less +# tested code, and possibly unimplemented features in ecore_x. To +# remove the XCB setup, remove the --with-x11=xcb option to +# configure. +EFL_CONF_OPTS += --with-x11=xcb +endif + # image loader: handle only loaders that requires dependencies. # All other loaders are builded by default statically. ifeq ($(BR2_PACKAGE_EFL_PNG),y)