Message ID | 20240731150714.332503-1-gael.portay@rtone.fr |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/qt5webengine: set -feature-webengine-system-jpeg if jpeg-turbo | expand |
On 31/07/2024 17:07, Gaël PORTAY wrote: > The configure flag -feature-webengine-system-jpeg[1] checks if a jpeg > library is in the sysroot. [snip] > This sets the configure option -feature-webengine-system-jpeg and adds > jpeg-turbo to the dependencies if jpeg-turbo is the selected variant. We decided that it's less hassle and less risky to just always use the bundled jpeg-turbo, so I adapted the commit accordingly and applied to master, thanks. Regards, Arnout > > Note: Chromium bundles jpeg-turbo[3][4] if not using the jpeg library > from the sysroot, or qt-jpeg[5]. > > [1]: https://github.com/qt/qtwebengine/blob/v5.15.14-lts/src/buildtools/configure.json#L609-L613 > [2]: https://github.com/qt/qtwebengine/blob/v5.15.14-lts/src/buildtools/configure.json#L95-L116 > [3]: https://github.com/qt/qtwebengine-chromium/tree/18c9261dc5b8aa57a0bdd5b62ce6f648cca1ef5e/chromium/third_party/libjpeg_turbo > [4]: https://github.com/qt/qtwebengine-chromium/blob/18c9261dc5b8aa57a0bdd5b62ce6f648cca1ef5e/chromium/third_party/libjpeg.gni > [5]: https://github.com/qt/qtwebengine/blob/v5.15.14-lts/src/buildtools/configure.json#L614-618 > > Fixes: > > looking for library webengine-jpeglib > Trying source 0 (type pkgConfig) of library webengine-jpeglib ... > + PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/pkg-config --exists --silence-errors libjpeg > + PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/pkg-config --modversion libjpeg > > 9.6.0 > + PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/pkg-config --libs-only-L libjpeg > > -L/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib > + PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/pkg-config --libs-only-l libjpeg > > -ljpeg > + PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/pkg-config --cflags libjpeg > > -I/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include > + cd /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib && PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" -early "CONFIG += cross_compile" 'QMAKE_USE += webengine-jpeglib' 'QMAKE_LIBS_WEBENGINE_JPEGLIB = -L/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -ljpeg' /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib > + cd /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib && MAKEFLAGS= make > > make[1]: Entering directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > > /home/gportay/src/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -mtune=arm1176jzf-s -march=armv6 --sysroot=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot -w -fPIC -I. -I/home/gportay/src/buildroot/output/host/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp > > main.cpp: In function ‘int main(int, char**)’: > > main.cpp:12:5: error: ‘jpeg_crop_scanline’ was not declared in this scope; did you mean ‘jpeg_write_scanlines’? > > 12 | jpeg_crop_scanline(nullptr, &dummy, &dummy); > > | ^~~~~~~~~~~~~~~~~~ > > | jpeg_write_scanlines > > main.cpp:13:5: error: ‘jpeg_skip_scanlines’ was not declared in this scope; did you mean ‘jpeg_write_scanlines’? > > 13 | jpeg_skip_scanlines(nullptr, dummy); > > | ^~~~~~~~~~~~~~~~~~~ > > | jpeg_write_scanlines > > make[1]: *** [Makefile:334: main.o] Error 1 > > make[1]: Leaving directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > => source failed verification. > Trying source 1 (type inline) of library webengine-jpeglib ... > + cd /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib && PKG_CONFIG_SYSROOT_DIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot PKG_CONFIG_LIBDIR=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/pkgconfig:/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/arm-buildroot-linux-gnueabihf/pkgconfig /home/gportay/src/buildroot/output/host/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" -early "CONFIG += cross_compile" 'QMAKE_USE += webengine-jpeglib' 'QMAKE_LIBS_WEBENGINE_JPEGLIB = -ljpeg' /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib > + cd /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib && MAKEFLAGS= make clean && MAKEFLAGS= make > > make[1]: Entering directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > > rm -f main.o > > rm -f *~ core *.core > > make[1]: Leaving directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > > make[1]: Entering directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > > /home/gportay/src/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -D_FORTIFY_SOURCE=1 -mtune=arm1176jzf-s -march=armv6 --sysroot=/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot -w -fPIC -I. -I/home/gportay/src/buildroot/output/host/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp > > main.cpp: In function ‘int main(int, char**)’: > > main.cpp:12:5: error: ‘jpeg_crop_scanline’ was not declared in this scope; did you mean ‘jpeg_write_scanlines’? > > 12 | jpeg_crop_scanline(nullptr, &dummy, &dummy); > > | ^~~~~~~~~~~~~~~~~~ > > | jpeg_write_scanlines > > main.cpp:13:5: error: ‘jpeg_skip_scanlines’ was not declared in this scope; did you mean ‘jpeg_write_scanlines’? > > 13 | jpeg_skip_scanlines(nullptr, dummy); > > | ^~~~~~~~~~~~~~~~~~~ > > | jpeg_write_scanlines > > make[1]: *** [Makefile:334: main.o] Error 1 > > make[1]: Leaving directory '/home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/config.tests/webengine-jpeglib' > => source failed verification. > test config.qtwebengine_buildtools.libraries.webengine-jpeglib FAILED > > Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr> > --- > package/qt5/qt5webengine/qt5webengine.mk | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk > index 529a83df6c..8c4a5c564d 100644 > --- a/package/qt5/qt5webengine/qt5webengine.mk > +++ b/package/qt5/qt5webengine/qt5webengine.mk > @@ -71,7 +71,6 @@ QT5WEBENGINE_DEPENDENCIES += \ > host-webp \ > host-zlib \ > freetype \ > - jpeg \ > lcms2 \ > libevent \ > libnss \ > @@ -94,7 +93,6 @@ QT5WEBENGINE_CONF_OPTS += \ > -feature-webengine-system-glib \ > -feature-webengine-system-glibc \ > -feature-webengine-system-harfbuzz \ > - -feature-webengine-system-jpeg \ > -feature-webengine-system-khr \ > -feature-webengine-system-lcms2 \ > -feature-webengine-system-libevent \ > @@ -121,6 +119,11 @@ QT5WEBENGINE_CONF_OPTS += \ > -no-feature-webengine-system-minizip \ > -no-feature-webengine-system-gn > > +ifeq ($(BR2_PACKAGE_JPEG_TURBO),y) > +QT5WEBENGINE_DEPENDENCIES += jpeg > +QT5WEBENGINE_CONF_OPTS += -feature-webengine-system-jpeg > +endif > + > ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) > QT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs > else
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk index 529a83df6c..8c4a5c564d 100644 --- a/package/qt5/qt5webengine/qt5webengine.mk +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -71,7 +71,6 @@ QT5WEBENGINE_DEPENDENCIES += \ host-webp \ host-zlib \ freetype \ - jpeg \ lcms2 \ libevent \ libnss \ @@ -94,7 +93,6 @@ QT5WEBENGINE_CONF_OPTS += \ -feature-webengine-system-glib \ -feature-webengine-system-glibc \ -feature-webengine-system-harfbuzz \ - -feature-webengine-system-jpeg \ -feature-webengine-system-khr \ -feature-webengine-system-lcms2 \ -feature-webengine-system-libevent \ @@ -121,6 +119,11 @@ QT5WEBENGINE_CONF_OPTS += \ -no-feature-webengine-system-minizip \ -no-feature-webengine-system-gn +ifeq ($(BR2_PACKAGE_JPEG_TURBO),y) +QT5WEBENGINE_DEPENDENCIES += jpeg +QT5WEBENGINE_CONF_OPTS += -feature-webengine-system-jpeg +endif + ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) QT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs else