qt6-bb10/src/angle
Simon Hausmann 4d289edb14 Disable debug-and-release builds for MinGW
The requirement to separate debug and release DLLs on Windows stems from
the Visual Studio C run-time library appearing in two different variants
(debug and release) and not mixing well. It's possible to perform builds
without optimzations and with debug symbols while linking against the
release version of the C run-time, but at the same time the debug
version of the run-time brings other developer visible advantages.

MinGW on the other hand does not have this distinction, does not ship
with separate DLLS and does also not require the VS C runtime library.
Therefore we do not need this separation for MinGW, which means that our
packages can be reduced in size and application developers wishing to
debug their applications do not have to use debug builds of the Qt
libraries or run into Qt internal debug code.

Task-number: QTBUG-78445
Change-Id: Idf588606091298dc44262c4c89e689df18d34747
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-09-18 06:28:16 +00:00
..
patches ANGLE: Invalidate client window area when resizing swap chain 2019-06-21 12:30:32 +02:00
src Disable debug-and-release builds for MinGW 2019-09-18 06:28:16 +00:00
README.qt Fix URL to ANGLE 2016-06-30 07:06:39 +00:00
angle.pro rework include path construction in the module system 2016-01-12 15:14:57 +00:00

README.qt

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.