4 # Mesa 3-D graphics library
7 # Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
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:
16 # The above copyright notice and this permission notice shall be included
17 # in all copies or substantial portions of the Software.
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.
27 # Generate the glapitable.h file.
30 # python gloffsets.py >glapitable.h
33 # The apispec file must be in the current directory.
40 print '/* DO NOT EDIT - This file generated automatically with gltable.py script */'
41 print '#ifndef _GLAPI_TABLE_H_'
42 print '#define _GLAPI_TABLE_H_'
44 print '#ifndef GLAPIENTRYP'
45 print '#define GLAPIENTRYP'
48 print 'struct _glapi_table'
63 def DoRecord(name
, returnType
, argTypeList
, argNameList
, alias
, offset
):
64 argList
= apiparser
.MakeArgList(argTypeList
, argNameList
)
65 if offset
>= 0 and not records
.has_key(offset
):
66 records
[offset
] = (name
, returnType
, argList
)
67 #print '#define _gloffset_%s %d' % (name, offset)
77 #print 'Missing offset %d' % (prevk)
80 (name
, returnType
, argList
) = records
[k
]
81 print ' %s (GLAPIENTRYP %s)(%s); /* %d */' % (returnType
, name
, argList
, k
)
86 apiparser
.ProcessSpecFile("APIspec", DoRecord
)