Mercurial > sdl-ios-xcode
view Makefile.am @ 638:b0108e9dea53
Date: Sun, 11 May 2003 19:59:06 +0300
From: Pasi K?rkk?inen
Subject: [PATCH] fix SDL OpenGL segfault with DRI/Mesa drivers and Glew
Hello!
The attached patch fixes a bug in SDL which causes SDL to crash in
X11_GL_Shutdown() if you are using DRI/Mesa drivers AND glew
(http://glew.sf.net).
The bug is caused by a namespace collision affecting dlsym() to fetch wrong
pointer for glXReleaseBuffersMESA() (uninitialized pointer from glew because
the extension is NOT supported by the driver) and then SDL calling it in
X11_GL_Shutdown().
SDL should check if the glXReleaseBuffersMESA() is really supported by the
driver (from the extensions string) before calling it.
Attached patch adds extension string parsing to check if
glXReleaseBuffersMESA() is really supported (and this way
prevents the segfault).
Availability of the extensions should be _always_ checked from the
extensions string rather than using dlsym()!
Please add it to the next version of SDL.
Thanks to gltron and author of glew to help fixing this.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 28 Jun 2003 17:27:33 +0000 |
parents | 136d97397288 |
children | f90d80d68071 |
line wrap: on
line source
# The top-level input Makefile for SDL # require automake 1.4 AUTOMAKE_OPTIONS = 1.4 ## Any directories that you want built and installed should go here. SUBDIRS = src include docs ## Any directories you want a part of the distribution should be listed ## here, as well as have a Makefile generated at the end of configure.in ## ## This only works for subdirectories one level deep. DIST_SUBDIRS = $(SUBDIRS) # SDL runtime configuration script bin_SCRIPTS = sdl-config # All the rest of the distributed files EXTRA_DIST = \ BUGS \ TODO \ COPYING \ CREDITS \ INSTALL \ README \ README.AmigaOS \ README.CVS \ README.DC \ README.Epoc \ README.MacOS \ README.MacOSX \ README.MiNT \ README.NanoX \ README.PicoGUI \ README.QNX \ README.Qtopia \ README.WinCE \ README-SDL.txt \ Borland.html \ Borland.zip \ VisualC.html \ VisualC.zip \ VisualC7.zip \ VisualCE.zip \ Makefile.dc \ MPWmake.sea.bin \ CWprojects.sea.bin \ PBProjects.tar.gz \ EpocBuildFiles.zip \ WhatsNew \ docs.html \ sdl.m4 \ SDL.spec \ autogen.sh \ strip_fPIC.sh # M4 macro file for inclusion with autoconf m4datadir = $(datadir)/aclocal m4data_DATA = sdl.m4 # Rule to build tar-gzipped distribution package $(PACKAGE)-$(VERSION).tar.gz: dist # Rule to build RPM distribution package rpm: $(PACKAGE)-$(VERSION).tar.gz rpm -ta $(PACKAGE)-$(VERSION).tar.gz # Rule to rebuild the export lists for BeOS, MacOS and Win32. exports: (cd src/main/beos/exports; $(MAKE)) (cd src/main/macos/exports; $(MAKE)) (cd src/main/win32/exports; $(MAKE)) # Rule to build the Project Builder archive in MacOS X PBProjects.tar.gz: rm -f `find . -name .DS_Store` if [ -d PBProjects ]; then \ tar zcvf $@ PBProjects; \ fi # Rule to force automake to rebuild the library changed: @echo "This build target is no longer necessary" # Rule to install the libraries only - prevent rebuilding apps install-lib: cd src && $(MAKE) install-libLTLIBRARIES # Run ldconfig after installing the library: install-hook: -ldconfig # Grab the test programs for the distribution: dist-hook: if test -f test/Makefile; then (cd test; make distclean); fi cp -rp $(srcdir)/test $(distdir) rm -rf `find $(distdir) -type d -name CVS -print` # Create a CVS snapshot that people can run update -d on CVSROOT = :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs snapshot: cvs -d $(CVSROOT) login cvs -d $(CVSROOT) checkout SDL12 (cd SDL12 && ./autogen.sh) mv SDL12 SDL-1.2 tar zcvf $(HOME)/SDL-1.2.tar.gz SDL-1.2 rm -rf SDL-1.2