qt5base-lts/src/angle
Kai Koehne 2c0f7fb8dc Fix compilation of libGLESv2 with older MinGW-w64 headers
Fix compilation of libGLESv2 for mingw-headers predating MinGW-w64
svn commit 5567 (like MinGW-builds gcc 4.7.2-rev8, the toolchain
we officially support).

Commit 5567 added the D3DCOMPILER_DLL define to d3dcompiler.h, but with
a trailing semicolon that has then fixed in commit 5783. Any toolchain
that ships MinGW-w64 headers from a version in between (like
MinGW-builds gcc 4.7.2-rev11) will unfortunately remain broken.

Change-Id: I31272a1a991c4fc0f1611f8fb7510be51d6bb925
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-11 17:29:39 +02:00
..
patches Fix compilation of libGLESv2 with older MinGW-w64 headers 2013-07-11 17:29:39 +02:00
src put ANGLE includes in a QtANGLE subdir 2013-06-10 21:12:13 +02:00
angle.pro put ANGLE includes in a QtANGLE subdir 2013-06-10 21:12:13 +02:00
README.qt Fix linking ANGLE on MinGW-w64 64-bit 2012-12-20 14:23:57 +01:00

This is the ANGLE project from:

http://code.google.com/p/angleproject/

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.