require qt5.inc # common with -native SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ file://0003-Add-external-hostbindir-option.patch \ file://0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \ file://0005-qt_module-Fix-pkgconfig-replacement.patch \ file://0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \ file://0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch \ file://0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch \ file://0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch \ " SRC_URI += "\ file://0010-qmake-is-already-built-in-qtbase-native.patch \ file://0011-Allow-building-a-separate-qmake-for-the-target.patch \ file://0013-QOpenGLPaintDevice-sub-area-support.patch \ file://0014-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \ file://0015-Fix-linuxfb-argument-mmsize-parsing.patch \ file://0016-eglfs-Fix-quad-coordinates.patch \ " DEPENDS += "qtbase-native" # for syncqt RDEPENDS_${PN}-tools += "perl" # separate some parts of PACKAGECONFIG which are often changed # be aware that you need to add icu to build qtwebkit, default # PACKAGECONFIG is kept rather minimal for people who don't need # stuff like webkit (and it's easier to add options than remove) # gl or gles needs to be enabled in order to build qtdeclarative # http://qt.gitorious.org/qt/qtdeclarative/commit/e988998a08b1420ed10bd02d9d4b3b8ed2289df9 PACKAGECONFIG_GL ?= "${@base_contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" PACKAGECONFIG_FB ?= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" PACKAGECONFIG_X11 ?= "${@base_contains('DISTRO_FEATURES', 'x11', 'xcb xvideo xsync xshape xrender xrandr xfixes xinput2 xinput xinerama xcursor gtkstyle', '', d)}" PACKAGECONFIG_FONTS ?= "" PACKAGECONFIG_SYSTEM ?= "jpeg libpng zlib" PACKAGECONFIG_MULTIMEDIA ?= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" PACKAGECONFIG_DISTRO ?= "" # Either release or debug, can be overridden in bbappends PACKAGECONFIG_RELEASE ?= "release" # This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency # PACKAGECONFIG_OPENSSL ?= "openssl" PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs" PACKAGECONFIG ?= " \ ${PACKAGECONFIG_RELEASE} \ ${PACKAGECONFIG_DEFAULT} \ ${PACKAGECONFIG_OPENSSL} \ ${PACKAGECONFIG_GL} \ ${PACKAGECONFIG_FB} \ ${PACKAGECONFIG_X11} \ ${PACKAGECONFIG_FONTS} \ ${PACKAGECONFIG_SYSTEM} \ ${PACKAGECONFIG_MULTIMEDIA} \ ${PACKAGECONFIG_DISTRO} \ " PACKAGECONFIG[release] = "-release,-debug" PACKAGECONFIG[developer] = "-developer-build" PACKAGECONFIG[sm] = "-sm,-no-sm" PACKAGECONFIG[tests] = "-make tests,-nomake tests" PACKAGECONFIG[examples] = "-make examples -compile-examples,-nomake examples" PACKAGECONFIG[tools] = "-make tools,-nomake tools" # only for completeness, configure will add libs even if you try to explicitly remove it PACKAGECONFIG[libs] = "-make libs,-nomake libs" # accessibility is required to compile qtquickcontrols PACKAGECONFIG[accessibility] = "-accessibility,-no-accessibility" PACKAGECONFIG[glib] = "-glib,-no-glib,glib-2.0" # use either system freetype or bundled freetype, if you disable freetype completely # fontdatabases/basic/qbasicfontdatabase.cpp will fail to build and system freetype # works only together with fontconfig PACKAGECONFIG[freetype] = "-system-freetype,-freetype,freetype" PACKAGECONFIG[jpeg] = "-system-libjpeg,-no-libjpeg,jpeg" PACKAGECONFIG[libpng] = "-system-libpng,-no-libpng,libpng" PACKAGECONFIG[zlib] = "-system-zlib,-qt-zlib,zlib" PACKAGECONFIG[pcre] = "-system-pcre,-qt-pcre,pcre" # gl or gles2 is needed in order to build qtdeclarative (qtdeclarative.do_configure fails to find quick module without) PACKAGECONFIG[gl] = "-opengl desktop -no-eglfs,,virtual/libgl" PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl" PACKAGECONFIG[tslib] = "-tslib,-no-tslib,tslib" PACKAGECONFIG[dbus] = "-dbus,-no-dbus,dbus" PACKAGECONFIG[xcb] = "-xcb,-no-xcb,xcb-util-wm xcb-util-image xcb-util-keysyms" PACKAGECONFIG[sql-ibase] = "-sql-ibase,-no-sql-ibase" PACKAGECONFIG[sql-mysql] = "-sql-mysql,-no-sql-mysql,mysql" PACKAGECONFIG[sql-psql] = "-sql-psql,-no-sql-psql,postgresql" PACKAGECONFIG[sql-odbc] = "-sql-odbc,-no-sql-odbc" PACKAGECONFIG[sql-oci] = "-sql-oci,-no-sql-oci" PACKAGECONFIG[sql-tds] = "-sql-tds,-no-sql-tds" PACKAGECONFIG[sql-db2] = "-sql-db2,-no-sql-db2" PACKAGECONFIG[sql-sqlite2] = "-sql-sqlite2,-no-sql-sqlite2,sqlite" PACKAGECONFIG[sql-sqlite] = "-sql-sqlite,-no-sql-sqlite,sqlite3" PACKAGECONFIG[xcursor] = "-xcursor,-no-xcursor,libxcursor" PACKAGECONFIG[xinerama] = "-xinerama,-no-xinerama,libxinerama" PACKAGECONFIG[xinput] = "-xinput,-no-xinput" PACKAGECONFIG[xinput2] = "-xinput2,-no-xinput2" PACKAGECONFIG[xfixes] = "-xfixes,-no-xfixes,libxfixes" PACKAGECONFIG[xrandr] = "-xrandr,-no-xrandr,libxrandr" PACKAGECONFIG[xrender] = "-xrender,-no-xrender,libxrender" PACKAGECONFIG[xshape] = "-xshape,-no-xshape" PACKAGECONFIG[xsync] = "-xsync,-no-xsync" PACKAGECONFIG[xvideo] = "-xvideo,-no-xvideo" PACKAGECONFIG[openvg] = "-openvg,-no-openvg" PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv" PACKAGECONFIG[xkb] = "-xkb,-no-xkb,libxkbcommon" PACKAGECONFIG[evdev] = "-evdev,-no-evdev" PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev" # depends on glib PACKAGECONFIG[fontconfig] = "-fontconfig,-no-fontconfig,fontconfig" PACKAGECONFIG[gtkstyle] = "-gtkstyle,-no-gtkstyle,gtk+" PACKAGECONFIG[directfb] = "-directfb,-no-directfb,directfb" PACKAGECONFIG[linuxfb] = "-linuxfb,-no-linuxfb" PACKAGECONFIG[mitshm] = "-mitshm,-no-mitshm,mitshm" PACKAGECONFIG[kms] = "-kms,-no-kms,virtual/mesa virtual/egl" # needed for qtdeclarative (qtdeclarative.do_configure fails to find quick module without) PACKAGECONFIG[icu] = "-icu,-no-icu,icu" PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev" # use -openssl-linked here to ensure that RDEPENDS for libcrypto and libssl are detected PACKAGECONFIG[openssl] = "-openssl-linked,-no-openssl,openssl" PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib" PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio" PACKAGECONFIG[nis] = "-nis,-no-nis" PACKAGECONFIG[widgets] = "-widgets,-no-widgets" QT_CONFIG_FLAGS += " \ -reduce-relocations \ -shared \ -silent \ -no-pch \ -no-rpath \ -pkg-config \ ${EXTRA_OECONF} \ " do_generate_qt_config_file_append() { cat >> ${QT_CONF_PATH} <