1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# qt5webengine 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunQT5WEBENGINE_VERSION = $(QT5_VERSION) 8*4882a593SmuzhiyunQT5WEBENGINE_SITE = $(QT5_SITE)/qtwebengine/-/archive/v$(QT5WEBENGINE_VERSION)-lts 9*4882a593SmuzhiyunQT5WEBENGINE_SOURCE = qtwebengine-v$(QT5WEBENGINE_VERSION)-lts.tar.bz2 10*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES = qt5declarative qt5webchannel 11*4882a593SmuzhiyunQT5WEBENGINE_PATCH_DEPENDENCIES = qt5webengine-chromium 12*4882a593SmuzhiyunQT5WEBENGINE_INSTALL_STAGING = YES 13*4882a593SmuzhiyunQT5WEBENGINE_SYNC_QT_HEADERS = YES 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunQT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception 16*4882a593SmuzhiyunQT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ 17*4882a593Smuzhiyun LICENSE.GPLv3 LICENSE.LGPL3 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun# command line argument separator 20*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS = -- 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) 23*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES += qt5svg 24*4882a593Smuzhiyunendif 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) 27*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES += \ 28*4882a593Smuzhiyun xlib_libXcomposite \ 29*4882a593Smuzhiyun xlib_libXcursor \ 30*4882a593Smuzhiyun xlib_libXi \ 31*4882a593Smuzhiyun xlib_libxkbfile \ 32*4882a593Smuzhiyun xlib_libXrandr \ 33*4882a593Smuzhiyun xlib_libXScrnSaver \ 34*4882a593Smuzhiyun xlib_libXtst 35*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += \ 36*4882a593Smuzhiyun -feature-webengine-ozone \ 37*4882a593Smuzhiyun -feature-webengine-system-libdrm \ 38*4882a593Smuzhiyun -feature-webengine-system-x11 \ 39*4882a593Smuzhiyun -feature-webengine-system-xkbfile \ 40*4882a593Smuzhiyun -feature-webengine-system-xcomposite \ 41*4882a593Smuzhiyun -feature-webengine-system-xcursor \ 42*4882a593Smuzhiyun -feature-webengine-system-xi \ 43*4882a593Smuzhiyun -feature-webengine-system-xproto-gl \ 44*4882a593Smuzhiyun -feature-webengine-system-xtst 45*4882a593Smuzhiyunelse 46*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += \ 47*4882a593Smuzhiyun -no-feature-webengine-ozone \ 48*4882a593Smuzhiyun -no-feature-webengine-system-libdrm \ 49*4882a593Smuzhiyun -no-feature-webengine-system-x11 \ 50*4882a593Smuzhiyun -no-feature-webengine-system-xkbfile \ 51*4882a593Smuzhiyun -no-feature-webengine-system-xcomposite \ 52*4882a593Smuzhiyun -no-feature-webengine-system-xcursor \ 53*4882a593Smuzhiyun -no-feature-webengine-system-xi \ 54*4882a593Smuzhiyun -no-feature-webengine-system-xproto-gl \ 55*4882a593Smuzhiyun -no-feature-webengine-system-xtst 56*4882a593Smuzhiyunendif 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES += \ 59*4882a593Smuzhiyun host-bison \ 60*4882a593Smuzhiyun host-flex \ 61*4882a593Smuzhiyun host-freetype \ 62*4882a593Smuzhiyun host-gperf \ 63*4882a593Smuzhiyun host-harfbuzz \ 64*4882a593Smuzhiyun host-icu \ 65*4882a593Smuzhiyun host-ninja \ 66*4882a593Smuzhiyun host-nodejs \ 67*4882a593Smuzhiyun host-pkgconf \ 68*4882a593Smuzhiyun host-libjpeg \ 69*4882a593Smuzhiyun host-libnss \ 70*4882a593Smuzhiyun host-libpng \ 71*4882a593Smuzhiyun host-python3 \ 72*4882a593Smuzhiyun host-webp \ 73*4882a593Smuzhiyun host-zlib \ 74*4882a593Smuzhiyun ffmpeg \ 75*4882a593Smuzhiyun freetype \ 76*4882a593Smuzhiyun jpeg \ 77*4882a593Smuzhiyun lcms2 \ 78*4882a593Smuzhiyun libevent \ 79*4882a593Smuzhiyun libnss \ 80*4882a593Smuzhiyun libvpx \ 81*4882a593Smuzhiyun libxml2 \ 82*4882a593Smuzhiyun libxslt \ 83*4882a593Smuzhiyun re2 \ 84*4882a593Smuzhiyun snappy \ 85*4882a593Smuzhiyun webp 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += \ 88*4882a593Smuzhiyun -webengine-embedded-build \ 89*4882a593Smuzhiyun -webengine-ffmpeg \ 90*4882a593Smuzhiyun -webengine-icu \ 91*4882a593Smuzhiyun -webengine-opus \ 92*4882a593Smuzhiyun -webengine-webchannel \ 93*4882a593Smuzhiyun -webengine-webp \ 94*4882a593Smuzhiyun -feature-build-qtwebengine-core \ 95*4882a593Smuzhiyun -feature-webengine-core-support \ 96*4882a593Smuzhiyun -feature-webengine-system-dbus \ 97*4882a593Smuzhiyun -feature-webengine-system-fontconfig \ 98*4882a593Smuzhiyun -feature-webengine-system-freetype \ 99*4882a593Smuzhiyun -feature-webengine-system-glib \ 100*4882a593Smuzhiyun -feature-webengine-system-glibc \ 101*4882a593Smuzhiyun -feature-webengine-system-harfbuzz \ 102*4882a593Smuzhiyun -feature-webengine-system-jpeg \ 103*4882a593Smuzhiyun -feature-webengine-system-khr \ 104*4882a593Smuzhiyun -feature-webengine-system-lcms2 \ 105*4882a593Smuzhiyun -feature-webengine-system-libevent \ 106*4882a593Smuzhiyun -feature-webengine-system-libvpx \ 107*4882a593Smuzhiyun -feature-webengine-system-libxml2 \ 108*4882a593Smuzhiyun -feature-webengine-system-ninja \ 109*4882a593Smuzhiyun -feature-webengine-system-nss \ 110*4882a593Smuzhiyun -feature-webengine-system-png \ 111*4882a593Smuzhiyun -feature-webengine-system-re2 \ 112*4882a593Smuzhiyun -feature-webengine-system-snappy \ 113*4882a593Smuzhiyun -feature-webengine-system-zlib 114*4882a593Smuzhiyun 115*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += \ 116*4882a593Smuzhiyun -no-webengine-geolocation \ 117*4882a593Smuzhiyun -no-webengine-kerberos \ 118*4882a593Smuzhiyun -no-webengine-pepper-plugins \ 119*4882a593Smuzhiyun -no-webengine-printing-and-pdf \ 120*4882a593Smuzhiyun -no-webengine-spellchecker \ 121*4882a593Smuzhiyun -no-webengine-webrtc-pipewire \ 122*4882a593Smuzhiyun -no-feature-webengine-developer-build \ 123*4882a593Smuzhiyun -no-feature-webengine-full-debug-info \ 124*4882a593Smuzhiyun -no-feature-webengine-native-spellchecker \ 125*4882a593Smuzhiyun -no-feature-webengine-noexecstack \ 126*4882a593Smuzhiyun -no-feature-webengine-system-minizip \ 127*4882a593Smuzhiyun -no-feature-webengine-system-gn 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_QT5WEBENGINE_WEBRTC),y) 130*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -webengine-webrtc 131*4882a593Smuzhiyunelse 132*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -no-webengine-webrtc 133*4882a593Smuzhiyunendif 134*4882a593Smuzhiyun 135*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) 136*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs 137*4882a593Smuzhiyunelse 138*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -no-webengine-proprietary-codecs 139*4882a593Smuzhiyunendif 140*4882a593Smuzhiyun 141*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y) 142*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES += alsa-lib 143*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -webengine-alsa 144*4882a593Smuzhiyunelse 145*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -no-webengine-alsa 146*4882a593Smuzhiyunendif 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PULSEAUDIO),y) 149*4882a593SmuzhiyunQT5WEBENGINE_DEPENDENCIES += pulseaudio 150*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -webengine-pulseaudio 151*4882a593Smuzhiyunelse 152*4882a593SmuzhiyunQT5WEBENGINE_CONF_OPTS += -no-webengine-pulseaudio 153*4882a593Smuzhiyunendif 154*4882a593Smuzhiyun 155*4882a593SmuzhiyunQT5WEBENGINE_ENV = \ 156*4882a593Smuzhiyun PATH=$(@D)/host-bin:$(BR_PATH) \ 157*4882a593Smuzhiyun PKG_CONFIG_SYSROOT_DIR="/" 158*4882a593Smuzhiyundefine QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER 159*4882a593Smuzhiyun mkdir -p $(@D)/host-bin 160*4882a593Smuzhiyun sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-python-wrapper.in > $(@D)/host-bin/python 161*4882a593Smuzhiyun chmod +x $(@D)/host-bin/python 162*4882a593Smuzhiyunendef 163*4882a593SmuzhiyunQT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER 164*4882a593Smuzhiyun 165*4882a593SmuzhiyunQT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)" 166*4882a593Smuzhiyun 167*4882a593Smuzhiyundefine QT5WEBENGINE_COPY_CHROMIUM 168*4882a593Smuzhiyun rm -rf $(@D)/src/3rdparty 169*4882a593Smuzhiyun cp -a $(QT5WEBENGINE_CHROMIUM_DIR) $(@D)/src/3rdparty 170*4882a593Smuzhiyunendef 171*4882a593SmuzhiyunQT5WEBENGINE_POST_PATCH_HOOKS += QT5WEBENGINE_COPY_CHROMIUM 172*4882a593Smuzhiyun 173*4882a593Smuzhiyundefine QT5WEBENGINE_CREATE_HOST_PKG_CONFIG 174*4882a593Smuzhiyun mkdir -p $(@D)/host-bin 175*4882a593Smuzhiyun sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config 176*4882a593Smuzhiyun chmod +x $(@D)/host-bin/host-pkg-config 177*4882a593Smuzhiyunendef 178*4882a593SmuzhiyunQT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG 179*4882a593SmuzhiyunQT5WEBENGINE_ENV += \ 180*4882a593Smuzhiyun GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config \ 181*4882a593Smuzhiyun GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS="$(HOST_CPPFLAGS)" 182*4882a593Smuzhiyun 183*4882a593SmuzhiyunQT5WEBENGINE_CONF_ENV = $(QT5WEBENGINE_ENV) 184*4882a593SmuzhiyunQT5WEBENGINE_MAKE_ENV = $(QT5WEBENGINE_ENV) 185*4882a593Smuzhiyun 186*4882a593Smuzhiyundefine QT5WEBENGINE_INSTALL_TARGET_ENV 187*4882a593Smuzhiyun $(INSTALL) -D -m 644 $(QT5WEBENGINE_PKGDIR)/qtwebengine.sh \ 188*4882a593Smuzhiyun $(TARGET_DIR)/etc/profile.d/qtwebengine.sh 189*4882a593Smuzhiyunendef 190*4882a593SmuzhiyunQT5WEBENGINE_POST_INSTALL_TARGET_HOOKS += QT5WEBENGINE_INSTALL_TARGET_ENV 191*4882a593Smuzhiyun 192*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBV4L_RKMPP),y) 193*4882a593Smuzhiyundefine QT5WEBENGINE_INSTALL_INIT_SYSV 194*4882a593Smuzhiyun $(INSTALL) -D -m 755 $(QT5WEBENGINE_PKGDIR)/S99qtwebengine.sh \ 195*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S99qtwebengine.sh 196*4882a593Smuzhiyunendef 197*4882a593Smuzhiyunendif 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun$(eval $(qmake-package)) 200