From: Peter Seiderer <ps.report@gmx.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/3 v4] package/qt5/qt5webengine: fix build dependencies for autodetected packages
Date: Fri, 18 Sep 2020 22:33:06 +0200 [thread overview]
Message-ID: <20200918223306.04712ecc@gmx.net> (raw)
In-Reply-To: <20200918223027.74a2ea7c@gmx.net>
Re-add CC: Yann, buildroot
Sorry,
Peter
On Fri, 18 Sep 2020 22:30:27 +0200, Peter Seiderer <ps.report@gmx.net> wrote:
> Hello Thomas,
>
> On Thu, 17 Sep 2020 20:51:47 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
>
> > On Wed, 16 Sep 2020 23:11:34 +0200
> > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> >
> > > +ifeq ($(BR2_PACKAGE_JSONCPP),y)
> > > +QT5WEBENGINE_DEPENDENCIES += jsoncpp
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_LCMS2),y)
> > > +QT5WEBENGINE_DEPENDENCIES += lcms2
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_LIBEVENT),y)
> > > +QT5WEBENGINE_DEPENDENCIES += libevent
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_LIBXML2),y)
> > > +QT5WEBENGINE_DEPENDENCIES += libxml2
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_LIBXSLT),y)
> > > +QT5WEBENGINE_DEPENDENCIES += libxslt
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_PROTOBUF),y)
> > > +QT5WEBENGINE_DEPENDENCIES += protobuf
> > > +endif
> > > +
> > > +ifeq ($(BR2_PACKAGE_SNAPPY),y)
> > > +QT5WEBENGINE_DEPENDENCIES += snappy
> > > +endif
> >
> > I am not 100% sure but I believe those dependencies do have options,
> > much like the -webengine-ffmpeg option that PATCH 1/3 is using. If you
> > look at ./src/core/configure.json in the qt5webengine sources, you can
> > see:
>
> Do not see options for jsoncpp, lcms2, libevent, libxml2, libxslt, protobuf
> or snappy...
>
> >
> > "commandline": {
> > "options": {
> > "webengine-alsa": "boolean",
> > "webengine-embedded-build": "boolean",
> > "webengine-full-debug-info": "boolean",
> > "webengine-icu": { "type": "enum", "name": "webengine-system-icu", "values": { "system": "yes", "qt": "no" } },
> > "webengine-ffmpeg": { "type": "enum", "name": "webengine-system-ffmpeg", "values": { "system": "yes", "qt": "no" } },
> > "webengine-opus": { "type": "enum", "name": "webengine-system-opus", "values": { "system": "yes", "qt": "no" } },
> > "webengine-webp": { "type": "enum", "name": "webengine-system-libwebp", "values": { "system": "yes", "qt": "no" } },
> > "webengine-pepper-plugins": "boolean",
> > "webengine-printing-and-pdf": "boolean",
> > "webengine-proprietary-codecs": "boolean",
> > "webengine-pulseaudio": "boolean",
> > "webengine-spellchecker": "boolean",
> > "webengine-native-spellchecker": "boolean",
> > "webengine-extensions": "boolean",
> > "webengine-webrtc": "boolean",
> > "webengine-geolocation": "boolean",
> > "webengine-webchannel": "boolean",
> > "webengine-kerberos": "boolean",
> > "alsa": { "type": "boolean", "name": "webengine-alsa" },
> > "pulseaudio": { "type": "boolean", "name": "webengine-pulseaudio" },
> > "ffmpeg": { "type": "enum", "name": "webengine-system-ffmpeg", "values": { "system": "yes", "qt": "no" } },
> > "opus": { "type": "enum", "name": "webengine-system-opus", "values": { "system": "yes", "qt": "no" } },
> > "webp": { "type": "enum", "name": "webengine-system-libwebp", "values": { "system": "yes", "qt": "no" } },
> > "pepper-plugins": { "type": "boolean", "name": "webengine-pepper-plugins" },
> > "printing-and-pdf": { "type": "boolean", "name": "webengine-printing-and-pdf" },
> > "proprietary-codecs": { "type": "boolean", "name": "webengine-proprietary-codecs" },
> > "spellchecker": { "type": "boolean", "name": "webengine-spellchecker" },
> > "extensions": { "type": "boolean", "name": "webengine-extensions" },
> > "webrtc": { "type": "boolean", "name": "webengine-webrtc" }
> > }
> > },
> >
> > So it seems like if we have a -webengine-ffmpeg option, then we should
> > also have many other options to enable (and perhaps disable ?) other
> > optional features.
> >
> > However, I'm not sure to understand the difference between the
> > "webengine-<something>" option and the corresponding "<something>"
> > option.
>
> I believe the second one is an (short) alias for the first/long one...
>
> >
> > Also, it seems like some options such as webengine-ffmpeg or
> > webengine-icu can take multiple values: they are enums and not
> > booleans. should we use -webengine-ffmpeg=system for example ? Ditto
> > for the other dependencies;
>
> Or '-webengine-ffmpeg' means option enabled/yes --> use system one
> as the summary output (from the original submit, [1]) suggests:
>
> According to build/qt5webengine-5.12.7/config.summary:
>
> Optional system libraries used:
> [...]
> ffmpeg ............................... yes
> [...]
>
>
> >
> > For the record, the qt5webengine source code bundles chromium in
> > ./src/3rdparty/, which itself bundles a bunch of things including
> > ffmpeg in ./src/3rdparty/chromium/third_party/ffmpeg/ (do you like when
> > a 3rdparty folder includes another third_party folder ?).
> >
> > Obviously, in the context of Buildroot, we'd prefer to use as few
> > bundled libraries as possible, and use as much as possible system
> > libraries.
>
> Still a lot of space for improvements....
>
> Regards,
> Peter
>
> [1] http://lists.busybox.net/pipermail/buildroot/2020-February/275313.html
>
> >
> > How is the configure.json above being parsed and used ?
> >
> > Thomas
>
next prev parent reply other threads:[~2020-09-18 20:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 21:11 [Buildroot] [PATCH 0/3 v4] package/qt5/qt5webengine: fix options and dependencies (branch yem/qt5webengine-options) Yann E. MORIN
2020-09-16 21:11 ` [Buildroot] [PATCH 1/3 v4] package/qt5/qt5webengine: fix ffmpeg/codec/alsa option handling for latest Yann E. MORIN
2020-09-17 12:55 ` Thomas Petazzoni
2020-09-17 15:39 ` Yann E. MORIN
2020-09-17 17:15 ` Peter Seiderer
2020-09-17 19:23 ` Nathan Ford
2020-09-17 21:08 ` Yann E. MORIN
2020-09-16 21:11 ` [Buildroot] [PATCH 2/3 v4] package/qt5/qt5webengine: ffmpeg supports needs webp mux Yann E. MORIN
2020-09-16 21:11 ` [Buildroot] [PATCH 3/3 v4] package/qt5/qt5webengine: fix build dependencies for autodetected packages Yann E. MORIN
2020-09-17 18:51 ` Thomas Petazzoni
2020-09-17 19:22 ` Nathan Ford
2020-09-17 20:07 ` Thomas Petazzoni
[not found] ` <20200918223027.74a2ea7c@gmx.net>
2020-09-18 20:33 ` Peter Seiderer [this message]
2021-01-11 22:24 ` [Buildroot] [PATCH 0/3 v4] package/qt5/qt5webengine: fix options and dependencies (branch yem/qt5webengine-options) Arnout Vandecappelle
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=20200918223306.04712ecc@gmx.net \
--to=ps.report@gmx.net \
--cc=buildroot@busybox.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.