HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • Back to Ticket #121

Ticket #121: glew-1.9.0.patch

File glew-1.9.0.patch, 11.5 KB (added by kapix, 2 years ago)

Improved patch (no filename changes)

  • config/Makefile.haiku

    diff -Naur glew-1.9.0/config/Makefile.haiku glew-1.9.0-haiku/config/Makefile.haiku
    old new  
     1NAME = $(GLEW_NAME) 
     2GLEW_DEST = /boot/common 
     3CC = cc 
     4CXX = g++ 
     5LD = cc 
     6ifneq (undefined, $(origin GLEW_MX)) 
     7        CFLAGS.EXTRA = -DGLEW_MX 
     8endif 
     9 
     10LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) 
     11LDFLAGS.SO.MX = -shared -Wl,-soname=$(LIB.SONAME.MX) 
     12 
     13LDFLAGS.GL = -lGL 
     14LDFLAGS.STATIC = -Wl,-Bstatic 
     15LDFLAGS.DYNAMIC = -Wl,-Bdynamic 
     16 
     17NAME = GLEW 
     18WARN = -Wall -W 
     19POPT = -O2 
     20 
     21BIN.SUFFIX = 
     22 
     23LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) 
     24LIB.DEVLNK = lib$(NAME).so 
     25LIB.SHARED = lib$(NAME).so.$(SO_VERSION) 
     26LIB.STATIC = lib$(NAME).a 
     27LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) 
     28LIB.DEVLNK.MX = lib$(NAME)mx.so 
     29LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) 
     30LIB.STATIC.MX = lib$(NAME)mx.a 
     31 No newline at end of file 
  • Makefile

    diff -Naur glew-1.9.0/Makefile glew-1.9.0-haiku/Makefile
    old new  
    172172 
    173173# GLEW utility programs 
    174174 
    175 BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL) 
     175BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL) -lbe 
    176176 
    177177GLEWINFO.BIN       := glewinfo$(BIN.SUFFIX) 
    178178GLEWINFO.BIN.SRC   := src/glewinfo.c 
     179GLEWINFO.BIN.HAIKU := src/glewinfo_haiku.cpp 
    179180GLEWINFO.BIN.OBJ   := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(GLEWINFO.BIN.SRC))) 
    180181GLEWINFO.BIN.OBJ   := $(GLEWINFO.BIN.OBJ:.c=.o) 
     182GLEWINFO.BIN.HAIKU_OBJ   := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(GLEWINFO.BIN.HAIKU))) 
     183GLEWINFO.BIN.HAIKU_OBJ   := $(GLEWINFO.BIN.HAIKU_OBJ:.cpp=.o) 
    181184 
    182185VISUALINFO.BIN     := visualinfo$(BIN.SUFFIX) 
    183186VISUALINFO.BIN.SRC := src/visualinfo.c 
    … …  
    189192bin: 
    190193        mkdir bin 
    191194 
    192 bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) lib/$(LIB.SHARED) 
    193         $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS) 
     195bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(GLEWINFO.BIN.HAIKU_OBJ) lib/$(LIB.SHARED) 
     196        $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(GLEWINFO.BIN.HAIKU_OBJ) $(BIN.LIBS) 
    194197ifneq ($(STRIP),) 
    195198        $(STRIP) -x $@ 
    196199endif 
    … …  
    205208        @mkdir -p $(dir $@) 
    206209        $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< 
    207210 
     211$(GLEWINFO.BIN.HAIKU_OBJ): $(GLEWINFO.BIN.HAIKU) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h 
     212        @mkdir -p $(dir $@) 
     213        $(CXX) -DGLEW_NO_GLU $(CXXFLAGS) $(CXXFLAGS.SO) -o $@ -c $< 
     214 
    208215$(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h 
    209216        @mkdir -p $(dir $@) 
    210217        $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< 
  • src/glew.c

    diff -Naur glew-1.9.0/src/glew.c glew-1.9.0-haiku/src/glew.c
    old new  
    3333 
    3434#if defined(_WIN32) 
    3535#  include <GL/wglew.h> 
    36 #elif !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
     36#elif !defined(__HAIKU__) && !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
    3737#  include <GL/glxew.h> 
    3838#endif 
    3939 
    … …  
    6666#  define GLXEW_CONTEXT_ARG_DEF_LIST void 
    6767#endif /* GLEW_MX */ 
    6868 
    69 #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX) 
     69#if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX) || defined(__HAIKU__) 
    7070#include <dlfcn.h> 
    7171#include <stdio.h> 
    7272#include <stdlib.h> 
    … …  
    162162#  define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name) 
    163163#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
    164164#  define glewGetProcAddress(name) NSGLGetProcAddress(name) 
    165 #elif defined(__sgi) || defined(__sun) 
     165#elif defined(__sgi) || defined(__sun) || defined(__HAIKU__) 
    166166#  define glewGetProcAddress(name) dlGetProcAddress(name) 
    167167#elif defined(__ANDROID__) 
    168168#  define glewGetProcAddress(name) NULL /* TODO */ 
    … …  
    1154811548  return GLEW_OK; 
    1154911549} 
    1155011550 
    11551 #elif !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
     11551#elif !defined(__HAIKU__) && !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
    1155211552 
    1155311553PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; 
    1155411554 
    … …  
    1262012620  return GLEW_OK; 
    1262112621} 
    1262212622 
    12623 #endif /* !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */ 
     12623#endif /* !defined(__HAIKU__) && !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */ 
    1262412624 
    1262512625/* ------------------------------------------------------------------------ */ 
    1262612626 
    … …  
    1266012660 
    1266112661#if defined(_WIN32) 
    1266212662extern GLenum GLEWAPIENTRY wglewContextInit (void); 
    12663 #elif !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
     12663#elif !defined(__HAIKU__) && !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) 
    1266412664extern GLenum GLEWAPIENTRY glxewContextInit (void); 
    1266512665#endif /* _WIN32 */ 
    1266612666 
    … …  
    1267112671  if ( r != 0 ) return r; 
    1267212672#if defined(_WIN32) 
    1267312673  return wglewContextInit(); 
    12674 #elif !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */ 
     12674#elif !defined(__HAIKU__) && !defined(__ANDROID__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */ 
    1267512675  return glxewContextInit(); 
    1267612676#else 
    1267712677  return r; 
    … …  
    1647216472  return ret; 
    1647316473} 
    1647416474 
    16475 #elif !defined(__ANDROID__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     16475#elif !defined(__HAIKU__) && !defined(__ANDROID__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    1647616476 
    1647716477#if defined(GLEW_MX) 
    1647816478GLboolean glxewContextIsSupported (const GLXEWContext* ctx, const char* name) 
  • src/glewinfo_haiku.cpp

    diff -Naur glew-1.9.0/src/glewinfo_haiku.cpp glew-1.9.0-haiku/src/glewinfo_haiku.cpp
    old new  
     1/* 
     2 * glewinfo Haiku glue code 
     3 * Copyright 2013 Kacper Kasper <kacperkasper@gmail.com> 
     4 * All rights reserved. Distributed under the terms of the MIT license. 
     5 */ 
     6 
     7#include <Application.h> 
     8#include <Window.h> 
     9#include <GLView.h> 
     10 
     11class GLEWInfoView : public BGLView { 
     12public: 
     13        GLEWInfoView(BRect frame, uint32 type); 
     14        virtual void AttachedToWindow(void); 
     15         
     16        void ContextInit() { LockGL(); } 
     17        void ContextDestroy() { UnlockGL(); } 
     18}; 
     19 
     20GLEWInfoView::GLEWInfoView(BRect frame, uint32 type) 
     21        : BGLView(frame, "GLEWInfoView", B_FOLLOW_ALL_SIDES, 0, type) 
     22{ 
     23} 
     24 
     25void GLEWInfoView::AttachedToWindow(void) 
     26{ 
     27        LockGL(); 
     28        BGLView::AttachedToWindow(); 
     29        UnlockGL(); 
     30} 
     31 
     32class GLEWInfoWindow : public BWindow { 
     33public: 
     34        GLEWInfoWindow(BRect frame, uint32 type); 
     35        virtual bool QuitRequested(); 
     36         
     37private: 
     38        GLEWInfoView *view;      
     39}; 
     40 
     41GLEWInfoWindow::GLEWInfoWindow(BRect frame, uint32 type) 
     42        : BWindow(frame, "GLEWInfoWindow", B_TITLED_WINDOW, B_QUIT_ON_WINDOW_CLOSE) 
     43{ 
     44        AddChild(view = new GLEWInfoView(Bounds(), type)); 
     45        view->ContextInit(); 
     46} 
     47 
     48bool GLEWInfoWindow::QuitRequested() 
     49{ 
     50        view->ContextDestroy(); 
     51         
     52        view->RemoveSelf(); 
     53         
     54        delete view; 
     55         
     56        return true; 
     57} 
     58 
     59class GLEWInfoApp : public BApplication 
     60{ 
     61public: 
     62        GLEWInfoApp(); 
     63        ~GLEWInfoApp(); 
     64 
     65private: 
     66        GLEWInfoWindow *window; 
     67}; 
     68 
     69GLEWInfoApp::GLEWInfoApp() 
     70        : BApplication("application/x-vnd.glew-GLEWInfo") 
     71{ 
     72        BRect rect = BRect(0, 0, 1, 1); 
     73        window = new GLEWInfoWindow(rect, BGL_RGB | BGL_DOUBLE); 
     74} 
     75 
     76GLEWInfoApp::~GLEWInfoApp() 
     77{ 
     78        window->Quit(); 
     79} 
     80 
     81GLEWInfoApp *app; 
     82 
     83extern "C" GLboolean glewCreateContext () 
     84{ 
     85        app = new GLEWInfoApp(); 
     86         
     87        return GL_FALSE; 
     88} 
     89 
     90extern "C" void glewDestroyContext () 
     91{ 
     92        delete app; 
     93} 
  • src/glewinfo.c

    diff -Naur glew-1.9.0/src/glewinfo.c glew-1.9.0-haiku/src/glewinfo.c
    old new  
    3535#include <GL/glew.h> 
    3636#if defined(_WIN32) 
    3737#include <GL/wglew.h> 
    38 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     38#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    3939#include <GL/glxew.h> 
    4040#endif 
    4141 
    … …  
    5151#ifdef _WIN32 
    5252WGLEWContext _wglewctx; 
    5353#define wglewGetContext() (&_wglewctx) 
    54 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     54#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    5555GLXEWContext _glxewctx; 
    5656#define glxewGetContext() (&_glxewctx) 
    5757#endif 
    … …  
    5959 
    6060#if defined(_WIN32) 
    6161GLboolean glewCreateContext (int* pixelformat); 
    62 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     62#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    6363GLboolean glewCreateContext (const char* display, int* visual); 
    6464#else 
    6565GLboolean glewCreateContext (); 
    6666#endif 
    6767 
    68 #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     68#if defined(_WIN32) || !defined(__HAIKU__) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    6969GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual); 
    7070#endif 
    7171 
    … …  
    97309730 
    97319731#if defined(_WIN32) 
    97329732  if (GL_TRUE == glewCreateContext(&visual)) 
    9733 #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
     9733#elif defined(__HAIKU__) || defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
    97349734  if (GL_TRUE == glewCreateContext()) 
    97359735#else 
    97369736  if (GL_TRUE == glewCreateContext(display, &visual)) 
    … …  
    99169916 
    99179917/* ------------------------------------------------------------------------ */ 
    99189918 
     9919#elif defined(__HAIKU__) 
     9920 
     9921extern GLboolean glewCreateContext (); 
     9922extern void glewDestroyContext (); 
     9923 
     9924/* ------------------------------------------------------------------------ */ 
     9925 
    99199926#else /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */ 
    99209927 
    99219928Display* dpy = NULL; 
  • src/visualinfo.c

    diff -Naur glew-1.9.0/src/visualinfo.c glew-1.9.0-haiku/src/visualinfo.c
    old new  
    3737#include <GL/wglew.h> 
    3838#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
    3939#include <AGL/agl.h> 
     40#elif defined(__HAIKU__) 
     41// nothing here 
    4042#else 
    4143#include <GL/glxew.h> 
    4244#endif 
    … …  
    4749#  ifdef _WIN32 
    4850WGLEWContext _wglewctx; 
    4951#    define wglewGetContext() (&_wglewctx) 
    50 #  elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     52#  elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    5153GLXEWContext _glxewctx; 
    5254#    define glxewGetContext() (&_glxewctx) 
    5355#  endif 
    … …  
    6163  HGLRC rc; 
    6264#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
    6365  AGLContext ctx, octx; 
     66#elif defined(__HAIKU__) 
     67  // nothing here (yet) 
    6468#else 
    6569  Display* dpy; 
    6670  XVisualInfo* vi; 
    … …  
    129133  err = glewContextInit(glewGetContext()); 
    130134#  ifdef _WIN32 
    131135  err = err || wglewContextInit(wglewGetContext()); 
    132 #  elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
     136#  elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 
    133137  err = err || glxewContextInit(glxewGetContext()); 
    134138#  endif 
    135139#else 
    … …  
    181185                    (char*)wglGetExtensionsStringEXT()); 
    182186  } 
    183187#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) 
     188 
     189#elif defined(__HAIKU__) 
    184190   
    185191#else 
    186192  /* GLX extensions */ 
    … …  
    598604*/ 
    599605} 
    600606 
     607#elif defined(__HAIKU__) 
     608 
     609void 
     610VisualInfo (GLContext* ctx) 
     611{ 
     612  // TODO 
     613} 
     614 
    601615#else /* GLX */ 
    602616 
    603617void 
    … …  
    10741088 
    10751089/* ------------------------------------------------------------------------ */ 
    10761090 
     1091#elif defined(__HAIKU__) 
     1092 
     1093void InitContext (GLContext* ctx) 
     1094{ 
     1095  // TODO 
     1096} 
     1097 
     1098GLboolean CreateContext (GLContext* ctx) 
     1099{ 
     1100  // TODO 
     1101   
     1102  return GL_FALSE; 
     1103} 
     1104 
     1105void DestroyContext (GLContext* ctx) 
     1106{ 
     1107  // TODO 
     1108} 
     1109 
     1110/* ------------------------------------------------------------------------ */ 
     1111 
    10771112#else /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */ 
    10781113 
    10791114void InitContext (GLContext* ctx) 

Download in other formats:

  • Original Format

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/