When we use Buildroot's re2 package to build qt5webengine, there is an issue at link time as the qt5webengine mistakenly uses the abseil-cpp headers of its built-in copy rather than the ones of our abseil-cpp library, built as a dependency of re2. However, we build our abseil-cpp differently than the one bundled, and that causes some conflicts. Since teaching Chromium's build system to not use its own abseil-cpp headers is an adventure we'd rather not engage into, we fallback to use the bundled re2. Therefore, we drop in Config.in all dependencies that were inherited from Buildroot's re2 package. This warrants a few comments: - BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS should be dropped because the list of architectures supported by our Buildroot abseil-cpp package may be different than the set of architectures supported by the bundled abseil-cpp in Chromium. In addition, the list of architectures in BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS is also a very limited subset of BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS, so this change will not expose the build of qt5webengine to additional architectures. - We're dropping BR2_TOOLCHAIN_GCC_AT_LEAST_8 because it was inherited from re2. The main qt5 package anyway depends on gcc >= 5.x. We will figure out thanks to the autobuilders exactly which gcc version is needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
109 lines
4.2 KiB
Plaintext
109 lines
4.2 KiB
Plaintext
config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_aarch64 || BR2_arm || \
|
|
BR2_i386 || BR2_x86_64 || \
|
|
BR2_mips || BR2_mips64
|
|
# -m32 flag is used for 32bit builds and host tools have
|
|
# limited architecture support
|
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
|
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
|
|
depends on !BR2_BINFMT_FLAT # qt5base-icu
|
|
depends on BR2_USE_MMU # libglib2, qt5base-dbus
|
|
|
|
comment "qt5webengine needs udev /dev management and a glibc toolchain w/ host gcc >= 4.9, threads, wchar"
|
|
depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
|
|
depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \
|
|
!BR2_HOST_GCC_AT_LEAST_4_9 || \
|
|
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
|
|
|
comment "qt5webengine needs an OpenGL and EGL-capable backend"
|
|
depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
|
|
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
|
|
|
|
config BR2_PACKAGE_QT5WEBENGINE
|
|
bool "qt5webengine"
|
|
depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo
|
|
depends on BR2_HOST_GCC_AT_LEAST_4_9 # qt5base-icu
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus
|
|
depends on BR2_USE_WCHAR # libglib2
|
|
depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
|
|
depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
|
|
depends on BR2_PACKAGE_HAS_UDEV
|
|
select BR2_PACKAGE_HOST_NODEJS
|
|
# v8 (a chromium 3rd-party) compiles its internal host-tools with the
|
|
# same word size as the target. For 32-bits targets, it adds the -m32
|
|
# flag (for 64-bits, it adds the -m64 flag).
|
|
# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
|
|
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
|
|
select BR2_PACKAGE_LCMS2
|
|
select BR2_PACKAGE_LIBEVENT
|
|
select BR2_PACKAGE_LIBGLIB2
|
|
select BR2_PACKAGE_LIBNSS
|
|
select BR2_PACKAGE_LIBVPX
|
|
select BR2_PACKAGE_LIBXKBCOMMON
|
|
select BR2_PACKAGE_LIBXML2
|
|
select BR2_PACKAGE_LIBXSLT
|
|
select BR2_PACKAGE_MINIZIP
|
|
select BR2_PACKAGE_OPUS
|
|
select BR2_PACKAGE_SNAPPY
|
|
select BR2_PACKAGE_WEBP
|
|
select BR2_PACKAGE_WEBP_DEMUX
|
|
select BR2_PACKAGE_WEBP_MUX
|
|
select BR2_PACKAGE_QT5BASE_DBUS
|
|
select BR2_PACKAGE_QT5BASE_EGLFS
|
|
select BR2_PACKAGE_QT5BASE_FONTCONFIG
|
|
select BR2_PACKAGE_QT5BASE_HARFBUZZ
|
|
select BR2_PACKAGE_QT5BASE_JPEG
|
|
select BR2_PACKAGE_QT5BASE_ICU
|
|
select BR2_PACKAGE_QT5BASE_GUI
|
|
select BR2_PACKAGE_QT5BASE_PNG
|
|
select BR2_PACKAGE_QT5BASE_WIDGETS
|
|
select BR2_PACKAGE_QT5DECLARATIVE
|
|
select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
|
select BR2_PACKAGE_QT5QUICKCONTROLS
|
|
select BR2_PACKAGE_QT5QUICKCONTROLS2
|
|
select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
|
|
select BR2_PACKAGE_QT5WEBCHANNEL
|
|
select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM
|
|
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
|
|
select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
|
|
help
|
|
The Qt WebEngine module provides a web browser engine that
|
|
makes it easy to embed content from the World Wide Web into
|
|
your Qt application.
|
|
|
|
Qt WebEngine provides C++ classes and QML types for rendering
|
|
HTML, XHTML, and SVG documents, styled using Cascading Style
|
|
Sheets (CSS) and scripted with JavaScript. HTML documents can
|
|
be made fully editable by the user through the use of the
|
|
contenteditable attribute on HTML elements.
|
|
|
|
https://doc.qt.io/qt-5/qtwebengine-index.html
|
|
|
|
if BR2_PACKAGE_QT5WEBENGINE
|
|
|
|
config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
|
|
bool "proprietary codecs"
|
|
help
|
|
Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format,
|
|
which includes required proprietary audio and video codecs,
|
|
such as H.264 and MPEG layer-3 (MP3).
|
|
|
|
config BR2_PACKAGE_QT5WEBENGINE_ALSA
|
|
bool "alsa"
|
|
select BR2_PACKAGE_ALSA_LIB
|
|
select BR2_PACKAGE_ALSA_LIB_MIXER
|
|
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
|
|
select BR2_PACKAGE_ALSA_LIB_HWDEP
|
|
select BR2_PACKAGE_ALSA_LIB_SEQ
|
|
help
|
|
Enable ALSA support.
|
|
|
|
endif
|