oe-patches.txt: Add short description of pending patches and their upstreaming options

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Add linux-oe-g++ platform

* This qmake.conf unlike other platforms reads most variables from
  shell environment, because it's easier for qt recipes to export
  *FLAGS or CC specific for given recipe

* configure: add getQEvalMakeConf and getXQEvalMakeConf
  Allow expansion of $(...) references from qmake.conf to generate
  qmake environment from shell environment as exported by qmake5_base

* configure: don't export SYSTEM_VARIABLES to .qmake.vars
  linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is
  causing issues as we need g++ to be used as linker

* configure.prf: Allow to add extra arguments to make
  sometimes we would like to add -e or define some variable and respect it from both
  Makefiles used in configure tests and also Makefiles to build the application

* OE_QMAKE_CXX in order to allow compiler version check to succeed
  which allows WebKit to be enabled.

* Other variables in order to let config.tests to use our -platform
  settings

* Add setBootstrapEvalVariable to bootstrap qmake with our environment
  too, this allows us to use -platform linux-oe-g++ also for native
  recipe

* disable gdb_dwarf_index
  * qmake is trying to call native gdb and we don't depend on gdb-native
    (or even provide gdb-native)
  * fixes errors like this:
    /bin/sh: gdb: command not found
    /bin/sh: line 0: test: -gt: unary operator expected
    which are not fatal, but still misleading in do_configure output

Upstream-Status: Inappropriate [embedded specific]
                 too OE specific, probably cannot be upstreamed

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
qlibraryinfo: allow to set qt.conf from the outside using the environment

Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using
the same qmake binary to build qt/x11 and qt/embedded

Upstream-Status: Inappropriate [embedded specific]
  again very OE specific to read everything from environment (reusing the same
  qmake from sstate and replacing all configured paths in it with qt.conf from
  environment).

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Add -external-hostbindir option

* when cross-compiling it's sometimes useful to use existing tools from machine
  (or in OpenEmbedded built with separate native recipe) when building for target

* this way we can skip bootstraping tools we already have

* qt_functions: temporary remove isEmpty check
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
* isEmpty works correctly only with qmake variables (e.g. $$FOO -
  isEmpty(FOO)), but doesn't work with system properties like $$[FOO].

* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries

Upstream-Status: Pending
  is a lot better for upstreaming (and it was already sort of approved by
  Oswald) but in 5.2.0 I've noticed that he added something similar for
  android builds

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Simon Busch <morphis@gravedo.de>
configureapp: Prefix default LIBDIRS and INCDIRS with SYSROOT

Upstream-Status: Pending
  again a bit OE specific
qt_module: Fix pkgconfig replacement

* in situation like this:
  QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm
  QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib
  QT_INSTALL_LIBS/raw:/usr/lib
  QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib

  I don't want the replacement like this:
  sed
    -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g"
    -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g"
    "../../lib/pkgconfig/Qt5Core.pc"
    >"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc"
  because that way I'll end with -L/usr/lib in .pc file which is
  cross-compile unfriendly, keeping ${libdir}/${includedir} works better
  in my case

* qt_module: Fix paths in .prl files
* qmake does not prefix them with QT_SYSROOT when using them
  so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE
  variable, which is unsafe for cross-compilation
* writting QT_SYSROOT in .prl files is dangerous for sstate when
  builds are in different directories, so we need
  SSTATE_SCAN_FILES += "*.pri *.prl"
  to make them relocateble

* fix paths in packageconfig files
  This reverts parts of:

  enable path replacement in installed prl files on all platforms

  Task-number: QTBUG-33794
  Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b
  Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>

Upstream-Status: Pending
  prevents cross-compile unsafe -I/usr/include -L/usr/lib paths etc

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
configure: make pulseaudio, alsa, freetype a configurable option

Allows disabling pulseaudio, alsa, freetype support at configure time
making builds more deterministic.

Upstream-Status: Submitted https://codereview.qt-project.org/80722

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
qmake is already built in qtbase-native

Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration]
  OE specific for native/target builds

Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Allow building a separate qmake for the target

Upstream-Status: Inappropriate [config]
  OE specific for native/target builds

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
eglfs: fix egl error for platforms only supporting one window/surface

running qmlscene -platform eglfs <filename>.qml

caused

EGL Error : Could not create the egl surface: error = 0x3003

Rebased version of [1-2]

Upstream-Status: unknown

[1] http://repository.timesys.com/buildsources/q/qt-everywhere-opensource/qt-everywhere-opensource-5.1.1/qt-everywhere-opensource-5.1.1-qeglfswindow.cpp.patch
[2] https://github.com/prabindh/qt-configs/blob/master/qt5_1.0_Feb13/qeglfswindow.cpp.patch

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>