[Libreoffice-commits] core.git: 4 commits - external/glew include/vcl RepositoryExternal.mk
Tor Lillqvist
tml at collabora.com
Tue Apr 8 04:52:23 PDT 2014
RepositoryExternal.mk | 5 ---
external/glew/UnpackedTarball_glew.mk | 7 ++++
external/glew/glew-ios.patch.1 | 19 ++++++++++++
include/vcl/OpenGLContext.hxx | 51 ++++++++++++++++++++++++++++++++--
4 files changed, 76 insertions(+), 6 deletions(-)
New commits:
commit 486b47ae45727402317bed047c80a6ab7e134491
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 8 14:21:41 2014 +0300
Make it compile for iOS and maybe Android, too
Don't include X11 headers where there is no X.
Include a copy of gluCheckExtension as there is no glu on either iOS nor Android.
Change-Id: Idf387a4eda5a8410d1511d6e0db78c0742af5a99
diff --git a/include/vcl/OpenGLContext.hxx b/include/vcl/OpenGLContext.hxx
index b62448a..220efb5 100644
--- a/include/vcl/OpenGLContext.hxx
+++ b/include/vcl/OpenGLContext.hxx
@@ -10,9 +10,13 @@
#ifndef VCL_OPENGL_CONTEXT_HXX
#define VCL_OPENGL_CONTEXT_HXX
+#include <string.h>
+
#include <GL/glew.h>
#if defined( MACOSX )
+#elif defined( IOS )
+#elif defined( ANDROID )
#elif defined( UNX )
# include <prex.h>
# include "GL/glxew.h"
@@ -27,6 +31,8 @@
#include <GL/glext.h>
#include <GL/wglext.h>
#elif defined( MACOSX )
+#elif defined( IOS )
+#elif defined( ANDROID )
#elif defined( UNX )
#include <GL/glext.h>
#define GLX_GLXEXT_PROTOTYPES 1
@@ -43,11 +49,50 @@
/// Holds the information of our new child window
struct GLWindow
{
+ // Copy of gluCheckExtension(), from the Apache-licensed
+ // https://code.google.com/p/glues/source/browse/trunk/glues/source/glues_registry.c
+ static GLboolean checkExtension(const GLubyte* extName, const GLubyte* extString)
+ {
+ GLboolean flag=GL_FALSE;
+ char* word;
+ char* lookHere;
+ char* deleteThis;
+
+ if (extString==NULL)
+ {
+ return GL_FALSE;
+ }
+
+ deleteThis=lookHere=(char*)malloc(strlen((const char*)extString)+1);
+ if (lookHere==NULL)
+ {
+ return GL_FALSE;
+ }
+
+ /* strtok() will modify string, so copy it somewhere */
+ strcpy(lookHere,(const char*)extString);
+
+ while ((word=strtok(lookHere, " "))!=NULL)
+ {
+ if (strcmp(word,(const char*)extName)==0)
+ {
+ flag=GL_TRUE;
+ break;
+ }
+ lookHere=NULL; /* get next token */
+ }
+ free((void*)deleteThis);
+
+ return flag;
+ }
+
#if defined( _WIN32 )
HWND hWnd;
HDC hDC;
HGLRC hRC;
#elif defined( MACOSX )
+#elif defined( IOS )
+#elif defined( ANDROID )
#elif defined( UNX )
Display* dpy;
int screen;
@@ -58,7 +103,7 @@ struct GLWindow
XVisualInfo* vi;
GLXContext ctx;
- bool HasGLXExtension( const char* name ) { return gluCheckExtension( (const GLubyte*) name, (const GLubyte*) GLXExtensions ); }
+ bool HasGLXExtension( const char* name ) { return checkExtension( (const GLubyte*) name, (const GLubyte*) GLXExtensions ); }
const char* GLXExtensions;
#endif
unsigned int bpp;
@@ -67,12 +112,14 @@ struct GLWindow
const GLubyte* GLExtensions;
bool bMultiSampleSupported;
- bool HasGLExtension( const char* name ) { return gluCheckExtension( (const GLubyte*) name, GLExtensions ); }
+ bool HasGLExtension( const char* name ) { return checkExtension( (const GLubyte*) name, GLExtensions ); }
GLWindow()
:
#if defined( _WIN32 )
#elif defined( MACOSX )
+#elif defined( IOS )
+#elif defined( ANDROID )
#elif defined( UNX )
dpy(NULL),
screen(0),
commit 76c9cd64e03d16f5df0da35dba5bf7e1a91e0e9f
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 8 14:19:34 2014 +0300
Include <Availability.h> to get __IPHONE_OS_VERSION_MIN_REQUIRED
Change-Id: I0ef21ee7709cab05639935d70722973c9a18f93c
diff --git a/external/glew/glew-ios.patch.1 b/external/glew/glew-ios.patch.1
index 9253ed3..b29f75b 100644
--- a/external/glew/glew-ios.patch.1
+++ b/external/glew/glew-ios.patch.1
@@ -1,12 +1,17 @@
-*- Mode:Diff -*-
--- glew/include/GL/glew.h
+++ glew/include/GL/glew.h
-@@ -1180,6 +1180,10 @@
+@@ -1180,6 +1180,15 @@
/* ---------------------------------- GLU ---------------------------------- */
-+#if !defined(GLEW_NO_GLU) && defined(__APPLE__) && defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
-+#define GLEW_NO_GLU
++#ifndef GLEW_NO_GLU
++# ifdef __APPLE__
++# include <Availability.h>
++# if defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
++# define GLEW_NO_GLU
++# endif
++# endif
+#endif
+
#ifndef GLEW_NO_GLU
commit d3f63d4b3d75d5e1b0df3281a1bdf7be1729288e
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 8 13:54:53 2014 +0300
No glu.h in OpenGL ES for iOS
Change-Id: Ie0eb1f68d997c4f2bd37c9d7c2ff6feccbc7b8ce
diff --git a/external/glew/UnpackedTarball_glew.mk b/external/glew/UnpackedTarball_glew.mk
index 91ec240..1b100bc 100644
--- a/external/glew/UnpackedTarball_glew.mk
+++ b/external/glew/UnpackedTarball_glew.mk
@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,glew,0))
$(eval $(call gb_UnpackedTarball_fix_end_of_line,glew,\
Makefile \
+ include/GL/glew.h \
))
ifeq ($(OS)$(COM),WNTMSC)
@@ -35,6 +36,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,glew,\
))
endif
+ifeq ($(OS),IOS)
+$(eval $(call gb_UnpackedTarball_add_patches,glew,\
+ external/glew/glew-ios.patch.1 \
+))
+endif
+
ifeq ($(DISABLE_DYNLOADING),TRUE)
$(eval $(call gb_UnpackedTarball_add_patches,glew,\
external/glew/glew-static-only.patch.1 \
diff --git a/external/glew/glew-ios.patch.1 b/external/glew/glew-ios.patch.1
new file mode 100644
index 0000000..9253ed3
--- /dev/null
+++ b/external/glew/glew-ios.patch.1
@@ -0,0 +1,14 @@
+-*- Mode:Diff -*-
+--- glew/include/GL/glew.h
++++ glew/include/GL/glew.h
+@@ -1180,6 +1180,10 @@
+
+ /* ---------------------------------- GLU ---------------------------------- */
+
++#if !defined(GLEW_NO_GLU) && defined(__APPLE__) && defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
++#define GLEW_NO_GLU
++#endif
++
+ #ifndef GLEW_NO_GLU
+ /* this is where we can safely include GLU */
+ # if defined(__APPLE__) && defined(__MACH__)
commit 65b27f8d1c23692426c9d90f546462b9e43fec24
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 8 13:36:30 2014 +0300
We now build GLEW always (unless a system one is used)
So its headers are always there in workdir.
Change-Id: I513b49da52c1f393c02b24c5bcf0f415e22e79d2
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 3738fde..722e22f 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -228,10 +228,7 @@ endef
endif # SYSTEM_CPPUNIT
-ifeq ($(filter FREEBSD LINUX MACOSX WNT,$(OS)),)
-gb_LinkTarget__use_glew :=
-
-else ifneq ($(SYSTEM_GLEW),)
+ifneq ($(SYSTEM_GLEW),)
define gb_LinkTarget__use_glew
$(call gb_LinkTarget_set_include,$(1),\
More information about the Libreoffice-commits
mailing list