qt5base-lts/src/angle
Oliver Wolff 7a481fce28 configure: detect fxc.exe more thoroughly
When building ANGLE, we need the shader compiler (fxc.exe), which is not
shipped with MinGW. Previously, we required an installed DirectX SDK.
For Windows versions >= 8, the DX SDK is also part of the Windows Kit,
so we also allow the user to specify the location of the Windows Kit.
We also detect fxc on 64-bit hosts now, and in newer SDK versions which
version the binary directory.

The detected binary is now exported by configure, so the ANGLE project
file does not need to duplicate the logic anymore.

Task-number: QTBUG-52487
Change-Id: I41a17992909041dd84291b69498195cc8b8fab8a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-17 21:29:11 +00:00
..
patches ANGLE: Dynamically load D3D compiler from a list 2018-12-11 09:45:55 +00:00
src configure: detect fxc.exe more thoroughly 2018-12-17 21:29:11 +00:00
angle.pro rework include path construction in the module system 2016-01-12 15:14:57 +00:00
README.qt Fix URL to ANGLE 2016-06-30 07:06:39 +00:00

This is the ANGLE project from:

https://chromium.googlesource.com/angle/angle/+/master/README.md

The upstream version used here can be found in:

src/common/version.h

This copy of the library has been modified with several patches
that can be found in the 'patches' subdirectory.

Updating ANGLE
-------------------------------------------------------------
To update to a newer version of ANGLE, extract the archive
directly into the 'src/3rdparty/angle' directory. ANGLE contains
a .gitignore file that will overwrite the one in Qt, but this is
not desirable so the ANGLE one should be discarded and the one in
Qt should be kept. If there are new source/header files in ANGLE
(git status -u) then they should be added to the relevant .pro
file before committing.

The patches in src/angle/patches should be applied on top.

ANGLE ships with .def files for exporting functions in
3rdparty/angle/src/libEGL/libEGL.def and
3rdparty/angle/src/libGLESv2/libGLESv2.def.
Since we build debug and release versions
(libbEGL.dll/libEGLd.dll, respectively), debug versions of
the .def files (libEGLd.def) must be created as copies
with the LIBRARY name entry adapted.

MinGW-w64 32-bit requires function exports in the .def files
to be decorated. Modified versions of the .def files are created as
<library>_mingw32.def. The decorated names of each function can be found
using the nm command to list the symbols in libEGL.o and libGLESv2.o.

Using a custom ANGLE
-------------------------------------------------------------
Qt supports building a version of ANGLE other than the one that
is contained in the source tree. To get Qt to build a different
copy of ANGLE, you can set the ANGLE_DIR environment variable
to point to the location of the custom ANGLE before building Qt.