Openembedded Core Discussions
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 2/2] webkitgtk: fix to build without opengl
Date: Tue, 9 Oct 2018 09:54:01 +0800	[thread overview]
Message-ID: <4276ecb3-8062-dd9e-6750-5999d03ccb23@windriver.com> (raw)
In-Reply-To: <CAJTo0LYXgzCoL87B=gv6z5FmHNTfV2AOXkSTUnte0ai2wCri9Q@mail.gmail.com>

On 10/01/2018 07:11 PM, Burton, Ross wrote:
> >From the libepoxy web site:
>
> "Epoxy is a library for handling OpenGL function pointer management for you"
>
> libepoxy is essentially a glorified wrapper around dlopen()/dlsym().
> Are you simply moving the failure from build time to run time?
> libepoxy should be pulling in a GL implementation because that's what
> it does.
>
> Ross

Thanks for pointing out the problem.
I think we can now conclude that 'opengl' is necessary for webkitgtk?
I've pinged a patch which Hongxu sent some time ago.

Best Regards,
Chen Qi

> On Sat, 29 Sep 2018 at 10:34, Chen Qi <Qi.Chen@windriver.com> wrote:
>> Currently, webkitgtk cannot be built if 'opengl' is not in distro
>> feature. The error message is like below:
>>
>>    OpenGLShims.h:23:10: fatal error: GL/gl.h: No such file or directory
>>
>> The required distro feature for webkitgtk is only 'x11'.
>>
>>  From its source codes, libepoxy is an alternative option to build webkitgtk.
>> So fix to use it. In this way, we can successfully build out
>> webkitgtk if 'opengl' is not in distro features.
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>>   .../0001-fix-to-build-with-libepoxy.patch          | 35 ++++++++++++++++++++++
>>   meta/recipes-sato/webkit/webkitgtk_2.20.5.bb       |  4 ++-
>>   2 files changed, 38 insertions(+), 1 deletion(-)
>>   create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-fix-to-build-with-libepoxy.patch
>>
>> diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-fix-to-build-with-libepoxy.patch b/meta/recipes-sato/webkit/webkitgtk/0001-fix-to-build-with-libepoxy.patch
>> new file mode 100644
>> index 0000000..72ccef4
>> --- /dev/null
>> +++ b/meta/recipes-sato/webkit/webkitgtk/0001-fix-to-build-with-libepoxy.patch
>> @@ -0,0 +1,35 @@
>> +From 59c04daa31f8083bf4eff8304b13f34dd79d00a3 Mon Sep 17 00:00:00 2001
>> +From: Chen Qi <Qi.Chen@windriver.com>
>> +Date: Sat, 29 Sep 2018 16:32:57 +0800
>> +Subject: [PATCH] fix to build with libepoxy
>> +
>> +In source codes, there are places checking USE(LIBEPOXY), but
>> +in cmake files, there's nowhere to handle it.
>> +
>> +Fix to define USE_LIBEPOXY to 1 if ENABLE_LIBEPOXY is turned on.
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> +---
>> + Source/cmake/OptionsGTK.cmake | 4 ++++
>> + 1 file changed, 4 insertions(+)
>> +
>> +diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
>> +index 386fa1d..6e86257 100644
>> +--- a/Source/cmake/OptionsGTK.cmake
>> ++++ b/Source/cmake/OptionsGTK.cmake
>> +@@ -240,6 +240,10 @@ endif ()
>> +
>> + SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER TRUE)
>> +
>> ++if (ENABLE_LIBEPOXY)
>> ++    SET_AND_EXPOSE_TO_BUILD(USE_LIBEPOXY TRUE)
>> ++endif ()
>> ++
>> + if (ENABLE_OPENGL)
>> +     # ENABLE_OPENGL is true if either USE_OPENGL or ENABLE_GLES2 is true.
>> +     # But USE_OPENGL is the opposite of ENABLE_GLES2.
>> +--
>> +2.7.4
>> +
>> diff --git a/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb
>> index c8d4f94..24d10a2 100644
>> --- a/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb
>> +++ b/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb
>> @@ -23,6 +23,7 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
>>              file://0012-soup-Forward-declare-URL-class.patch \
>>              file://0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch \
>>              file://0001-webkitgtk-fix-CVE-2017-17821.patch \
>> +           file://0001-fix-to-build-with-libepoxy.patch \
>>              "
>>
>>   SRC_URI[md5sum] = "72a05f6a4dc1c78b079590a8fd280401"
>> @@ -42,7 +43,7 @@ DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
>>             "
>>
>>   PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
>> -                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \
>> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', 'libepoxy' ,d)} \
>>                      enchant \
>>                      libsecret \
>>                     "
>> @@ -52,6 +53,7 @@ PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/lib
>>   PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
>>   PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
>>   PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
>> +PACKAGECONFIG[libepoxy] = "-DENABLE_LIBEPOXY=ON,-DENABLE_LIBEPOXY=OFF,libepoxy"
>>   PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
>>   PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
>>   PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




      reply	other threads:[~2018-10-09  1:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-29  9:39 [PATCH 0/2] Fix to build webkitgtk without opengl Chen Qi
2018-09-29  9:39 ` [PATCH 1/2] libepoxy: fix PACKAGECONFIG to get rid of required opengl distro feature Chen Qi
2018-10-01 11:17   ` Burton, Ross
2018-09-29  9:39 ` [PATCH 2/2] webkitgtk: fix to build without opengl Chen Qi
2018-10-01 11:11   ` Burton, Ross
2018-10-09  1:54     ` ChenQi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4276ecb3-8062-dd9e-6750-5999d03ccb23@windriver.com \
    --to=qi.chen@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=ross.burton@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox