summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2016-11-06 20:11:36 +0100
committerMartchus2016-11-06 20:12:54 +0100
commitf1e7bd470cffbe9f17829814368372a81e61f1b0 (patch)
tree8f2e87ea7b76793636309b4a21bd2ba8fc8b8c27
parentd512c1594f532aacffb650fe83c0be256df1532a (diff)
downloadaur-f1e7bd470cffbe9f17829814368372a81e61f1b0.tar.gz
Update to 2.1.r6289.f097e23
-rw-r--r--.SRCINFO34
-rw-r--r--0001-Provide-workaround-for-building-static-libs.patch62
-rw-r--r--0002-Provide-Windows-XP-support.patch25
-rw-r--r--0003-Fix-dynamic-libraries.patch433
-rw-r--r--0004-Link-against-dxguid-d3d9-and-gdi32.patch41
-rw-r--r--0005-Export-shader-API-via-libGLESv2.dll.patch26
-rw-r--r--0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch44
-rw-r--r--0007-Remove-copy_scripts-target.patch153
-rw-r--r--0008-Fix-generation-of-commit_id.h.patch36
-rw-r--r--PKGBUILD135
-rw-r--r--angleproject-include-import-library-and-use-def-file.patch66
-rw-r--r--entry_points_shader.cpp12
-rw-r--r--libEGL_mingw32.def53
-rw-r--r--libGLESv2_mingw32.def315
-rw-r--r--provide_mbstowcs_s_for_xp.patch57
15 files changed, 919 insertions, 573 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 23769af47728..525013674b85 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Sun Apr 17 22:39:31 UTC 2016
+# Sun Nov 6 19:11:07 UTC 2016
pkgbase = mingw-w64-angleproject
pkgdesc = ANGLE project (mingw-w64)
- pkgver = 2.1.r5707.5858f7e
+ pkgver = 2.1.r6289.f097e23
pkgrel = 1
url = https://chromium.googlesource.com/angle/angle/+/master/README.md
arch = any
@@ -10,25 +10,33 @@ pkgbase = mingw-w64-angleproject
makedepends = mingw-w64-gcc
makedepends = git
makedepends = gyp-git
+ makedepends = depot-tools-git
makedepends = python
+ makedepends = python2
depends = mingw-w64-crt
options = !strip
options = !buildflags
options = staticlibs
- source = angleproject::git+https://chromium.googlesource.com/angle/angle#commit=5858f7e
+ source = angleproject::git+https://chromium.googlesource.com/angle/angle#commit=f097e23
source = additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git#commit=7a8f394
- source = angleproject-include-import-library-and-use-def-file.patch
- source = libEGL_mingw32.def
- source = libGLESv2_mingw32.def
- source = entry_points_shader.cpp
- source = provide_mbstowcs_s_for_xp.patch
+ source = 0001-Provide-workaround-for-building-static-libs.patch
+ source = 0002-Provide-Windows-XP-support.patch
+ source = 0003-Fix-dynamic-libraries.patch
+ source = 0004-Link-against-dxguid-d3d9-and-gdi32.patch
+ source = 0005-Export-shader-API-via-libGLESv2.dll.patch
+ source = 0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
+ source = 0007-Remove-copy_scripts-target.patch
+ source = 0008-Fix-generation-of-commit_id.h.patch
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = 895c62846e6784dcc33171523a452cb474010d3fc9e7c351c27b8add4e9930ab
- sha256sums = fb04f30b904760d32c4c0b733d0a0b44359855db1fde9e7f5ca7d0b8b1be3e56
- sha256sums = 3186d913a5fb483d2ae568068453e494d52df8f3f23f09d16afbbf916a63e4a4
- sha256sums = ad347c9732f8897497aa51b8969a0e01cd8cd4ebb9a0e873a2ff47c210f1d46c
- sha256sums = 57b16254c23dbd312dbbe0495a177690809b916c2f3d8b3bbf2dd405274d518c
+ sha256sums = b90c65737137d3e4f146fcd7fcb7c1893f071888046c8125c41470a800b4ac72
+ sha256sums = e79008c38c429937985812e525c71292bd612f6a3844abb328d2837fd69ce763
+ sha256sums = 08e47bb775a032a470f9fc995f1a06721b0431c30c2b7a79ca083ea06d0a9622
+ sha256sums = d7a0c9de5c91aa9d5364fa453240309d30c0a17ea85dde979c85b836916ae11e
+ sha256sums = b85618a22d25ced858ff47a6b4102c0d48b89470484add48063ccfe242169555
+ sha256sums = da091bbe30f96038026713941ce47c7aaf2bb8767150bd941ec95878cde7c4a2
+ sha256sums = 8da56bffa5e718d987306794fd9087a8a92a49e79203857ca81d383c9d5462c8
+ sha256sums = 0a513ee36b9b452ff7c2ba3a37539efe3d5b65992969c95e07afccdf7545f0ee
pkgname = mingw-w64-angleproject
diff --git a/0001-Provide-workaround-for-building-static-libs.patch b/0001-Provide-workaround-for-building-static-libs.patch
new file mode 100644
index 000000000000..7fba72f46c91
--- /dev/null
+++ b/0001-Provide-workaround-for-building-static-libs.patch
@@ -0,0 +1,62 @@
+From 17a753984f0385f1d54133b7809bfa6b37c3aa32 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Tue, 9 Aug 2016 18:35:55 +0200
+Subject: [PATCH 1/8] Provide workaround for building static libs
+
+See: https://bugs.chromium.org/p/angleproject/issues/detail?id=1251
+
+Workaround relies on ANGLE_STATIC being defined when using static libs
+---
+ include/KHR/khrplatform.h | 6 +++---
+ include/export.h | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/include/KHR/khrplatform.h b/include/KHR/khrplatform.h
+index c9e6f17..9017b61 100755
+--- a/include/KHR/khrplatform.h
++++ b/include/KHR/khrplatform.h
+@@ -97,9 +97,9 @@
+ *-------------------------------------------------------------------------
+ * This precedes the return type of the function in the function prototype.
+ */
+-#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
++#if defined(_WIN32) && !defined(__SCITECH_SNAP__) && !defined(ANGLE_STATIC)
+ # define KHRONOS_APICALL __declspec(dllimport)
+-#elif defined (__SYMBIAN32__)
++#elif defined (__SYMBIAN32__) && !defined(ANGLE_STATIC)
+ # define KHRONOS_APICALL IMPORT_C
+ #else
+ # define KHRONOS_APICALL
+@@ -223,7 +223,7 @@ typedef signed short int khronos_int16_t;
+ typedef unsigned short int khronos_uint16_t;
+
+ /*
+- * Types that differ between LLP64 and LP64 architectures - in LLP64,
++ * Types that differ between LLP64 and LP64 architectures - in LLP64,
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
+ * to be the only LLP64 architecture in current use.
+ */
+diff --git a/include/export.h b/include/export.h
+index 809265c..2bc3900 100644
+--- a/include/export.h
++++ b/include/export.h
+@@ -9,14 +9,14 @@
+ #ifndef LIBGLESV2_EXPORT_H_
+ #define LIBGLESV2_EXPORT_H_
+
+-#if defined(_WIN32)
++#if defined(_WIN32) && !defined(ANGLE_STATIC)
+ #if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
+ defined(LIBANGLE_UTIL_IMPLEMENTATION)
+ # define ANGLE_EXPORT __declspec(dllexport)
+ # else
+ # define ANGLE_EXPORT __declspec(dllimport)
+ # endif
+-#elif defined(__GNUC__)
++#elif defined(__GNUC__) && !defined(ANGLE_STATIC)
+ #if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
+ defined(LIBANGLE_UTIL_IMPLEMENTATION)
+ # define ANGLE_EXPORT __attribute__((visibility ("default")))
+--
+2.10.2
+
diff --git a/0002-Provide-Windows-XP-support.patch b/0002-Provide-Windows-XP-support.patch
new file mode 100644
index 000000000000..5bc2f9b2b8e6
--- /dev/null
+++ b/0002-Provide-Windows-XP-support.patch
@@ -0,0 +1,25 @@
+From 9d67527bab497a3c0030ddc4b2f7467f58bf3a85 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Tue, 9 Aug 2016 19:15:20 +0200
+Subject: [PATCH 2/8] Provide Windows XP support
+
+---
+ src/common/string_utils.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/string_utils.cpp b/src/common/string_utils.cpp
+index bb1edd2..2e6e228 100644
+--- a/src/common/string_utils.cpp
++++ b/src/common/string_utils.cpp
+@@ -141,7 +141,7 @@ bool ReadFileToString(const std::string &path, std::string *stringOut)
+ Optional<std::vector<wchar_t>> WidenString(size_t length, const char *cString)
+ {
+ std::vector<wchar_t> wcstring(length + 1);
+-#if !defined(ANGLE_PLATFORM_WINDOWS)
++#if !defined(ANGLE_PLATFORM_WINDOWS) || defined(ANGLE_WINDOWS_XP_SUPPORT)
+ size_t written = mbstowcs(wcstring.data(), cString, length + 1);
+ if (written == 0)
+ {
+--
+2.10.2
+
diff --git a/0003-Fix-dynamic-libraries.patch b/0003-Fix-dynamic-libraries.patch
new file mode 100644
index 000000000000..4c718a240279
--- /dev/null
+++ b/0003-Fix-dynamic-libraries.patch
@@ -0,0 +1,433 @@
+From 5cb25e912901941875d7a4498d6a3e668b6069c3 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 25 Sep 2016 23:03:18 +0200
+Subject: [PATCH 3/8] Fix dynamic libraries
+
+- Create import libs
+- Use correct *.def file
+---
+ src/libEGL.gypi | 6 +
+ src/libEGL/libEGL_mingw32.def | 53 ++++++
+ src/libGLESv2.gypi | 6 +
+ src/libGLESv2/libGLESv2_mingw32.def | 315 ++++++++++++++++++++++++++++++++++++
+ 4 files changed, 380 insertions(+)
+ create mode 100644 src/libEGL/libEGL_mingw32.def
+ create mode 100644 src/libGLESv2/libGLESv2_mingw32.def
+
+diff --git a/src/libEGL.gypi b/src/libEGL.gypi
+index 813b006..1176136 100644
+--- a/src/libEGL.gypi
++++ b/src/libEGL.gypi
+@@ -34,6 +34,12 @@
+ {
+ 'msvs_requires_importlibrary' : 'true',
+ }],
++ ['TARGET=="win32"', {
++ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL_mingw32.def' ],
++ }],
++ ['TARGET=="win64"', {
++ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL.def' ],
++ }],
+ ],
+ },
+ ],
+diff --git a/src/libEGL/libEGL_mingw32.def b/src/libEGL/libEGL_mingw32.def
+new file mode 100644
+index 0000000..6cecc64
+--- /dev/null
++++ b/src/libEGL/libEGL_mingw32.def
+@@ -0,0 +1,53 @@
++LIBRARY libEGL
++EXPORTS
++ eglBindAPI@4 @14
++ eglBindTexImage@12 @20
++ eglChooseConfig@20 @7
++ eglCopyBuffers@12 @33
++ eglCreateContext@16 @23
++ eglCreatePbufferFromClientBuffer@20 @18
++ eglCreatePbufferSurface@12 @10
++ eglCreatePixmapSurface@16 @11
++ eglCreateWindowSurface@16 @9
++ eglDestroyContext@8 @24
++ eglDestroySurface@8 @12
++ eglGetConfigAttrib@16 @8
++ eglGetConfigs@16 @6
++ eglGetCurrentContext@0 @26
++ eglGetCurrentDisplay@0 @28
++ eglGetCurrentSurface@4 @27
++ eglGetDisplay@4 @2
++ eglGetError@0 @1
++ eglGetProcAddress@4 @34
++ eglInitialize@12 @3
++ eglMakeCurrent@16 @25
++ eglQueryAPI@0 @15
++ eglQueryContext@16 @29
++ eglQueryString@8 @5
++ eglQuerySurface@16 @13
++ eglReleaseTexImage@12 @21
++ eglReleaseThread@0 @17
++ eglSurfaceAttrib@16 @19
++ eglSwapBuffers@8 @32
++ eglSwapInterval@8 @22
++ eglTerminate@4 @4
++ eglWaitClient@0 @16
++ eglWaitGL@0 @30
++ eglWaitNative@4 @31
++
++ ; Extensions
++ eglGetPlatformDisplayEXT@12 @35
++ eglQuerySurfacePointerANGLE@16 @36
++ eglPostSubBufferNV@24 @37
++
++ ; 1.5 entry points
++ eglCreateSync@12 @38
++ eglDestroySync@8 @39
++ eglClientWaitSync@20 @40
++ eglGetSyncAttrib@16 @41
++ eglCreateImage@20 @42
++ eglDestroyImage@8 @43
++ eglGetPlatformDisplay@12 @44
++ eglCreatePlatformWindowSurface@16 @45
++ eglCreatePlatformPixmapSurface@16 @46
++ eglWaitSync@12 @47
+diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
+index 39600c6..dac2dae 100644
+--- a/src/libGLESv2.gypi
++++ b/src/libGLESv2.gypi
+@@ -1052,6 +1052,12 @@
+ {
+ 'msvs_requires_importlibrary' : 'true',
+ }],
++ ['TARGET=="win32"', {
++ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2_mingw32.def' ],
++ }],
++ ['TARGET=="win64"', {
++ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2.def' ],
++ }],
+ ],
+ },
+ ],
+diff --git a/src/libGLESv2/libGLESv2_mingw32.def b/src/libGLESv2/libGLESv2_mingw32.def
+new file mode 100644
+index 0000000..7a56196
+--- /dev/null
++++ b/src/libGLESv2/libGLESv2_mingw32.def
+@@ -0,0 +1,315 @@
++LIBRARY libGLESv2
++EXPORTS
++ glActiveTexture@4 @1
++ glAttachShader@8 @2
++ glBindAttribLocation@12 @3
++ glBindBuffer@8 @4
++ glBindFramebuffer@8 @5
++ glBindRenderbuffer@8 @6
++ glBindTexture@8 @7
++ glBlendColor@16 @8
++ glBlendEquation@4 @9
++ glBlendEquationSeparate@8 @10
++ glBlendFunc@8 @11
++ glBlendFuncSeparate@16 @12
++ glBufferData@16 @13
++ glBufferSubData@16 @14
++ glCheckFramebufferStatus@4 @15
++ glClear@4 @16
++ glClearColor@16 @17
++ glClearDepthf@4 @18
++ glClearStencil@4 @19
++ glColorMask@16 @20
++ glCompileShader@4 @21
++ glCompressedTexImage2D@32 @22
++ glCompressedTexSubImage2D@36 @23
++ glCopyTexImage2D@32 @24
++ glCopyTexSubImage2D@32 @25
++ glCreateProgram@0 @26
++ glCreateShader@4 @27
++ glCullFace@4 @28
++ glDeleteBuffers@8 @29
++ glDeleteFramebuffers@8 @30
++ glDeleteProgram@4 @32
++ glDeleteRenderbuffers@8 @33
++ glDeleteShader@4 @34
++ glDeleteTextures@8 @31
++ glDepthFunc@4 @36
++ glDepthMask@4 @37
++ glDepthRangef@8 @38
++ glDetachShader@8 @35
++ glDisable@4 @39
++ glDisableVertexAttribArray@4 @40
++ glDrawArrays@12 @41
++ glDrawElements@16 @42
++ glEnable@4 @43
++ glEnableVertexAttribArray@4 @44
++ glFinish@0 @45
++ glFlush@0 @46
++ glFramebufferRenderbuffer@16 @47
++ glFramebufferTexture2D@20 @48
++ glFrontFace@4 @49
++ glGenBuffers@8 @50
++ glGenFramebuffers@8 @52
++ glGenRenderbuffers@8 @53
++ glGenTextures@8 @54
++ glGenerateMipmap@4 @51
++ glGetActiveAttrib@28 @55
++ glGetActiveUniform@28 @56
++ glGetAttachedShaders@16 @57
++ glGetAttribLocation@8 @58
++ glGetBooleanv@8 @59
++ glGetBufferParameteriv@12 @60
++ glGetError@0 @61
++ glGetFloatv@8 @62
++ glGetFramebufferAttachmentParameteriv@16 @63
++ glGetIntegerv@8 @64
++ glGetProgramInfoLog@16 @66
++ glGetProgramiv@12 @65
++ glGetRenderbufferParameteriv@12 @67
++ glGetShaderInfoLog@16 @69
++ glGetShaderPrecisionFormat@16 @70
++ glGetShaderSource@16 @71
++ glGetShaderiv@12 @68
++ glGetString@4 @72
++ glGetTexParameterfv@12 @73
++ glGetTexParameteriv@12 @74
++ glGetUniformLocation@8 @77
++ glGetUniformfv@12 @75
++ glGetUniformiv@12 @76
++ glGetVertexAttribPointerv@12 @80
++ glGetVertexAttribfv@12 @78
++ glGetVertexAttribiv@12 @79
++ glHint@8 @81
++ glIsBuffer@4 @82
++ glIsEnabled@4 @83
++ glIsFramebuffer@4 @84
++ glIsProgram@4 @85
++ glIsRenderbuffer@4 @86
++ glIsShader@4 @87
++ glIsTexture@4 @88
++ glLineWidth@4 @89
++ glLinkProgram@4 @90
++ glPixelStorei@8 @91
++ glPolygonOffset@8 @92
++ glReadPixels@28 @93
++ glReleaseShaderCompiler@0 @94
++ glRenderbufferStorage@16 @95
++ glSampleCoverage@8 @96
++ glScissor@16 @97
++ glShaderBinary@20 @98
++ glShaderSource@16 @99
++ glStencilFunc@12 @100
++ glStencilFuncSeparate@16 @101
++ glStencilMask@4 @102
++ glStencilMaskSeparate@8 @103
++ glStencilOp@12 @104
++ glStencilOpSeparate@16 @105
++ glTexImage2D@36 @106
++ glTexParameterf@12 @107
++ glTexParameterfv@12 @108
++ glTexParameteri@12 @109
++ glTexParameteriv@12 @110
++ glTexSubImage2D@36 @111
++ glUniform1f@8 @112
++ glUniform1fv@12 @113
++ glUniform1i@8 @114
++ glUniform1iv@12 @115
++ glUniform2f@12 @116
++ glUniform2fv@12 @117
++ glUniform2i@12 @118
++ glUniform2iv@12 @119
++ glUniform3f@16 @120
++ glUniform3fv@12 @121
++ glUniform3i@16 @122
++ glUniform3iv@12 @123
++ glUniform4f@20 @124
++ glUniform4fv@12 @125
++ glUniform4i@20 @126
++ glUniform4iv@12 @127
++ glUniformMatrix2fv@16 @128
++ glUniformMatrix3fv@16 @129
++ glUniformMatrix4fv@16 @130
++ glUseProgram@4 @131
++ glValidateProgram@4 @132
++ glVertexAttrib1f@8 @133
++ glVertexAttrib1fv@8 @134
++ glVertexAttrib2f@12 @135
++ glVertexAttrib2fv@8 @136
++ glVertexAttrib3f@16 @137
++ glVertexAttrib3fv@8 @138
++ glVertexAttrib4f@20 @139
++ glVertexAttrib4fv@8 @140
++ glVertexAttribPointer@24 @141
++ glViewport@16 @142
++
++ ; Extensions
++ glBlitFramebufferANGLE@40 @149
++ glRenderbufferStorageMultisampleANGLE@20 @150
++ glDeleteFencesNV@8 @151
++ glFinishFenceNV@4 @152
++ glGenFencesNV@8 @153
++ glGetFenceivNV@12 @154
++ glIsFenceNV@4 @155
++ glSetFenceNV@8 @156
++ glTestFenceNV@4 @157
++ glGetTranslatedShaderSourceANGLE@16 @159
++ glTexStorage2DEXT@20 @160
++ glGetGraphicsResetStatusEXT@0 @161
++ glReadnPixelsEXT@32 @162
++ glGetnUniformfvEXT@16 @163
++ glGetnUniformivEXT@16 @164
++ glGenQueriesEXT@8 @165
++ glDeleteQueriesEXT@8 @166
++ glIsQueryEXT@4 @167
++ glBeginQueryEXT@8 @168
++ glEndQueryEXT@4 @169
++ glGetQueryivEXT@12 @170
++ glGetQueryObjectuivEXT@12 @171
++ glVertexAttribDivisorANGLE@8 @172
++ glDrawArraysInstancedANGLE@16 @173
++ glDrawElementsInstancedANGLE@20 @174
++ glProgramBinaryOES@16 @175
++ glGetProgramBinaryOES@20 @176
++ glDrawBuffersEXT@8 @179
++ glMapBufferOES@8 @285
++ glUnmapBufferOES@4 @286
++ glGetBufferPointervOES@12 @287
++ glMapBufferRangeEXT@16 @288
++ glFlushMappedBufferRangeEXT@12 @289
++ glDiscardFramebufferEXT@12 @293
++ glInsertEventMarkerEXT@8 @294
++ glPushGroupMarkerEXT@8 @295
++ glPopGroupMarkerEXT @296
++ glEGLImageTargetTexture2DOES@8 @297
++ glEGLImageTargetRenderbufferStorageOES@8 @298
++ glBindVertexArrayOES@4 @299
++ glDeleteVertexArraysOES@8 @300
++ glGenVertexArraysOES@8 @301
++ glIsVertexArrayOES@4 @302
++ glDebugMessageControlKHR@24 @303
++ glDebugMessageInsertKHR@24 @304
++ glDebugMessageCallbackKHR@8 @305
++ glGetDebugMessageLogKHR@32 @306
++ glPushDebugGroupKHR@16 @307
++ glPopDebugGroupKHR @308
++ glObjectLabelKHR@16 @309
++ glGetObjectLabelKHR@20 @310
++ glObjectPtrLabelKHR@12 @311
++ glGetObjectPtrLabelKHR@16 @312
++ glGetPointervKHR@8 @313
++ glQueryCounterEXT@8 @314
++ glGetQueryObjectivEXT@12 @315
++ glGetQueryObjecti64vEXT@12 @316
++ glGetQueryObjectui64vEXT@12 @317
++
++ ; GLES 3.0 Functions
++ glReadBuffer@4 @180
++ glDrawRangeElements@24 @181
++ glTexImage3D@40 @182
++ glTexSubImage3D@44 @183
++ glCopyTexSubImage3D@36 @184
++ glCompressedTexImage3D@36 @185
++ glCompressedTexSubImage3D@44 @186
++ glGenQueries@8 @187
++ glDeleteQueries@8 @188
++ glIsQuery@4 @189
++ glBeginQuery@8 @190
++ glEndQuery@4 @191
++ glGetQueryiv@12 @192
++ glGetQueryObjectuiv@12 @193
++ glUnmapBuffer@4 @194
++ glGetBufferPointerv@12 @195
++ glDrawBuffers@8 @196
++ glUniformMatrix2x3fv@16 @197
++ glUniformMatrix3x2fv@16 @198
++ glUniformMatrix2x4fv@16 @199
++ glUniformMatrix4x2fv@16 @200
++ glUniformMatrix3x4fv@16 @201
++ glUniformMatrix4x3fv@16 @202
++ glBlitFramebuffer@40 @203
++ glRenderbufferStorageMultisample@20 @204
++ glFramebufferTextureLayer@20 @205
++ glMapBufferRange@16 @206
++ glFlushMappedBufferRange@12 @207
++ glBindVertexArray@4 @208
++ glDeleteVertexArrays@8 @209
++ glGenVertexArrays@8 @210
++ glIsVertexArray@4 @211
++ glGetIntegeri_v@12 @212
++ glBeginTransformFeedback@4 @213
++ glEndTransformFeedback@0 @214
++ glBindBufferRange@20 @215
++ glBindBufferBase@12 @216
++ glTransformFeedbackVaryings@16 @217
++ glGetTransformFeedbackVarying@28 @218
++ glVertexAttribIPointer@20 @219
++ glGetVertexAttribIiv@12 @220
++ glGetVertexAttribIuiv@12 @221
++ glVertexAttribI4i@20 @222
++ glVertexAttribI4ui@20 @223
++ glVertexAttribI4iv@8 @224
++ glVertexAttribI4uiv@8 @225
++ glGetUniformuiv@12 @226
++ glGetFragDataLocation@8 @227
++ glUniform1ui@8 @228
++ glUniform2ui@12 @229
++ glUniform3ui@16 @230
++ glUniform4ui@20 @231
++ glUniform1uiv@12 @232
++ glUniform2uiv@12 @233
++ glUniform3uiv@12 @234
++ glUniform4uiv@12 @235
++ glClearBufferiv@12 @236
++ glClearBufferuiv@12 @237
++ glClearBufferfv@12 @238
++ glClearBufferfi@16 @239
++ glGetStringi@8 @240
++ glCopyBufferSubData@20 @241
++ glGetUniformIndices@16 @242
++ glGetActiveUniformsiv@20 @243
++ glGetUniformBlockIndex@8 @244
++ glGetActiveUniformBlockiv@16 @245
++ glGetActiveUniformBlockName@20 @246
++ glUniformBlockBinding@12 @247
++ glDrawArraysInstanced@16 @248
++ glDrawElementsInstanced@20 @249
++ glFenceSync@8 @250
++ glIsSync@4 @251
++ glDeleteSync@4 @252
++ glClientWaitSync@16 @253
++ glWaitSync@16 @254
++ glGetInteger64v@8 @255
++ glGetSynciv@20 @256
++ glGetInteger64i_v@12 @257
++ glGetBufferParameteri64v@12 @258
++ glGenSamplers@8 @259
++ glDeleteSamplers@8 @260
++ glIsSampler@4 @261
++ glBindSampler@8 @262
++ glSamplerParameteri@12 @263
++ glSamplerParameteriv@12 @264
++ glSamplerParameterf@12 @265
++ glSamplerParameterfv@12 @266
++ glGetSamplerParameteriv@12 @267
++ glGetSamplerParameterfv@12 @268
++ glVertexAttribDivisor@8 @269
++ glBindTransformFeedback@8 @270
++ glDeleteTransformFeedbacks@8 @271
++ glGenTransformFeedbacks@8 @272
++ glIsTransformFeedback@4 @273
++ glPauseTransformFeedback@0 @274
++ glResumeTransformFeedback@0 @275
++ glGetProgramBinary@20 @276
++ glProgramBinary@16 @277
++ glProgramParameteri@12 @278
++ glInvalidateFramebuffer@12 @279
++ glInvalidateSubFramebuffer@28 @280
++ glTexStorage2D@20 @281
++ glTexStorage3D@24 @282
++ glGetInternalformativ@20 @283
++
++ ; ANGLE Platform Implementation
++ ANGLEPlatformCurrent @290
++ ANGLEPlatformInitialize @291
++ ANGLEPlatformShutdown @292
+--
+2.10.2
+
diff --git a/0004-Link-against-dxguid-d3d9-and-gdi32.patch b/0004-Link-against-dxguid-d3d9-and-gdi32.patch
new file mode 100644
index 000000000000..4ef437b13086
--- /dev/null
+++ b/0004-Link-against-dxguid-d3d9-and-gdi32.patch
@@ -0,0 +1,41 @@
+From d3d4fba06e0e8f0c80a1573b1a002ac76bbe9c5b Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 25 Sep 2016 23:05:02 +0200
+Subject: [PATCH 4/8] Link against dxguid, d3d9 and gdi32
+
+---
+ src/libEGL.gypi | 3 +++
+ src/libGLESv2.gypi | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/libEGL.gypi b/src/libEGL.gypi
+index 1176136..03fb651 100644
+--- a/src/libEGL.gypi
++++ b/src/libEGL.gypi
+@@ -41,6 +41,9 @@
+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../../../src/libEGL/libEGL.def' ],
+ }],
+ ],
++ 'libraries': [
++ '-ldxguid -ld3d9 -lgdi32'
++ ]
+ },
+ ],
+ }
+diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
+index dac2dae..1267cc2 100644
+--- a/src/libGLESv2.gypi
++++ b/src/libGLESv2.gypi
+@@ -1059,6 +1059,9 @@
+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../../../src/libGLESv2/libGLESv2.def' ],
+ }],
+ ],
++ 'libraries': [
++ '-ldxguid -ld3d9 -lgdi32'
++ ]
+ },
+ ],
+ }
+--
+2.10.2
+
diff --git a/0005-Export-shader-API-via-libGLESv2.dll.patch b/0005-Export-shader-API-via-libGLESv2.dll.patch
new file mode 100644
index 000000000000..7a11ee2f0bf9
--- /dev/null
+++ b/0005-Export-shader-API-via-libGLESv2.dll.patch
@@ -0,0 +1,26 @@
+From 76ef75af85db31e33fa573336a18058238639f9c Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 25 Sep 2016 23:07:03 +0200
+Subject: [PATCH 5/8] Export shader API via libGLESv2.dll
+
+Required by Qt WebKit
+---
+ src/libGLESv2.gypi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
+index 1267cc2..17375c9 100644
+--- a/src/libGLESv2.gypi
++++ b/src/libGLESv2.gypi
+@@ -1036,7 +1036,7 @@
+ {
+ 'target_name': 'libGLESv2',
+ 'type': '<(angle_gl_library_type)',
+- 'dependencies': [ 'libANGLE', 'angle_common' ],
++ 'dependencies': [ 'translator', 'libANGLE', 'angle_common' ],
+ 'includes': [ '../build/common_defines.gypi', ],
+ 'sources':
+ [
+--
+2.10.2
+
diff --git a/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch b/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
new file mode 100644
index 000000000000..74d6810345f7
--- /dev/null
+++ b/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
@@ -0,0 +1,44 @@
+From af3962f3143069029c367c9da70cb94987c3fafb Mon Sep 17 00:00:00 2001
+From: Jose Santiago <jsantiago@haivision.com>
+Date: Thu, 3 Nov 2016 09:38:19 -0500
+Subject: [PATCH 6/8] Make GLintptr and GLsizeiptr match those from Qt 5
+
+Fix compiling mingw-w64-qt5-base-dynamic and mingw-w64-qt5-webkit
+---
+ include/KHR/khrplatform.h | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/include/KHR/khrplatform.h b/include/KHR/khrplatform.h
+index 9017b61..d31a9f9 100755
+--- a/include/KHR/khrplatform.h
++++ b/include/KHR/khrplatform.h
+@@ -228,17 +228,22 @@ typedef unsigned short int khronos_uint16_t;
+ * to be the only LLP64 architecture in current use.
+ */
+ #ifdef _WIN64
+-typedef signed long long int khronos_intptr_t;
++//typedef signed long long int khronos_intptr_t;
+ typedef unsigned long long int khronos_uintptr_t;
+-typedef signed long long int khronos_ssize_t;
++//typedef signed long long int khronos_ssize_t;
+ typedef unsigned long long int khronos_usize_t;
+ #else
+-typedef signed long int khronos_intptr_t;
++//typedef signed long int khronos_intptr_t;
+ typedef unsigned long int khronos_uintptr_t;
+-typedef signed long int khronos_ssize_t;
++//typedef signed long int khronos_ssize_t;
+ typedef unsigned long int khronos_usize_t;
+ #endif
+
++// Make this compatible with QTOpenGL and QtWebkit.
++// It seems that ptrdiff_t is the right size on WIN32 and WIN64.
++typedef ptrdiff_t khronos_intptr_t;
++typedef ptrdiff_t khronos_ssize_t;
++
+ #if KHRONOS_SUPPORT_FLOAT
+ /*
+ * Float type
+--
+2.10.2
+
diff --git a/0007-Remove-copy_scripts-target.patch b/0007-Remove-copy_scripts-target.patch
new file mode 100644
index 000000000000..49fda15d1204
--- /dev/null
+++ b/0007-Remove-copy_scripts-target.patch
@@ -0,0 +1,153 @@
+From 6344194952f53a8c59997badf56d143da57893f2 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 6 Nov 2016 17:57:18 +0100
+Subject: [PATCH 7/8] Remove copy_scripts target
+
+Executing .bat scripts on Linux is a no-go
+---
+ BUILD.gn | 17 ---------------
+ src/angle.gyp | 61 ------------------------------------------------------
+ src/libGLESv2.gypi | 7 -------
+ 3 files changed, 85 deletions(-)
+
+diff --git a/BUILD.gn b/BUILD.gn
+index 3ade282..8842d96 100644
+--- a/BUILD.gn
++++ b/BUILD.gn
+@@ -60,17 +60,6 @@ config("extra_warnings") {
+ }
+ }
+
+-if (is_win) {
+- copy("copy_compiler_dll") {
+- sources = [
+- "$windows_sdk_path/Redist/D3D/$target_cpu/d3dcompiler_47.dll",
+- ]
+- outputs = [
+- "$root_out_dir/d3dcompiler_47.dll",
+- ]
+- }
+-}
+-
+ angle_undefine_configs = [ "//build/config/compiler:default_include_dirs" ]
+
+ static_library("translator") {
+@@ -421,12 +410,6 @@ static_library("libANGLE") {
+ ":libANGLE_config",
+ ":internal_config",
+ ]
+-
+- if (is_win) {
+- data_deps = [
+- ":copy_compiler_dll",
+- ]
+- }
+ }
+
+ config("shared_library_public_config") {
+diff --git a/src/angle.gyp b/src/angle.gyp
+index 578f0f3..083c760 100644
+--- a/src/angle.gyp
++++ b/src/angle.gyp
+@@ -169,27 +169,6 @@
+ ],
+ },
+ },
+-
+- {
+- 'target_name': 'copy_scripts',
+- 'type': 'none',
+- 'includes': [ '../build/common_defines.gypi', ],
+- 'hard_dependency': 1,
+- 'copies':
+- [
+- {
+- 'destination': '<(angle_gen_path)',
+- 'files': [ 'copy_compiler_dll.bat', '<(angle_id_script_base)' ],
+- },
+- ],
+- 'conditions':
+- [
+- ['angle_build_winrt==1',
+- {
+- 'type' : 'shared_library',
+- }],
+- ],
+- },
+ ],
+ 'conditions':
+ [
+@@ -201,7 +180,6 @@
+ 'target_name': 'commit_id',
+ 'type': 'none',
+ 'includes': [ '../build/common_defines.gypi', ],
+- 'dependencies': [ 'copy_scripts', ],
+ 'hard_dependency': 1,
+ 'actions':
+ [
+@@ -267,44 +245,5 @@
+ }
+ ]
+ }],
+- ['OS=="win"',
+- {
+- 'targets':
+- [
+- {
+- 'target_name': 'copy_compiler_dll',
+- 'type': 'none',
+- 'dependencies': [ 'copy_scripts', ],
+- 'includes': [ '../build/common_defines.gypi', ],
+- 'conditions':
+- [
+- ['angle_build_winrt==0',
+- {
+- 'actions':
+- [
+- {
+- 'action_name': 'copy_dll',
+- 'message': 'Copying D3D Compiler DLL...',
+- 'msvs_cygwin_shell': 0,
+- 'inputs': [ 'copy_compiler_dll.bat' ],
+- 'outputs': [ '<(PRODUCT_DIR)/d3dcompiler_47.dll' ],
+- 'action':
+- [
+- "<(angle_gen_path)/copy_compiler_dll.bat",
+- "$(PlatformName)",
+- "<(windows_sdk_path)",
+- "<(PRODUCT_DIR)"
+- ],
+- },
+- ], #actions
+- }],
+- ['angle_build_winrt==1',
+- {
+- 'type' : 'shared_library',
+- }],
+- ]
+- },
+- ], # targets
+- }],
+ ] # conditions
+ }
+diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
+index 17375c9..2a88286 100644
+--- a/src/libGLESv2.gypi
++++ b/src/libGLESv2.gypi
+@@ -1020,13 +1020,6 @@
+ 'ANGLE_ENABLE_NULL',
+ ],
+ }],
+- ['angle_build_winrt==0 and OS=="win"',
+- {
+- 'dependencies':
+- [
+- 'copy_compiler_dll'
+- ],
+- }],
+ ['angle_build_winrt==1',
+ {
+ 'msvs_requires_importlibrary' : 'true',
+--
+2.10.2
+
diff --git a/0008-Fix-generation-of-commit_id.h.patch b/0008-Fix-generation-of-commit_id.h.patch
new file mode 100644
index 000000000000..aff640927d6d
--- /dev/null
+++ b/0008-Fix-generation-of-commit_id.h.patch
@@ -0,0 +1,36 @@
+From 0eccfb59664cfc9285ca893bca9e0b053c86fdcd Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 6 Nov 2016 18:46:15 +0100
+Subject: [PATCH 8/8] Fix generation of commit_id.h
+
+This might break compiling when not
+executing ninja in subdir of source tee
+---
+ src/angle.gyp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/angle.gyp b/src/angle.gyp
+index 083c760..0c149f3 100644
+--- a/src/angle.gyp
++++ b/src/angle.gyp
+@@ -8,7 +8,7 @@
+ 'angle_code': 1,
+ 'angle_gen_path': '<(SHARED_INTERMEDIATE_DIR)/angle',
+ 'angle_id_script_base': 'commit_id.py',
+- 'angle_id_script': '<(angle_gen_path)/<(angle_id_script_base)',
++ 'angle_id_script': '<(angle_id_script_base)',
+ 'angle_id_header_base': 'commit.h',
+ 'angle_id_header': '<(angle_gen_path)/id/<(angle_id_header_base)',
+ 'angle_use_commit_id%': '<!(python <(angle_id_script_base) check ..)',
+@@ -187,7 +187,7 @@
+ 'action_name': 'Generate ANGLE Commit ID Header',
+ 'message': 'Generating ANGLE Commit ID',
+ # reference the git index as an input, so we rebuild on changes to the index
+- 'inputs': [ '<(angle_id_script)', '<(angle_path)/.git/index' ],
++ 'inputs': [ '<(angle_id_script)', '<(angle_path)/../.git/index' ],
+ 'outputs': [ '<(angle_id_header)' ],
+ 'msvs_cygwin_shell': 0,
+ 'action':
+--
+2.10.2
+
diff --git a/PKGBUILD b/PKGBUILD
index f2184ac4c2fb..7a729ec25761 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,30 +8,36 @@
# you also find the URL of a binary repository.
pkgname=mingw-w64-angleproject
-pkgver=2.1.r5707.5858f7e
+pkgver=2.1.r6289.f097e23
pkgrel=1
pkgdesc='ANGLE project (mingw-w64)'
arch=('any')
url='https://chromium.googlesource.com/angle/angle/+/master/README.md'
license=('BSD')
depends=('mingw-w64-crt')
-makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'python')
+makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'depot-tools-git' 'python' 'python2')
options=('!strip' '!buildflags' 'staticlibs')
-source=('angleproject::git+https://chromium.googlesource.com/angle/angle#commit=5858f7e'
+source=('angleproject::git+https://chromium.googlesource.com/angle/angle#commit=f097e23'
'additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git#commit=7a8f394'
- 'angleproject-include-import-library-and-use-def-file.patch'
- 'libEGL_mingw32.def'
- 'libGLESv2_mingw32.def'
- 'entry_points_shader.cpp'
- 'provide_mbstowcs_s_for_xp.patch')
+ '0001-Provide-workaround-for-building-static-libs.patch'
+ '0002-Provide-Windows-XP-support.patch'
+ '0003-Fix-dynamic-libraries.patch'
+ '0004-Link-against-dxguid-d3d9-and-gdi32.patch'
+ '0005-Export-shader-API-via-libGLESv2.dll.patch'
+ '0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch'
+ '0007-Remove-copy_scripts-target.patch'
+ '0008-Fix-generation-of-commit_id.h.patch')
sha256sums=('SKIP'
'SKIP'
- '895c62846e6784dcc33171523a452cb474010d3fc9e7c351c27b8add4e9930ab'
- 'fb04f30b904760d32c4c0b733d0a0b44359855db1fde9e7f5ca7d0b8b1be3e56'
- '3186d913a5fb483d2ae568068453e494d52df8f3f23f09d16afbbf916a63e4a4'
- 'ad347c9732f8897497aa51b8969a0e01cd8cd4ebb9a0e873a2ff47c210f1d46c'
- '57b16254c23dbd312dbbe0495a177690809b916c2f3d8b3bbf2dd405274d518c')
-_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
+ 'b90c65737137d3e4f146fcd7fcb7c1893f071888046c8125c41470a800b4ac72'
+ 'e79008c38c429937985812e525c71292bd612f6a3844abb328d2837fd69ce763'
+ '08e47bb775a032a470f9fc995f1a06721b0431c30c2b7a79ca083ea06d0a9622'
+ 'd7a0c9de5c91aa9d5364fa453240309d30c0a17ea85dde979c85b836916ae11e'
+ 'b85618a22d25ced858ff47a6b4102c0d48b89470484add48063ccfe242169555'
+ 'da091bbe30f96038026713941ce47c7aaf2bb8767150bd941ec95878cde7c4a2'
+ '8da56bffa5e718d987306794fd9087a8a92a49e79203857ca81d383c9d5462c8'
+ '0a513ee36b9b452ff7c2ba3a37539efe3d5b65992969c95e07afccdf7545f0ee')
+_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
#pkgver() {
# cd "$srcdir/angleproject"
@@ -42,70 +48,81 @@ _architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "${srcdir}/angleproject"
- # provide recent versions of some mingw-w64 header files
+ # Ensure depot-tools are in PATH
+ source /etc/profile.d/depot_tools.sh
+
+ # Provide recent versions of some Windows header files
mkdir -p sysinclude
cp ../additional-mingw-header/{d3d11sdklayers,dxgi1_2,versionhelpers,d3d10_1,sdkddkver,d3d11,dcomp,dcomptypes,dcompanimation}.h sysinclude/
cp sysinclude/{versionhelpers,VersionHelpers}.h
- # provide 32-bit versions of *.def files
- cp ../libEGL_mingw32.def src/libEGL/
- cp ../libGLESv2_mingw32.def src/libGLESv2/
-
- # provide a file to export symbols declared in ShaderLang.h as part of libGLESv2.dll
- # (required to build Qt WebKit which uses shader interface)
- cp ../entry_points_shader.cpp src/libGLESv2/
-
- # remove .git directory to prevent: No rule to make target '../build-i686-w64-mingw32/.git/index', needed by 'out/Debug/obj/gen/angle/id/commit.h'.
- rm -fr .git
-
- # make sure an import library is created, the correct .def file is used during the build
- # and entry_points_shader.cpp is compiled
- patch -p1 -i "${srcdir}/angleproject-include-import-library-and-use-def-file.patch"
+ # Set cache dir for gsutil
+ mkdir -p /tmp/gsutil
+ export DEPOT_TOOLS_GSUTIL_BIN_DIR=/tmp/gsutil
- # provide own implementation of mbstowcs_s for Windows XP support
- patch -p1 -i "${srcdir}/provide_mbstowcs_s_for_xp.patch"
+ # Execute bootstrap scripts
+ python2 scripts/bootstrap.py
+ # Set cache dir manually, though
+ #gclient config --name change2dot --unmanaged --cache-dir /tmp/gclient \
+ # 'https://chromium.googlesource.com/angle/angle.git'
+ gclient sync --deps=all
- # executing .bat scripts on Linux is a no-go so make this a no-op
- echo "" > src/copy_compiler_dll.bat
- chmod +x src/copy_compiler_dll.bat
+ # Apply patches; further descriptions can be found in patch files itself
+ for patch in "$srcdir/"*.patch; do
+ patch -p1 -i "$patch"
+ done
}
build() {
cd "${srcdir}/angleproject"
- # set build flags, make sure all header files are found
- export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -std=c++11 -msse2 -DUNICODE -D_UNICODE -g -I${srcdir}/angleproject/sysinclude -I${srcdir}/angleproject/src -I${srcdir}/angleproject/include"
- unset LDFLAGS
+ # Set common build flags and make sure all header files are found
+ local CXXFLAGS_COMMON="\
+ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -std=c++11 -msse2\
+ -DUNICODE -D_UNICODE -DANGLE_WINDOWS_XP_SUPPORT\
+ -I${srcdir}/angleproject/include\
+ -I${srcdir}/angleproject/sysinclude\
+ -I${srcdir}/angleproject/src\
+ -I${srcdir}/angleproject/src/common/third_party/numerics"
+
+ # Use ninja
+ export GYP_GENERATORS=ninja
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
+ # Set ar/compiler and architecture specific compiler flags
+ export CC="${_arch}-gcc"
export CXX="${_arch}-g++"
export AR="${_arch}-ar"
-
+ export AS="${_arch}-as"
+ export RANLIB="${_arch}-ranlib"
+ unset LDFLAGS
if [[ ${_arch} == i686-w64-mingw32 ]]; then
- target="win32"
+ local target='win32'
+ export CXXFLAGS="${CXXFLAGS_COMMON} -march=i686"
else
- target="win64"
+ local target='win64'
+ export CXXFLAGS="${CXXFLAGS_COMMON} -march=x86-64"
fi
- gyp -D use_ozone=0 -D OS=win -D TARGET=$target --format make -D MSVS_VERSION="" --depth . -I ../build/common.gypi ../src/angle.gyp
+ # Compose args for gyp and ninja
+ local gyp_args="-D use_ozone=0 -D OS=win -D TARGET=$target -D MSVS_VERSION='' --depth . -I ../build/common.gypi ../src/angle.gyp"
+ local ninja_args="-C out/Release -j $(nproc)"
- # forcing non-concurrent build to prevent:
- # i686-w64-mingw32-g++ -shared -Wl,-soname=libGLESv2.so -o out/Debug/obj.target/../src/libGLESv2.so -Wl,--whole-archive out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_egl.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_egl_ext.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_2_0.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_2_0_ext.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/entry_points_gles_3_0.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/global_state.o out/Debug/obj.target/libGLESv2/../src/libGLESv2/libGLESv2.o out/Debug/obj.target/../src/libANGLE.a out/Debug/obj.target/../src/libangle_common.a out/Debug/obj.target/../src/libtranslator_static.a out/Debug/obj.target/../src/libtranslator_lib.a out/Debug/obj.target/../src/libpreprocessor.a -Wl,--no-whole-archive
- # out/Debug/obj.target/../src/libtranslator_static.a: member out/Debug/obj.target/../src/../obj.target/src/compiler/translator/ShaderLang.o in archive is not an object
- # collect2: error: ld returned 1 exit status
- make -j1 V=1
+ # Build shared libs
+ gyp $gyp_args
+ ninja $ninja_args
- # static libs must be built separately
- gyp -D use_ozone=0 -D OS=win -D TARGET=$target --format make -D MSVS_VERSION="" --depth . -I ../build/common.gypi ../src/angle.gyp -D angle_gl_library_type=static_library
- make -j1 V=1
+ # Build static libs
+ gyp $gyp_args -D angle_gl_library_type=static_library
+ ninja $ninja_args
- # the static libs produced by the build script are just thin archives so they don't contain any objects themselves
- # -> repackage them to actually contain the object files
- for lib in out/Debug/src/lib*.a; do
- ${_arch}-ar -t $lib | xargs ${_arch}-ar rvs $lib.new && mv $lib.new $lib;
- ${_arch}-ranlib $lib
+ # Static libs produced by the build script are just thin archives so they don't contain any objects themselves
+ # -> Repackage them to actually contain the object files
+ for lib in out/Release/src/lib*.a; do
+ $AR -t $lib | xargs ${_arch}-ar rvs $lib.new && mv $lib.new $lib;
+ $RANLIB $lib
done
popd
@@ -116,9 +133,13 @@ package() {
for _arch in ${_architectures}; do
cd "${srcdir}/angleproject/build-${_arch}"
mkdir -p "${pkgdir}/usr/${_arch}/"{bin,lib,include}
- install out/Debug/src/libGLESv2.so "${pkgdir}/usr/${_arch}/bin/libGLESv2.dll"
- install out/Debug/src/libEGL.so "${pkgdir}/usr/${_arch}/bin/libEGL.dll"
- install libGLESv2.dll.a libEGL.dll.a out/Debug/src/lib*.a "${pkgdir}/usr/${_arch}/lib/"
+ install out/Release/lib/libGLESv2.so "${pkgdir}/usr/${_arch}/bin/libGLESv2.dll"
+ install out/Release/lib/libEGL.so "${pkgdir}/usr/${_arch}/bin/libEGL.dll"
+ install \
+ out/Release/libGLESv2.dll.a \
+ out/Release/libEGL.dll.a \
+ out/Release/src/lib*.a \
+ "${pkgdir}/usr/${_arch}/lib/"
cp -Rv ../include/* "${pkgdir}/usr/${_arch}/include/"
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
diff --git a/angleproject-include-import-library-and-use-def-file.patch b/angleproject-include-import-library-and-use-def-file.patch
deleted file mode 100644
index 24abf44850be..000000000000
--- a/angleproject-include-import-library-and-use-def-file.patch
+++ /dev/null
@@ -1,66 +0,0 @@
---- angleproject/src/libEGL.gypi.orig 2016-03-09 22:11:16.726879140 +0100
-+++ angleproject/src/libEGL.gypi 2016-03-10 00:44:46.815748629 +0100
-@@ -38,7 +38,16 @@
- {
- 'msvs_requires_importlibrary' : 'true',
- }],
-+ ['TARGET=="win32"', {
-+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../src/libEGL/libEGL_mingw32.def' ],
-+ }],
-+ ['TARGET=="win64"', {
-+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a ../src/libEGL/libEGL.def' ],
-+ }],
- ],
-+ 'libraries': [
-+ '-ldxguid -ld3d9 -lgdi32'
-+ ]
- },
- ],
- }
- --- angleproject/src/libGLESv2.gypi.orig 2016-03-10 03:55:05.562030615 +0100
-+++ angleproject/src/libGLESv2.gypi 2016-03-10 03:54:50.675783990 +0100
-@@ -515,6 +514,9 @@
- 'libGLESv2/libGLESv2.def',
- 'libGLESv2/libGLESv2.rc',
- 'libGLESv2/resource.h',
-+ '../include/GLSLANG/ShaderLang.h',
-+ '../include/GLSLANG/ShaderVars.h',
-+ 'libGLESv2/entry_points_shader.cpp'
- ],
- 'libegl_sources':
- [
-@@ -533,7 +535,7 @@
- 'type': 'static_library',
- 'dependencies':
- [
-- 'translator_static',
-+ 'translator_lib',
- 'commit_id',
- 'angle_common',
- ],
-@@ -801,7 +803,7 @@
- {
- 'target_name': 'libGLESv2',
- 'type': '<(angle_gl_library_type)',
-- 'dependencies': [ 'libANGLE', 'angle_common' ],
-+ 'dependencies': [ 'translator_lib', 'libANGLE', 'angle_common' ],
- 'includes': [ '../build/common_defines.gypi', ],
- 'sources':
- [
-@@ -821,7 +823,16 @@
- {
- 'msvs_enable_winphone' : '1',
- }],
-+ ['TARGET=="win32"', {
-+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../src/libGLESv2/libGLESv2_mingw32.def' ],
-+ }],
-+ ['TARGET=="win64"', {
-+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a ../src/libGLESv2/libGLESv2.def' ],
-+ }],
- ],
-+ 'libraries': [
-+ '-ldxguid -ld3d9 -lgdi32'
-+ ]
- },
- ],
- }
diff --git a/entry_points_shader.cpp b/entry_points_shader.cpp
deleted file mode 100644
index cd0016f547f4..000000000000
--- a/entry_points_shader.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef COMPONENT_BUILD
-#define COMPONENT_BUILD
-#endif
-#ifdef ANGLE_TRANSLATOR_STATIC
-#undef ANGLE_TRANSLATOR_STATIC
-#endif
-#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION
-#define ANGLE_TRANSLATOR_IMPLEMENTATION
-#endif
-
-#include "../compiler/translator/ShaderVars.cpp"
-#include "../compiler/translator/ShaderLang.cpp"
diff --git a/libEGL_mingw32.def b/libEGL_mingw32.def
deleted file mode 100644
index 6cecc64401c9..000000000000
--- a/libEGL_mingw32.def
+++ /dev/null
@@ -1,53 +0,0 @@
-LIBRARY libEGL
-EXPORTS
- eglBindAPI@4 @14
- eglBindTexImage@12 @20
- eglChooseConfig@20 @7
- eglCopyBuffers@12 @33
- eglCreateContext@16 @23
- eglCreatePbufferFromClientBuffer@20 @18
- eglCreatePbufferSurface@12 @10
- eglCreatePixmapSurface@16 @11
- eglCreateWindowSurface@16 @9
- eglDestroyContext@8 @24
- eglDestroySurface@8 @12
- eglGetConfigAttrib@16 @8
- eglGetConfigs@16 @6
- eglGetCurrentContext@0 @26
- eglGetCurrentDisplay@0 @28
- eglGetCurrentSurface@4 @27
- eglGetDisplay@4 @2
- eglGetError@0 @1
- eglGetProcAddress@4 @34
- eglInitialize@12 @3
- eglMakeCurrent@16 @25
- eglQueryAPI@0 @15
- eglQueryContext@16 @29
- eglQueryString@8 @5
- eglQuerySurface@16 @13
- eglReleaseTexImage@12 @21
- eglReleaseThread@0 @17
- eglSurfaceAttrib@16 @19
- eglSwapBuffers@8 @32
- eglSwapInterval@8 @22
- eglTerminate@4 @4
- eglWaitClient@0 @16
- eglWaitGL@0 @30
- eglWaitNative@4 @31
-
- ; Extensions
- eglGetPlatformDisplayEXT@12 @35
- eglQuerySurfacePointerANGLE@16 @36
- eglPostSubBufferNV@24 @37
-
- ; 1.5 entry points
- eglCreateSync@12 @38
- eglDestroySync@8 @39
- eglClientWaitSync@20 @40
- eglGetSyncAttrib@16 @41
- eglCreateImage@20 @42
- eglDestroyImage@8 @43
- eglGetPlatformDisplay@12 @44
- eglCreatePlatformWindowSurface@16 @45
- eglCreatePlatformPixmapSurface@16 @46
- eglWaitSync@12 @47
diff --git a/libGLESv2_mingw32.def b/libGLESv2_mingw32.def
deleted file mode 100644
index 7a561961a608..000000000000
--- a/libGLESv2_mingw32.def
+++ /dev/null
@@ -1,315 +0,0 @@
-LIBRARY libGLESv2
-EXPORTS
- glActiveTexture@4 @1
- glAttachShader@8 @2
- glBindAttribLocation@12 @3
- glBindBuffer@8 @4
- glBindFramebuffer@8 @5
- glBindRenderbuffer@8 @6
- glBindTexture@8 @7
- glBlendColor@16 @8
- glBlendEquation@4 @9
- glBlendEquationSeparate@8 @10
- glBlendFunc@8 @11
- glBlendFuncSeparate@16 @12
- glBufferData@16 @13
- glBufferSubData@16 @14
- glCheckFramebufferStatus@4 @15
- glClear@4 @16
- glClearColor@16 @17
- glClearDepthf@4 @18
- glClearStencil@4 @19
- glColorMask@16 @20
- glCompileShader@4 @21
- glCompressedTexImage2D@32 @22
- glCompressedTexSubImage2D@36 @23
- glCopyTexImage2D@32 @24
- glCopyTexSubImage2D@32 @25
- glCreateProgram@0 @26
- glCreateShader@4 @27
- glCullFace@4 @28
- glDeleteBuffers@8 @29
- glDeleteFramebuffers@8 @30
- glDeleteProgram@4 @32
- glDeleteRenderbuffers@8 @33
- glDeleteShader@4 @34
- glDeleteTextures@8 @31
- glDepthFunc@4 @36
- glDepthMask@4 @37
- glDepthRangef@8 @38
- glDetachShader@8 @35
- glDisable@4 @39
- glDisableVertexAttribArray@4 @40
- glDrawArrays@12 @41
- glDrawElements@16 @42
- glEnable@4 @43
- glEnableVertexAttribArray@4 @44
- glFinish@0 @45
- glFlush@0 @46
- glFramebufferRenderbuffer@16 @47
- glFramebufferTexture2D@20 @48
- glFrontFace@4 @49
- glGenBuffers@8 @50
- glGenFramebuffers@8 @52
- glGenRenderbuffers@8 @53
- glGenTextures@8 @54
- glGenerateMipmap@4 @51
- glGetActiveAttrib@28 @55
- glGetActiveUniform@28 @56
- glGetAttachedShaders@16 @57
- glGetAttribLocation@8 @58
- glGetBooleanv@8 @59
- glGetBufferParameteriv@12 @60
- glGetError@0 @61
- glGetFloatv@8 @62
- glGetFramebufferAttachmentParameteriv@16 @63
- glGetIntegerv@8 @64
- glGetProgramInfoLog@16 @66
- glGetProgramiv@12 @65
- glGetRenderbufferParameteriv@12 @67
- glGetShaderInfoLog@16 @69
- glGetShaderPrecisionFormat@16 @70
- glGetShaderSource@16 @71
- glGetShaderiv@12 @68
- glGetString@4 @72
- glGetTexParameterfv@12 @73
- glGetTexParameteriv@12 @74
- glGetUniformLocation@8 @77
- glGetUniformfv@12 @75
- glGetUniformiv@12 @76
- glGetVertexAttribPointerv@12 @80
- glGetVertexAttribfv@12 @78
- glGetVertexAttribiv@12 @79
- glHint@8 @81
- glIsBuffer@4 @82
- glIsEnabled@4 @83
- glIsFramebuffer@4 @84
- glIsProgram@4 @85
- glIsRenderbuffer@4 @86
- glIsShader@4 @87
- glIsTexture@4 @88
- glLineWidth@4 @89
- glLinkProgram@4 @90
- glPixelStorei@8 @91
- glPolygonOffset@8 @92
- glReadPixels@28 @93
- glReleaseShaderCompiler@0 @94
- glRenderbufferStorage@16 @95
- glSampleCoverage@8 @96
- glScissor@16 @97
- glShaderBinary@20 @98
- glShaderSource@16 @99
- glStencilFunc@12 @100
- glStencilFuncSeparate@16 @101
- glStencilMask@4 @102
- glStencilMaskSeparate@8 @103
- glStencilOp@12 @104
- glStencilOpSeparate@16 @105
- glTexImage2D@36 @106
- glTexParameterf@12 @107
- glTexParameterfv@12 @108
- glTexParameteri@12 @109
- glTexParameteriv@12 @110
- glTexSubImage2D@36 @111
- glUniform1f@8 @112
- glUniform1fv@12 @113
- glUniform1i@8 @114
- glUniform1iv@12 @115
- glUniform2f@12 @116
- glUniform2fv@12 @117
- glUniform2i@12 @118
- glUniform2iv@12 @119
- glUniform3f@16 @120
- glUniform3fv@12 @121
- glUniform3i@16 @122
- glUniform3iv@12 @123
- glUniform4f@20 @124
- glUniform4fv@12 @125
- glUniform4i@20 @126
- glUniform4iv@12 @127
- glUniformMatrix2fv@16 @128
- glUniformMatrix3fv@16 @129
- glUniformMatrix4fv@16 @130
- glUseProgram@4 @131
- glValidateProgram@4 @132
- glVertexAttrib1f@8 @133
- glVertexAttrib1fv@8 @134
- glVertexAttrib2f@12 @135
- glVertexAttrib2fv@8 @136
- glVertexAttrib3f@16 @137
- glVertexAttrib3fv@8 @138
- glVertexAttrib4f@20 @139
- glVertexAttrib4fv@8 @140
- glVertexAttribPointer@24 @141
- glViewport@16 @142
-
- ; Extensions
- glBlitFramebufferANGLE@40 @149
- glRenderbufferStorageMultisampleANGLE@20 @150
- glDeleteFencesNV@8 @151
- glFinishFenceNV@4 @152
- glGenFencesNV@8 @153
- glGetFenceivNV@12 @154
- glIsFenceNV@4 @155
- glSetFenceNV@8 @156
- glTestFenceNV@4 @157
- glGetTranslatedShaderSourceANGLE@16 @159
- glTexStorage2DEXT@20 @160
- glGetGraphicsResetStatusEXT@0 @161
- glReadnPixelsEXT@32 @162
- glGetnUniformfvEXT@16 @163
- glGetnUniformivEXT@16 @164
- glGenQueriesEXT@8 @165
- glDeleteQueriesEXT@8 @166
- glIsQueryEXT@4 @167
- glBeginQueryEXT@8 @168
- glEndQueryEXT@4 @169
- glGetQueryivEXT@12 @170
- glGetQueryObjectuivEXT@12 @171
- glVertexAttribDivisorANGLE@8 @172
- glDrawArraysInstancedANGLE@16 @173
- glDrawElementsInstancedANGLE@20 @174
- glProgramBinaryOES@16 @175
- glGetProgramBinaryOES@20 @176
- glDrawBuffersEXT@8 @179
- glMapBufferOES@8 @285
- glUnmapBufferOES@4 @286
- glGetBufferPointervOES@12 @287
- glMapBufferRangeEXT@16 @288
- glFlushMappedBufferRangeEXT@12 @289
- glDiscardFramebufferEXT@12 @293
- glInsertEventMarkerEXT@8 @294
- glPushGroupMarkerEXT@8 @295
- glPopGroupMarkerEXT @296
- glEGLImageTargetTexture2DOES@8 @297
- glEGLImageTargetRenderbufferStorageOES@8 @298
- glBindVertexArrayOES@4 @299
- glDeleteVertexArraysOES@8 @300
- glGenVertexArraysOES@8 @301
- glIsVertexArrayOES@4 @302
- glDebugMessageControlKHR@24 @303
- glDebugMessageInsertKHR@24 @304
- glDebugMessageCallbackKHR@8 @305
- glGetDebugMessageLogKHR@32 @306
- glPushDebugGroupKHR@16 @307
- glPopDebugGroupKHR @308
- glObjectLabelKHR@16 @309
- glGetObjectLabelKHR@20 @310
- glObjectPtrLabelKHR@12 @311
- glGetObjectPtrLabelKHR@16 @312
- glGetPointervKHR@8 @313
- glQueryCounterEXT@8 @314
- glGetQueryObjectivEXT@12 @315
- glGetQueryObjecti64vEXT@12 @316
- glGetQueryObjectui64vEXT@12 @317
-
- ; GLES 3.0 Functions
- glReadBuffer@4 @180
- glDrawRangeElements@24 @181
- glTexImage3D@40 @182
- glTexSubImage3D@44 @183
- glCopyTexSubImage3D@36 @184
- glCompressedTexImage3D@36 @185
- glCompressedTexSubImage3D@44 @186
- glGenQueries@8 @187
- glDeleteQueries@8 @188
- glIsQuery@4 @189
- glBeginQuery@8 @190
- glEndQuery@4 @191
- glGetQueryiv@12 @192
- glGetQueryObjectuiv@12 @193
- glUnmapBuffer@4 @194
- glGetBufferPointerv@12 @195
- glDrawBuffers@8 @196
- glUniformMatrix2x3fv@16 @197
- glUniformMatrix3x2fv@16 @198
- glUniformMatrix2x4fv@16 @199
- glUniformMatrix4x2fv@16 @200
- glUniformMatrix3x4fv@16 @201
- glUniformMatrix4x3fv@16 @202
- glBlitFramebuffer@40 @203
- glRenderbufferStorageMultisample@20 @204
- glFramebufferTextureLayer@20 @205
- glMapBufferRange@16 @206
- glFlushMappedBufferRange@12 @207
- glBindVertexArray@4 @208
- glDeleteVertexArrays@8 @209
- glGenVertexArrays@8 @210
- glIsVertexArray@4 @211
- glGetIntegeri_v@12 @212
- glBeginTransformFeedback@4 @213
- glEndTransformFeedback@0 @214
- glBindBufferRange@20 @215
- glBindBufferBase@12 @216
- glTransformFeedbackVaryings@16 @217
- glGetTransformFeedbackVarying@28 @218
- glVertexAttribIPointer@20 @219
- glGetVertexAttribIiv@12 @220
- glGetVertexAttribIuiv@12 @221
- glVertexAttribI4i@20 @222
- glVertexAttribI4ui@20 @223
- glVertexAttribI4iv@8 @224
- glVertexAttribI4uiv@8 @225
- glGetUniformuiv@12 @226
- glGetFragDataLocation@8 @227
- glUniform1ui@8 @228
- glUniform2ui@12 @229
- glUniform3ui@16 @230
- glUniform4ui@20 @231
- glUniform1uiv@12 @232
- glUniform2uiv@12 @233
- glUniform3uiv@12 @234
- glUniform4uiv@12 @235
- glClearBufferiv@12 @236
- glClearBufferuiv@12 @237
- glClearBufferfv@12 @238
- glClearBufferfi@16 @239
- glGetStringi@8 @240
- glCopyBufferSubData@20 @241
- glGetUniformIndices@16 @242
- glGetActiveUniformsiv@20 @243
- glGetUniformBlockIndex@8 @244
- glGetActiveUniformBlockiv@16 @245
- glGetActiveUniformBlockName@20 @246
- glUniformBlockBinding@12 @247
- glDrawArraysInstanced@16 @248
- glDrawElementsInstanced@20 @249
- glFenceSync@8 @250
- glIsSync@4 @251
- glDeleteSync@4 @252
- glClientWaitSync@16 @253
- glWaitSync@16 @254
- glGetInteger64v@8 @255
- glGetSynciv@20 @256
- glGetInteger64i_v@12 @257
- glGetBufferParameteri64v@12 @258
- glGenSamplers@8 @259
- glDeleteSamplers@8 @260
- glIsSampler@4 @261
- glBindSampler@8 @262
- glSamplerParameteri@12 @263
- glSamplerParameteriv@12 @264
- glSamplerParameterf@12 @265
- glSamplerParameterfv@12 @266
- glGetSamplerParameteriv@12 @267
- glGetSamplerParameterfv@12 @268
- glVertexAttribDivisor@8 @269
- glBindTransformFeedback@8 @270
- glDeleteTransformFeedbacks@8 @271
- glGenTransformFeedbacks@8 @272
- glIsTransformFeedback@4 @273
- glPauseTransformFeedback@0 @274
- glResumeTransformFeedback@0 @275
- glGetProgramBinary@20 @276
- glProgramBinary@16 @277
- glProgramParameteri@12 @278
- glInvalidateFramebuffer@12 @279
- glInvalidateSubFramebuffer@28 @280
- glTexStorage2D@20 @281
- glTexStorage3D@24 @282
- glGetInternalformativ@20 @283
-
- ; ANGLE Platform Implementation
- ANGLEPlatformCurrent @290
- ANGLEPlatformInitialize @291
- ANGLEPlatformShutdown @292
diff --git a/provide_mbstowcs_s_for_xp.patch b/provide_mbstowcs_s_for_xp.patch
deleted file mode 100644
index 2e721ccab90d..000000000000
--- a/provide_mbstowcs_s_for_xp.patch
+++ /dev/null
@@ -1,57 +0,0 @@
---- angleproject/src/libANGLE/renderer/d3d/RendererD3D.cpp.orig 2016-03-23 19:22:28.000000000 +0100
-+++ angleproject/src/libANGLE/renderer/d3d/RendererD3D.cpp 2016-03-23 21:24:13.194525939 +0100
-@@ -25,9 +25,27 @@
- #include "libANGLE/State.h"
- #include "libANGLE/VertexArray.h"
-
-+#include <string>
-+#include <windows.h>
-+
- namespace rx
- {
-
-+inline std::wstring widen(const char *to_widen)
-+{
-+ // determine length of original string
-+ int len = strlen(to_widen);
-+ if(!len) {
-+ return std::wstring();
-+ }
-+ // construct new string of required length
-+ std::wstring ret(::MultiByteToWideChar(CP_UTF8, 0, to_widen, len, 0, 0), L'\0');
-+ // convert old string to new string
-+ ::MultiByteToWideChar(CP_UTF8, 0, to_widen, len, &ret[0], (int)ret.length());
-+ // return new string
-+ return ret;
-+}
-+
- namespace
- {
- // If we request a scratch buffer requesting a smaller size this many times,
-@@ -639,24 +657,12 @@
-
- void RendererD3D::insertEventMarker(GLsizei length, const char *marker)
- {
-- std::vector<wchar_t> wcstring (length + 1);
-- size_t convertedChars = 0;
-- errno_t err = mbstowcs_s(&convertedChars, wcstring.data(), length + 1, marker, _TRUNCATE);
-- if (err == 0)
-- {
-- getAnnotator()->setMarker(wcstring.data());
-- }
-+ getAnnotator()->setMarker(widen(marker).data());
- }
-
- void RendererD3D::pushGroupMarker(GLsizei length, const char *marker)
- {
-- std::vector<wchar_t> wcstring(length + 1);
-- size_t convertedChars = 0;
-- errno_t err = mbstowcs_s(&convertedChars, wcstring.data(), length + 1, marker, _TRUNCATE);
-- if (err == 0)
-- {
-- getAnnotator()->beginEvent(wcstring.data());
-- }
-+ getAnnotator()->beginEvent(widen(marker).data());
- }
-
- void RendererD3D::popGroupMarker()