a variety of fixes for MingW
authorzhang <zxpmyth@yahoo.com.cn>
Thu, 28 Jun 2007 14:12:52 +0000 (08:12 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Thu, 28 Jun 2007 14:12:52 +0000 (08:12 -0600)
13 files changed:
Makefile.mgw
include/GL/glu.h
include/GL/glut.h
src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
src/glut/glx/glut_input.c
src/glut/glx/glut_joy.c
src/glut/glx/win32_util.c
src/glut/glx/win32_x11.h
src/mesa/drivers/windows/gdi/wgl.c
src/mesa/drivers/windows/gdi/wmesa.c
src/mesa/main/glheader.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_api.c

index 70c264a8d86dcad549a4e258d37e6b2d83006913..948860890c05510d7b6bd1d6d72eeebc2858f46c 100644 (file)
 #      realclean:      remove all generated files
 #
 
+# MinGW core makefile updated for Mesa 7.0
+#
+#  updated : by Heromyth, 2007-6-25
+#  Email   : zxpmyth@yahoo.com.cn
+#  Bug     : All the default settings work fine. But the setting X86=1 can't work. 
+#            The others havn't been tested yet.
+
 
 
 .PHONY : all libgl clean realclean
 
 ifeq ($(ICD),1)
   # when -std=c99 mingw will not define WIN32
-  CFLAGS = -Wall -W -Werror
+  CFLAGS = -Wall -Werror
 else
   # I love c89
-  CFLAGS = -Wall -W -pedantic
+  CFLAGS = -Wall -pedantic
 endif
 CFLAGS += -O2 -ffast-math
 
@@ -72,16 +79,28 @@ else
 UNLINK = $(RM) $(1)
 endif
 
-all: libgl
+all: libgl libglu libglut
 
 libgl: lib
        $(MAKE) -f Makefile.mgw -C src/mesa
 
+libglu: libgl
+       $(MAKE) -f Makefile.mgw -C src/glu/sgi
+
+libglut: libglu 
+       $(MAKE) -f Makefile.mgw -C src/glut/glx
+
+example: libglut 
+       $(MAKE) -f Makefile.mgw star -C progs/samples
+       copy progs\samples\star.exe lib
+
 lib:
        mkdir lib
 
 clean:
        $(MAKE) -f Makefile.mgw clean -C src/mesa
+       $(MAKE) -f Makefile.mgw clean -C src/glu/sgi
+       $(MAKE) -f Makefile.mgw clean -C src/glut/glx
 
 realclean: clean
        -$(call UNLINK,lib/*.a)
index c0bac75a8ccfad43a72d9a6bcf2e8a266f91d6ef..d82103d141ac94322efd5ec2a6627139d6147796 100644 (file)
 #define GLAPIENTRYP GLAPIENTRY *
 #endif
 
+#ifdef GLAPI
+#undef GLAPI
+#endif
+
+#  if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
+#    define GLAPI __declspec(dllexport)
+#  elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+#    define GLAPI __declspec(dllimport)
+#  else /* for use with static link lib build of Win32 edition only */
+#    define GLAPI extern
+#  endif /* _STATIC_MESA support */
+
+
 #ifndef GLAPI
 #define GLAPI
 #endif
index 23c740ee117b91c375609cc784fa55f4b711aecc..e0fad6e5cb08b039520f06b1d094e7746765566d 100644 (file)
@@ -115,7 +115,7 @@ extern _CRTIMP void __cdecl exit(int);
 #endif
 
 /* GLUT API entry point declarations for Win32. */
-#if defined(GLUT_BUILDING_LIB) && defined(_DLL)
+#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && defined(_DLL)
 #      define GLUTAPI __declspec(dllexport)
 #elif defined(_DLL)
 #   define GLUTAPI __declspec(dllimport)
@@ -131,8 +131,10 @@ extern _CRTIMP void __cdecl exit(int);
 #      endif
 #      define CALLBACK __stdcall
 typedef int (GLUTAPIENTRY *PROC)();
-typedef void *HGLRC;
-typedef void *HDC;
+#if !defined(__MINGW32__)
+       typedef void *HGLRC;
+       typedef void *HDC;
+#endif
 typedef unsigned long COLORREF;
 #endif
 
index 7ff77394341751643026756639dba71303fb7724..002549ecbd7bf2afadb3107683cc46d65d7fc0b9 100644 (file)
 #include "definitions.h"
 #include "primitiveStream.h"
 #include "directedLine.h"
+#include "arc.h"
 
 class Backend;
-class Arc;
-typedef Arc *Arc_ptr;
 
 class reflexChain{
   Real2 *queue; 
index add3df7c3fd2b4cec0066cc48318ccb01c151aa3..a76ff9a435ecc06fe6588dbbf9f367a8b0a7ae6a 100644 (file)
@@ -23,6 +23,9 @@
 #endif
 #include <X11/Xutil.h>
 #else
+#ifdef __MINGW32__
+#include <GL/gl.h>
+#endif
 #include <windows.h>
 #ifndef __CYGWIN32__
 #include <mmsystem.h>  /* Win32 Multimedia API header. */
index a4528ae1ce41e046f5579518ced349058c978f89..5025607922c2115b0f3243891239bbf18df77cc1 100644 (file)
@@ -6,6 +6,9 @@
    implied. This program is -not- in the public domain. */
 
 #ifdef _WIN32
+#ifdef __MINGW32__
+#include <GL/gl.h>
+#endif
 #include <windows.h>
 #ifndef __CYGWIN32__
 #include <mmsystem.h>  /* Win32 Multimedia API header. */
index becd823a4098c2fb3ecddb538b038ef54adc4ee6..25af48a11258bd6cc5bc51d5167309bfb9f879b2 100644 (file)
@@ -15,6 +15,7 @@
 
 /* The following added by Paul Garceau <pgarceau@teleport.com> */
 #if defined(__MINGW32__)
+#include <GL/gl.h>
 #include <time.h>
 #include <windows.h>
 struct timeval;
index 1d8d048b2e01c0a24b7790e872ac411a3d3aeb42..6f5c3a9aeaf44b859ba16774cf2589b28ad175f1 100644 (file)
@@ -6,16 +6,14 @@
 /* This program is freely distributable without licensing fees 
    and is provided without guarantee or warrantee expressed or 
    implied. This program is -not- in the public domain. */
-
+#ifdef __MINGW32__
+#include <GL/gl.h>
+#endif
 #include <stdlib.h>
 #include <windows.h>
 
 /* These definitions are missing from windows.h */
-WINGDIAPI int WINAPI wglChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *);
-WINGDIAPI int WINAPI wglDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
-WINGDIAPI int WINAPI wglGetPixelFormat(HDC);
-WINGDIAPI BOOL WINAPI wglSetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *);
-WINGDIAPI BOOL WINAPI wglSwapBuffers(HDC);
+
 
 /* Type definitions (conversions) */
 typedef int Visual;                    /* Win32 equivalent of X11 type */
index 197de0743c7aa0251190cab3f9a711df7ee418a6..49b4ddbd1f9ed741e024a5c73efbf5e3a9add89b 100644 (file)
 
 /* We're essentially building part of GDI here, so define this so that
  * we get the right export linkage. */
+#ifdef __MINGW32__
+#include <GL/gl.h>
+#include <stdlib.h>
+#else
 #define _GDI32_
+#endif
 #include <windows.h>
+
 #include "glapi.h"
 
 #include "GL/wmesa.h"   /* protos for wmesa* functions */
index c5cd2c615b71e99bf7c1c38050c099d38cdbf490..2eec188912e28a425c77bf5212d97f4458aa192e 100644 (file)
@@ -1404,70 +1404,70 @@ void WMesaSwapBuffers( HDC hdc )
  * table entries.  Hopefully, I'll find a better solution.  The
  * dispatch table generation scripts ought to be making these dummy
  * stubs as well. */
-void gl_dispatch_stub_543(void){};
-void gl_dispatch_stub_544(void){};
-void gl_dispatch_stub_545(void){};
-void gl_dispatch_stub_546(void){};
-void gl_dispatch_stub_547(void){};
-void gl_dispatch_stub_548(void){};
-void gl_dispatch_stub_549(void){};
-void gl_dispatch_stub_550(void){};
-void gl_dispatch_stub_551(void){};
-void gl_dispatch_stub_552(void){};
-void gl_dispatch_stub_553(void){};
-void gl_dispatch_stub_554(void){};
-void gl_dispatch_stub_555(void){};
-void gl_dispatch_stub_556(void){};
-void gl_dispatch_stub_557(void){};
-void gl_dispatch_stub_558(void){};
-void gl_dispatch_stub_559(void){};
-void gl_dispatch_stub_560(void){};
-void gl_dispatch_stub_561(void){};
-void gl_dispatch_stub_565(void){};
-void gl_dispatch_stub_566(void){};
-void gl_dispatch_stub_577(void){};
-void gl_dispatch_stub_578(void){};
-void gl_dispatch_stub_603(void){};
-void gl_dispatch_stub_645(void){};
-void gl_dispatch_stub_646(void){};
-void gl_dispatch_stub_647(void){};
-void gl_dispatch_stub_648(void){};
-void gl_dispatch_stub_649(void){};
-void gl_dispatch_stub_650(void){};
-void gl_dispatch_stub_651(void){};
-void gl_dispatch_stub_652(void){};
-void gl_dispatch_stub_653(void){};
-void gl_dispatch_stub_734(void){};
-void gl_dispatch_stub_735(void){};
-void gl_dispatch_stub_736(void){};
-void gl_dispatch_stub_737(void){};
-void gl_dispatch_stub_738(void){};
-void gl_dispatch_stub_745(void){};
-void gl_dispatch_stub_746(void){};
-void gl_dispatch_stub_760(void){};
-void gl_dispatch_stub_761(void){};
-void gl_dispatch_stub_766(void){};
-void gl_dispatch_stub_767(void){};
-void gl_dispatch_stub_768(void){};
-
-void gl_dispatch_stub_562(void){};
-void gl_dispatch_stub_563(void){};
-void gl_dispatch_stub_564(void){};
-void gl_dispatch_stub_567(void){};
-void gl_dispatch_stub_568(void){};
-void gl_dispatch_stub_569(void){};
-void gl_dispatch_stub_580(void){};
-void gl_dispatch_stub_581(void){};
-void gl_dispatch_stub_606(void){};
-void gl_dispatch_stub_654(void){};
-void gl_dispatch_stub_655(void){};
-void gl_dispatch_stub_656(void){};
-void gl_dispatch_stub_739(void){};
-void gl_dispatch_stub_740(void){};
-void gl_dispatch_stub_741(void){};
-void gl_dispatch_stub_748(void){};
-void gl_dispatch_stub_749(void){};
-void gl_dispatch_stub_769(void){};
-void gl_dispatch_stub_770(void){};
-void gl_dispatch_stub_771(void){};
+void gl_dispatch_stub_543(void){}
+void gl_dispatch_stub_544(void){}
+void gl_dispatch_stub_545(void){}
+void gl_dispatch_stub_546(void){}
+void gl_dispatch_stub_547(void){}
+void gl_dispatch_stub_548(void){}
+void gl_dispatch_stub_549(void){}
+void gl_dispatch_stub_550(void){}
+void gl_dispatch_stub_551(void){}
+void gl_dispatch_stub_552(void){}
+void gl_dispatch_stub_553(void){}
+void gl_dispatch_stub_554(void){}
+void gl_dispatch_stub_555(void){}
+void gl_dispatch_stub_556(void){}
+void gl_dispatch_stub_557(void){}
+void gl_dispatch_stub_558(void){}
+void gl_dispatch_stub_559(void){}
+void gl_dispatch_stub_560(void){}
+void gl_dispatch_stub_561(void){}
+void gl_dispatch_stub_565(void){}
+void gl_dispatch_stub_566(void){}
+void gl_dispatch_stub_577(void){}
+void gl_dispatch_stub_578(void){}
+void gl_dispatch_stub_603(void){}
+void gl_dispatch_stub_645(void){}
+void gl_dispatch_stub_646(void){}
+void gl_dispatch_stub_647(void){}
+void gl_dispatch_stub_648(void){}
+void gl_dispatch_stub_649(void){}
+void gl_dispatch_stub_650(void){}
+void gl_dispatch_stub_651(void){}
+void gl_dispatch_stub_652(void){}
+void gl_dispatch_stub_653(void){}
+void gl_dispatch_stub_734(void){}
+void gl_dispatch_stub_735(void){}
+void gl_dispatch_stub_736(void){}
+void gl_dispatch_stub_737(void){}
+void gl_dispatch_stub_738(void){}
+void gl_dispatch_stub_745(void){}
+void gl_dispatch_stub_746(void){}
+void gl_dispatch_stub_760(void){}
+void gl_dispatch_stub_761(void){}
+void gl_dispatch_stub_766(void){}
+void gl_dispatch_stub_767(void){}
+void gl_dispatch_stub_768(void){}
+
+void gl_dispatch_stub_562(void){}
+void gl_dispatch_stub_563(void){}
+void gl_dispatch_stub_564(void){}
+void gl_dispatch_stub_567(void){}
+void gl_dispatch_stub_568(void){}
+void gl_dispatch_stub_569(void){}
+void gl_dispatch_stub_580(void){}
+void gl_dispatch_stub_581(void){}
+void gl_dispatch_stub_606(void){}
+void gl_dispatch_stub_654(void){}
+void gl_dispatch_stub_655(void){}
+void gl_dispatch_stub_656(void){}
+void gl_dispatch_stub_739(void){}
+void gl_dispatch_stub_740(void){}
+void gl_dispatch_stub_741(void){}
+void gl_dispatch_stub_748(void){}
+void gl_dispatch_stub_749(void){}
+void gl_dispatch_stub_769(void){}
+void gl_dispatch_stub_770(void){}
+void gl_dispatch_stub_771(void){}
 
index 5abea137d747e26f168231718d0c8463b1ea7ea1..63dd002a41264bbc095b07a73415e7bba08fec9b 100644 (file)
@@ -91,6 +91,9 @@
 #  pragma disable_message(201) /* Disable unreachable code warnings */
 #endif
 
+#ifdef WGLAPI
+#undef WGLAPI
+#endif
 
 #if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) && !defined(BUILD_FOR_SNAP)
 #  if !defined(__GNUC__) /* mingw environment */
index 8d13ef9d0818404f3ff53582cf2f951f33c76357..2d4ded0f984a2601bf5530e12921a15944d66ba6 100644 (file)
@@ -43,6 +43,11 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "vbo_context.h"
 
+#ifdef ERROR
+#undef ERROR
+#endif
+
+
 static void reset_attrfv( struct vbo_exec_context *exec );
 
 
index c08fd1fe555ba26a9321cd7e6b30c8e11bc7d301..e7794c2a6ccaaf257e244eeef0363fd0eb4dda91 100644 (file)
@@ -80,6 +80,10 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "vbo_context.h"
 
 
+#ifdef ERROR
+#undef ERROR
+#endif
+
 
 /*
  * NOTE: Old 'parity' issue is gone, but copying can still be