Three supported win32 compilation environments: MSVC, Cygwin and MingW32
#pragma is specific to MS compiler git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@433 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
176108b5eb
commit
4a51a82b08
@ -35,40 +35,65 @@
|
|||||||
/*
|
/*
|
||||||
* Under windows, we have to differentiate between static and dynamic libraries
|
* Under windows, we have to differentiate between static and dynamic libraries
|
||||||
*/
|
*/
|
||||||
#if defined(WIN32)
|
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
|
|
||||||
|
/* #pragma may not be supported by some compilers.
|
||||||
|
* Discussion by FreeGLUT developers suggests that
|
||||||
|
* Visual C++ specific code involving pragmas may
|
||||||
|
* need to move to a separate header. 24th Dec 2003
|
||||||
|
*/
|
||||||
|
|
||||||
|
# define WIN32_LEAN_AND_MEAN
|
||||||
|
# define NO_MIN_MAX
|
||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
# include <windowsx.h>
|
# undef min
|
||||||
# include <mmsystem.h>
|
# undef max
|
||||||
# define WINDOWS
|
|
||||||
#ifdef FREEGLUT_STATIC
|
/* Windows static library */
|
||||||
|
# ifdef FREEGLUT_STATIC
|
||||||
|
|
||||||
# define FGAPI
|
# define FGAPI
|
||||||
# define FGAPIENTRY
|
# define FGAPIENTRY
|
||||||
|
|
||||||
# pragma comment (lib, "freeglut_static.lib") /* link with Win32 static freeglut lib */
|
/* Link with Win32 static freeglut lib */
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# pragma comment (lib, "freeglut_static.lib")
|
||||||
|
# endif
|
||||||
|
|
||||||
#else
|
/* Windows shared library (DLL) */
|
||||||
|
# else
|
||||||
|
|
||||||
# if defined(FREEGLUT_EXPORTS)
|
# if defined(FREEGLUT_EXPORTS)
|
||||||
# define FGAPI __declspec(dllexport)
|
# define FGAPI __declspec(dllexport)
|
||||||
/* # define FGAPI */
|
|
||||||
# else
|
# else
|
||||||
# define FGAPI __declspec(dllimport)
|
# define FGAPI __declspec(dllimport)
|
||||||
# pragma comment (lib, "freeglut.lib") /* link with Win32 freeglut lib */
|
|
||||||
|
/* link with Win32 shared freeglut lib */
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# pragma comment (lib, "freeglut.lib")
|
||||||
# endif
|
# endif
|
||||||
# define FGAPIENTRY __stdcall
|
|
||||||
|
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
|
# define FGAPIENTRY __stdcall
|
||||||
#pragma comment (lib, "user32.lib") /* link with Windows user lib */
|
|
||||||
#pragma comment (lib, "gdi32.lib") /* link with Windows GDI lib */
|
|
||||||
#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
|
|
||||||
#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */
|
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Drag in other Windows libraries as required by FreeGLUT */
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# pragma comment (lib, "winmm.lib") /* link Windows MultiMedia lib */
|
||||||
|
# pragma comment (lib, "user32.lib") /* link Windows user lib */
|
||||||
|
# pragma comment (lib, "gdi32.lib") /* link Windows GDI lib */
|
||||||
|
# pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib */
|
||||||
|
# pragma comment (lib, "glu32.lib") /* link OpenGL Utility lib */
|
||||||
|
# endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/* Non-Windows definition of FGAPI and FGAPIENTRY */
|
||||||
# define FGAPI
|
# define FGAPI
|
||||||
# define FGAPIENTRY
|
# define FGAPIENTRY
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -153,7 +178,7 @@
|
|||||||
*
|
*
|
||||||
* Steve Baker suggested to make it binary compatible with GLUT:
|
* Steve Baker suggested to make it binary compatible with GLUT:
|
||||||
*/
|
*/
|
||||||
#if defined(WIN32)
|
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
# define GLUT_STROKE_ROMAN ((void *)0x0000)
|
# define GLUT_STROKE_ROMAN ((void *)0x0000)
|
||||||
# define GLUT_STROKE_MONO_ROMAN ((void *)0x0001)
|
# define GLUT_STROKE_MONO_ROMAN ((void *)0x0001)
|
||||||
# define GLUT_BITMAP_9_BY_15 ((void *)0x0002)
|
# define GLUT_BITMAP_9_BY_15 ((void *)0x0002)
|
||||||
|
Reference in New Issue
Block a user