diff --git a/mkspecs/common/angle.conf b/mkspecs/common/angle.conf
new file mode 100644
index 0000000000000000000000000000000000000000..fffdb581c5d5d3f596d8231825151df2670eb69a
--- /dev/null
+++ b/mkspecs/common/angle.conf
@@ -0,0 +1,9 @@
+# Renaming these files requires that the LIBRARY entry of their corresponding
+# def files are also updated to reflect the name.
+# The .def files are found in the angle directories:
+#
+#       qtbase\src\3rdparty\angle\src\libEGL\libEGL[d?].def
+#       qtbase\src\3rdparty\angle\src\libEGL\libGLESv2[d?].def
+
+LIBEGL_NAME="libEGL"
+LIBGLESV2_NAME="libGLESv2"
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index 3aeb331de6c7776ac48719caacaf3d4c7a15e976..eec9e1f688a2dc81782ca60a49676446dde3f6b2 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -9,6 +9,8 @@ isEmpty(MSC_VER)|isEmpty(MSVC_VER): error("Source mkspec must set both MSC_VER a
 # Baseline: Visual Studio 2005 (8.0), VC++ 14.0
 #
 
+include(angle.conf)
+
 MAKEFILE_GENERATOR      = MSVC.NET
 QMAKE_PLATFORM          = win32
 QMAKE_COMPILER          = msvc
@@ -83,8 +85,8 @@ QMAKE_LIBS_CORE         = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib
 QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
 QMAKE_LIBS_NETWORK      = ws2_32.lib
 QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib
-QMAKE_LIBS_OPENGL_ES2   = libEGL.lib libGLESv2.lib gdi32.lib user32.lib
-QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib gdi32.lib user32.lib
+QMAKE_LIBS_OPENGL_ES2   = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib gdi32.lib user32.lib
+QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.lib gdi32.lib user32.lib
 QMAKE_LIBS_COMPAT       = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
 
 QMAKE_LIBS_QT_ENTRY     = -lqtmain
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
index 224c350e2fd859fb66c20f488e8e7ac32e14e851..fa1a72a1b99488697c339b098e04955be46ec8dc 100644
--- a/mkspecs/common/wince/qmake.conf
+++ b/mkspecs/common/wince/qmake.conf
@@ -2,6 +2,8 @@
 # qmake configuration for common Windows CE
 #
 
+include(../angle.conf)
+
 MAKEFILE_GENERATOR      = MSVC.NET
 QMAKE_PLATFORM         += wince win32
 CONFIG                 += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target
@@ -67,8 +69,8 @@ QMAKE_EXTENSION_SHLIB   = dll
 QMAKE_PREFIX_STATICLIB  =
 QMAKE_EXTENSION_STATICLIB = lib
 
-QMAKE_LIBS_EGL          = libEGL.lib
-QMAKE_LIBS_OPENGL_ES2   = libGLESv2.lib
+QMAKE_LIBS_EGL          = $${LIBEGL_NAME}.lib
+QMAKE_LIBS_OPENGL_ES2   = $${LIBGLESV2_NAME}.lib
 
 QMAKE_LIBS_QT_ENTRY     = -lqtmain
 
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index e94b4b72fafda7105f4e3060b7852fe8a0f61657..bf237882ff432223ddc874f18fe869f4618926e1 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -4,6 +4,8 @@
 # Written for Microsoft Visual C++
 #
 
+include(../angle.conf)
+
 MAKEFILE_GENERATOR      = MSBUILD
 QMAKE_COMPILER          = msvc
 QMAKE_PLATFORM          = winrt win32
@@ -79,8 +81,8 @@ QMAKE_LIBS             += runtimeobject.lib
 QMAKE_LIBS_CORE         =
 QMAKE_LIBS_GUI          =
 QMAKE_LIBS_NETWORK      =
-QMAKE_LIBS_OPENGL_ES2   = libEGL.lib libGLESv2.lib
-QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib
+QMAKE_LIBS_OPENGL_ES2   = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib
+QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.lib
 
 QMAKE_LIBS_QT_ENTRY     = -lqtmain
 
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index c00b4cd5ff839edb28bc5147006f2eb4981c2030..9cb811b5bf86b2803fb02a2fc523d862918baff5 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -8,6 +8,7 @@
 #
 
 load(device_config)
+include(../common/angle.conf)
 
 MAKEFILE_GENERATOR      = MINGW
 QMAKE_PLATFORM          = win32 mingw
@@ -98,8 +99,8 @@ QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32
 QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
 QMAKE_LIBS_NETWORK      = -lws2_32
 QMAKE_LIBS_OPENGL       = -lglu32 -lopengl32 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2   = -llibEGL -llibGLESv2 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2   = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -lgdi32 -luser32
 QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
 QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
 
diff --git a/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf b/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf
index 772a514b89902be22ac631e2ba8d4e97f31cced8..860fbc0e6ab1af8aebbe39bc6872c0e1a9b88e1f 100644
--- a/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf
+++ b/mkspecs/wince70embedded-armv4i-msvc2008/qmake.conf
@@ -21,7 +21,7 @@ QMAKE_LIBS_NETWORK      = ws2.lib $$QMAKE_LIBS_GUI
 QMAKE_LIBS_OPENGL       =
 QMAKE_LIBS_COMPAT       =
 QMAKE_LIBS_OPENVG       = libopenvg.lib
-QMAKE_LIBS_OPENGL_ES2   = libEGL.lib libGLESv2.lib
+QMAKE_LIBS_OPENGL_ES2   = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib
 
 QMAKE_RC                = rc
 
diff --git a/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf b/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf
index 47c512bbda780b50ae4538016fdfa533d11091c2..ea86bc00715190c2cd1f7be7283425b74a16f021 100644
--- a/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf
+++ b/mkspecs/wince80colibri-armv7-msvc2012/qmake.conf
@@ -36,7 +36,7 @@ QMAKE_LIBS_NETWORK      = ws2.lib $$QMAKE_LIBS_GUI
 QMAKE_LIBS_OPENGL       =
 QMAKE_LIBS_COMPAT       =
 QMAKE_LIBS_OPENVG       =
-QMAKE_LIBS_OPENGL_ES2   = libEGL.lib libGLESv2.lib
+QMAKE_LIBS_OPENGL_ES2   = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib
 QMAKE_LIBDIR_OPENGL_ES2 = $$(NV_WINCE_T2_PLAT)/lib/Test
 QMAKE_INCDIR_EGL        = $$(NV_WINCE_T2_PLAT)/include
 QMAKE_LIBDIR_EGL        = $$(NV_WINCE_T2_PLAT)/lib/Test
diff --git a/src/angle/src/libEGL/libEGL.pro b/src/angle/src/libEGL/libEGL.pro
index 94fcebda6b0e94eb625aae9ee37442a085cea30d..695f7fd50c42a3a5e7002a567b8b1e80c82dfec2 100644
--- a/src/angle/src/libEGL/libEGL.pro
+++ b/src/angle/src/libEGL/libEGL.pro
@@ -1,9 +1,10 @@
 CONFIG += installed
 include(../common/common.pri)
-
+DEF_FILE_TARGET=$${TARGET}
+TARGET=$$qtLibraryTarget($${LIBEGL_NAME})
 winrt: LIBS_PRIVATE += -ld3d11
 
-LIBS_PRIVATE += -ldxguid -L$$QT_BUILD_TREE/lib -l$$qtLibraryTarget(libGLESv2)
+LIBS_PRIVATE += -ldxguid -L$$QT_BUILD_TREE/lib -l$$qtLibraryTarget($${LIBGLESV2_NAME})
 
 DEFINES += GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI= LIBEGL_IMPLEMENTATION
 
@@ -14,8 +15,8 @@ SOURCES += \
     $$ANGLE_DIR/src/libEGL/libEGL.cpp
 
 !static {
-    DEF_FILE = $$ANGLE_DIR/src/libEGL/$${TARGET}.def
-    mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libEGL/$${TARGET}_mingw32.def
+    DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}.def
+    mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}_mingw32.def
 }
 
 egl_headers.files = \
diff --git a/src/angle/src/libGLESv2/libGLESv2.pro b/src/angle/src/libGLESv2/libGLESv2.pro
index 5979b680985576f4575118db7966313b09f5458e..1da079fd400089e584e39626776df460ffdbb00e 100644
--- a/src/angle/src/libGLESv2/libGLESv2.pro
+++ b/src/angle/src/libGLESv2/libGLESv2.pro
@@ -1,5 +1,7 @@
 CONFIG += simd installed
 include(../common/common.pri)
+DEF_FILE_TARGET=$${TARGET}
+TARGET=$$qtLibraryTarget($${LIBGLESV2_NAME})
 
 INCLUDEPATH += $$OUT_PWD/.. $$ANGLE_DIR/src/libANGLE
 
@@ -327,8 +329,8 @@ angle_d3d11 {
 }
 
 !static {
-    DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${TARGET}.def
-    mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${TARGET}_mingw32.def
+    DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}.def
+    mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}_mingw32.def
 } else {
     DEFINES += DllMain=DllMain_ANGLE # prevent symbol from conflicting with the user's DllMain
 }
diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp
index 21eba6da7efa31843b2d8798c46ce20cfcdca60d..65a9763be606f610841eb39fcb08ac0e54737838 100644
--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp
+++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp
@@ -118,11 +118,11 @@ void *QWindowsLibEGL::resolve(const char *name)
 
 bool QWindowsLibEGL::init()
 {
-#ifdef QT_DEBUG
-    const char dllName[] = "libEGLd.dll";
-#else
-    const char dllName[] = "libEGL.dll";
+    const char dllName[] = QT_STRINGIFY(LIBEGL_NAME)
+#if defined(QT_DEBUG) && !defined(Q_OS_WINCE)
+    "d"
 #endif
+    "";
 
     qCDebug(lcQpaGl) << "Qt: Using EGL from" << dllName;
 
@@ -178,11 +178,12 @@ void *QWindowsLibGLESv2::resolve(const char *name)
 
 bool QWindowsLibGLESv2::init()
 {
-#ifdef QT_DEBUG
-    const char dllName[] = "libGLESv2d.dll";
-#else
-    const char dllName[] = "libGLESv2.dll";
+
+    const char dllName[] = QT_STRINGIFY(LIBGLESV2_NAME)
+#if defined(QT_DEBUG) && !defined(Q_OS_WINCE)
+    "d"
 #endif
+    "";
 
     qCDebug(lcQpaGl) << "Qt: Using OpenGL ES 2.0 from" << dllName;
 #if !defined(QT_STATIC) || defined(QT_OPENGL_DYNAMIC)
diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
index 29297116da8a445e368c81be037d665d7705c0c1..065108cb03e462ea72961f0121a26b7834cd3207 100644
--- a/src/plugins/platforms/windows/windows.pri
+++ b/src/plugins/platforms/windows/windows.pri
@@ -132,3 +132,6 @@ contains(QT_CONFIG, freetype) {
 }
 
 contains(QT_CONFIG, accessibility):include($$PWD/accessible/accessible.pri)
+
+DEFINES *= LIBEGL_NAME=$${LIBEGL_NAME}
+DEFINES *= LIBGLESV2_NAME=$${LIBGLESV2_NAME}