If only one *Application or Windowless*Application header is included,
the class is aliased to Application or WindowlessApplication to simplify
porting.
Due to Matrix/Vector rework and other changes this is fixed on lower
levels already. The tests pass on both 4.5 and 4.4, hopefully it won't
break anywhere else.
Headers gl2.h and gl2ext.h shipped with NaCl are different to the
official ones, which is causing linker issues, thus using NaCl's own
gl2.h. They are otherwise similar, thus it should cause no compatibility
issues.
On the other hand, gl2ext.h shipped with NaCl is slightly outdated with
some recent extensions missing. We are including the NaCl's one and then
the official one over it (undefining the include guard). The symbols are
guarded also by extensions, so it should cause no conflicts.
Moved them to `OpenGL/` subdirectory, allowing them to be included
explicitly with e.g. <OpenGL/GLES2/gl2ext.h> overriding the system
<GLES2/gl2ext.h> header. Our versions of the headers are thus now
explicitly included in `OpenGL.h`, but they can be also included using
no-prefix path if no system version is available. It might break some ES
platforms, they will be fixed when found.
The headers are now installed into `Magnum/OpenGL` (not into any
artificial `external` directory). Now also installing GLES2 headers for
OpenGL ES 2 (previously ES3 headers were installed for both ES2 and
ES3).
These four cover most (but not all) warnings when compiling in Release
mode. Now all the tests pass, but the warnings signalize that something
could go bad somewhere else. However, only one drastic solution comes to
my mind at this time -- disabling strict aliasing completely
`-fno-strict-aliasing`. Don't know performance impact of that.
Awesome bug. In GCC 4.6 it throws plenty of ungoogleable `-pedantic`
warnings and in GCC 4.5 it fails directly with "error: bad array
initializer". Fallback to initialization using for-cycle.
Worked around that in 4.6 by disabling `-pedantic` warnings, must be
done this way on 4.5 & 4.4. Hopefully the performance won't be harmed
too much.
The compiler doesn't like list-initialization of array of classes
(RectangularMatrix constructors). It is perfectly legal C++11 and both
GCC 4.7 and Clang accept it without notice.
It does too much harm on GCC 4.6 (all these constexpr constructors are
not constexpr now). We can disable that `-pedantic` warning for GCC 4.6
only and live with that.
This reverts commit 2d92d497d9.