glheader.h revision 87ae69c45dcaaf6bafe0ca210a0e2a655c63792f
1/* $Id: glheader.h,v 1.6 2000/02/24 15:12:05 brianp Exp $ */
2
3/*
4 * Mesa 3-D graphics library
5 * Version:  3.3
6 *
7 * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
8 *
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 */
26
27
28#ifndef GLHEADER_H
29#define GLHEADER_H
30
31
32/*
33 * This is the top-most include file of the Mesa sources.
34 * It includes gl.h and all system headers which are needed.
35 * Other Mesa source files should _not_ directly include any system
36 * headers.  This allows Mesa to be integrated into XFree86 and
37 * allows system-dependent hacks/work-arounds to be collected in one place.
38 *
39 * If you touch this file, everything gets recompiled!
40 *
41 * This file should be included before any other header in the .c files.
42 */
43
44
45#ifdef XFree86LOADER
46#include "xf86_ansic.h"
47#else
48#include <assert.h>
49#include <ctype.h>
50#include <math.h>
51#include <limits.h>
52#include <stdlib.h>
53#include <stdio.h>
54#include <string.h>
55#endif
56#include <float.h>
57
58
59#ifdef HAVE_CONFIG_H
60#include "conf.h"
61#endif
62
63#include "GL/gl.h"
64#include "GL/glext.h"
65
66
67/*
68 * Put compiler/OS/assembly pragmas and macros here to avoid
69 * cluttering other source files.
70 */
71
72
73/* Disable unreachable code warnings for Watcom C++ */
74#ifdef	__WATCOMC__
75#pragma disable_message(201)
76#endif
77
78
79/* Turn off macro checking systems used by other libraries */
80#ifdef CHECK
81#undef CHECK
82#endif
83
84
85/* Create a macro so that asm functions can be linked into compilers other
86 * than GNU C
87 */
88#ifndef _ASMAPI
89#if !defined( __GNUC__ ) && !defined( VMS )
90#define _ASMAPI __cdecl
91#else
92#define _ASMAPI
93#endif
94#ifdef	PTR_DECL_IN_FRONT
95#define	_ASMAPIP * _ASMAPI
96#else
97#define	_ASMAPIP _ASMAPI *
98#endif
99#endif
100
101#ifdef USE_X86_ASM
102#define _NORMAPI _ASMAPI
103#define _NORMAPIP _ASMAPIP
104#else
105#define _NORMAPI
106#define _NORMAPIP *
107#endif
108
109
110
111#endif /* GLHEADER_H */
112