From 3be521a9126569d68fd964c2eaa1ab2932b5268e Mon Sep 17 00:00:00 2001 From: laurentgom Date: Mon, 7 Sep 2009 10:14:35 +0000 Subject: [PATCH] changed default install dir to /usr/local on Linux, fixed symbolic links to be relative, updated glxext.h for OpenGL3 git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1214 4e206d99-4929-0410-ac5d-dfc041789085 --- CSFML/src/SFML/Audio/Makefile | 2 +- CSFML/src/SFML/Graphics/Makefile | 2 +- CSFML/src/SFML/Makefile | 2 +- CSFML/src/SFML/Network/Makefile | 2 +- CSFML/src/SFML/System/Makefile | 2 +- CSFML/src/SFML/Window/Makefile | 2 +- src/SFML/Audio/Makefile | 2 +- src/SFML/Graphics/Makefile | 2 +- src/SFML/Makefile | 2 +- src/SFML/Network/Makefile | 2 +- src/SFML/System/Makefile | 2 +- src/SFML/Window/Makefile | 2 +- src/SFML/Window/glext/glxext.h | 195 ++++++++++++++++++++++++++----- 13 files changed, 179 insertions(+), 40 deletions(-) diff --git a/CSFML/src/SFML/Audio/Makefile b/CSFML/src/SFML/Audio/Makefile index 08bfbce9..5e06b6b7 100644 --- a/CSFML/src/SFML/Audio/Makefile +++ b/CSFML/src/SFML/Audio/Makefile @@ -20,4 +20,4 @@ mrproper: clean @rm -rf $(LIBNAME) install: - @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) + @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) diff --git a/CSFML/src/SFML/Graphics/Makefile b/CSFML/src/SFML/Graphics/Makefile index d5e1c83d..9e1f5969 100644 --- a/CSFML/src/SFML/Graphics/Makefile +++ b/CSFML/src/SFML/Graphics/Makefile @@ -20,4 +20,4 @@ mrproper: clean @rm -rf $(LIBNAME) install: - @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) + @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) diff --git a/CSFML/src/SFML/Makefile b/CSFML/src/SFML/Makefile index 40026722..3d918b42 100644 --- a/CSFML/src/SFML/Makefile +++ b/CSFML/src/SFML/Makefile @@ -7,7 +7,7 @@ export VERSION = 2.0 export CP = cp export LN = ln export LNFLAGS = -s -f -export DESTDIR = /usr +export DESTDIR = /usr/local export DESTLIBDIR = $(DESTDIR)/lib export DESTINCDIR = $(DESTDIR)/include diff --git a/CSFML/src/SFML/Network/Makefile b/CSFML/src/SFML/Network/Makefile index 924907e0..9b82f85a 100644 --- a/CSFML/src/SFML/Network/Makefile +++ b/CSFML/src/SFML/Network/Makefile @@ -20,4 +20,4 @@ mrproper: clean @rm -rf $(LIBNAME) install: - @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) + @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) diff --git a/CSFML/src/SFML/System/Makefile b/CSFML/src/SFML/System/Makefile index bdf1e4e5..0de6a153 100644 --- a/CSFML/src/SFML/System/Makefile +++ b/CSFML/src/SFML/System/Makefile @@ -20,4 +20,4 @@ mrproper: clean @rm -rf $(LIBNAME) install: - @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) + @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) diff --git a/CSFML/src/SFML/Window/Makefile b/CSFML/src/SFML/Window/Makefile index 3bd276a4..b6f7bcdb 100644 --- a/CSFML/src/SFML/Window/Makefile +++ b/CSFML/src/SFML/Window/Makefile @@ -20,4 +20,4 @@ mrproper: clean @rm -rf $(LIBNAME) install: - @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) + @($(CP) $(LIBNAME) $(DESTLIBDIR) && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)) diff --git a/src/SFML/Audio/Makefile b/src/SFML/Audio/Makefile index c9825bb5..987171d6 100644 --- a/src/SFML/Audio/Makefile +++ b/src/SFML/Audio/Makefile @@ -8,7 +8,7 @@ ifeq ($(STATIC), yes) else LIB = libsfml-audio.so LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) + INSTALL = && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) endif all: $(LIB) diff --git a/src/SFML/Graphics/Makefile b/src/SFML/Graphics/Makefile index 30835dc5..93ff906e 100644 --- a/src/SFML/Graphics/Makefile +++ b/src/SFML/Graphics/Makefile @@ -18,7 +18,7 @@ ifeq ($(STATIC), yes) else LIB = libsfml-graphics.so LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) + INSTALL = && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) endif all: $(LIB) diff --git a/src/SFML/Makefile b/src/SFML/Makefile index 82e44b76..d5a861de 100644 --- a/src/SFML/Makefile +++ b/src/SFML/Makefile @@ -27,7 +27,7 @@ export LN = ln export LNFLAGS = -s -f export AR = ar export ARFLAGS = rcs -export DESTDIR = /usr +export DESTDIR = /usr/local export DESTLIBDIR = $(DESTDIR)/lib export DESTINCDIR = $(DESTDIR)/include diff --git a/src/SFML/Network/Makefile b/src/SFML/Network/Makefile index d30da624..62fb6731 100644 --- a/src/SFML/Network/Makefile +++ b/src/SFML/Network/Makefile @@ -8,7 +8,7 @@ ifeq ($(STATIC), yes) else LIB = libsfml-network.so LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) + INSTALL = && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) endif all: $(LIB) diff --git a/src/SFML/System/Makefile b/src/SFML/System/Makefile index 04514f5b..1cf6211e 100644 --- a/src/SFML/System/Makefile +++ b/src/SFML/System/Makefile @@ -8,7 +8,7 @@ ifeq ($(STATIC), yes) else LIB = libsfml-system.so LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) + INSTALL = && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) endif all: $(LIB) diff --git a/src/SFML/Window/Makefile b/src/SFML/Window/Makefile index 956b34ba..0dd689c4 100644 --- a/src/SFML/Window/Makefile +++ b/src/SFML/Window/Makefile @@ -9,7 +9,7 @@ ifeq ($(STATIC), yes) else LIB = libsfml-window.so LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) + INSTALL = && $(LN) $(LNFLAGS) $(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) endif all: $(LIB) diff --git a/src/SFML/Window/glext/glxext.h b/src/SFML/Window/glext/glxext.h index 974fedd0..eac09f94 100644 --- a/src/SFML/Window/glext/glxext.h +++ b/src/SFML/Window/glext/glxext.h @@ -6,34 +6,30 @@ extern "C" { #endif /* -** License Applicability. Except to the extent portions of this file are -** made subject to an alternative license as permitted in the SGI Free -** Software License B, Version 1.1 (the "License"), the contents of this -** file are subject only to the provisions of the License. You may not use -** this file except in compliance with the License. You may obtain a copy -** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 -** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** Copyright (c) 2007-2009 The Khronos Group Inc. ** -** http://oss.sgi.com/projects/FreeB +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: ** -** Note that, as provided in the License, the Software is distributed on an -** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS -** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND -** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A -** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. ** -** Original Code. The Original Code is: OpenGL Sample Implementation, -** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, -** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc. -** Copyright in any portions created by third parties is as indicated -** elsewhere herein. All Rights Reserved. -** -** Additional Notice Provisions: This software was created using the -** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has -** not been independently verified as being compliant with the OpenGL(R) -** version 1.2.1 Specification. +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ +/* Function declaration macros - to move into glplatform.h */ + #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) #define WIN32_LEAN_AND_MEAN 1 #include @@ -52,9 +48,9 @@ extern "C" { /*************************************************************/ /* Header file version number, required by OpenGL ABI for Linux */ -/* glxext.h last updated 2005/04/28 */ -/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ -#define GLX_GLXEXT_VERSION 11 +/* glxext.h last updated 2009/08/03 */ +/* Current version at http://www.opengl.org/registry/ */ +#define GLX_GLXEXT_VERSION 23 #ifndef GLX_VERSION_1_3 #define GLX_WINDOW_BIT 0x00000001 @@ -133,6 +129,20 @@ extern "C" { #define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 #endif +#ifndef GLX_ARB_create_context +#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001 +#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 +#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define GLX_CONTEXT_FLAGS_ARB 0x2094 +#endif + +#ifndef GLX_ARB_create_context_profile +#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 +#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 +#endif + #ifndef GLX_SGIS_multisample #define GLX_SAMPLE_BUFFERS_SGIS 100000 #define GLX_SAMPLES_SGIS 100001 @@ -307,6 +317,71 @@ extern "C" { #ifndef GLX_MESA_agp_offset #endif +#ifndef GLX_EXT_fbconfig_packed_float +#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 +#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 +#endif + +#ifndef GLX_EXT_framebuffer_sRGB +#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 +#endif + +#ifndef GLX_EXT_texture_from_pixmap +#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 +#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 +#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 +#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 +#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 +#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 +#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 +#define GLX_Y_INVERTED_EXT 0x20D4 +#define GLX_TEXTURE_FORMAT_EXT 0x20D5 +#define GLX_TEXTURE_TARGET_EXT 0x20D6 +#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 +#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 +#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 +#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA +#define GLX_TEXTURE_1D_EXT 0x20DB +#define GLX_TEXTURE_2D_EXT 0x20DC +#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD +#define GLX_FRONT_LEFT_EXT 0x20DE +#define GLX_FRONT_RIGHT_EXT 0x20DF +#define GLX_BACK_LEFT_EXT 0x20E0 +#define GLX_BACK_RIGHT_EXT 0x20E1 +#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT +#define GLX_BACK_EXT GLX_BACK_LEFT_EXT +#define GLX_AUX0_EXT 0x20E2 +#define GLX_AUX1_EXT 0x20E3 +#define GLX_AUX2_EXT 0x20E4 +#define GLX_AUX3_EXT 0x20E5 +#define GLX_AUX4_EXT 0x20E6 +#define GLX_AUX5_EXT 0x20E7 +#define GLX_AUX6_EXT 0x20E8 +#define GLX_AUX7_EXT 0x20E9 +#define GLX_AUX8_EXT 0x20EA +#define GLX_AUX9_EXT 0x20EB +#endif + +#ifndef GLX_NV_present_video +#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 +#endif + +#ifndef GLX_NV_video_out +#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 +#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 +#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 +#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 +#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 +#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 +#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 +#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA +#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB +#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC +#endif + +#ifndef GLX_NV_swap_group +#endif + /*************************************************************/ @@ -340,20 +415,42 @@ typedef struct { } GLXBufferClobberEventSGIX; #endif -/* Define int32_t and int64_t types for UST/MSC */ +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ /* (as used in the GLX_OML_sync_control extension). */ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #include -#elif defined( __VMS ) +#elif defined(__sun__) || defined(__digital__) +#include +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) #include #elif defined(__SCO__) || defined(__USLC__) #include #elif defined(__UNIXOS2__) || defined(__SOL64__) typedef long int int32_t; typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; #else #include /* Fallback option */ #endif +#endif #ifndef GLX_VERSION_1_3 #define GLX_VERSION_1_3 1 @@ -421,6 +518,18 @@ typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procNam #define GLX_ARB_fbconfig_float 1 #endif +#ifndef GLX_ARB_create_context +#define GLX_ARB_create_context 1 +#ifdef GLX_GLXEXT_PROTOTYPES +extern GLXContext glXCreateContextAttribsARB (Display *, GLXFBConfig, GLXContext, Bool, const int *); +#endif /* GLX_GLXEXT_PROTOTYPES */ +typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); +#endif + +#ifndef GLX_ARB_create_context_profile +#define GLX_ARB_create_context_profile 1 +#endif + #ifndef GLX_SGIS_multisample #define GLX_SGIS_multisample 1 #endif @@ -698,6 +807,36 @@ extern unsigned int glXGetAGPOffsetMESA (const void *); typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer); #endif +#ifndef GLX_EXT_fbconfig_packed_float +#define GLX_EXT_fbconfig_packed_float 1 +#endif + +#ifndef GLX_EXT_framebuffer_sRGB +#define GLX_EXT_framebuffer_sRGB 1 +#endif + +#ifndef GLX_EXT_texture_from_pixmap +#define GLX_EXT_texture_from_pixmap 1 +#ifdef GLX_GLXEXT_PROTOTYPES +extern void glXBindTexImageEXT (Display *, GLXDrawable, int, const int *); +extern void glXReleaseTexImageEXT (Display *, GLXDrawable, int); +#endif /* GLX_GLXEXT_PROTOTYPES */ +typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); +typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer); +#endif + +#ifndef GLX_NV_present_video +#define GLX_NV_present_video 1 +#endif + +#ifndef GLX_NV_video_out +#define GLX_NV_video_out 1 +#endif + +#ifndef GLX_NV_swap_group +#define GLX_NV_swap_group 1 +#endif + #ifdef __cplusplus }