More SciTech SNAP updates. Some of these files didn't really change, but
they show up in the list (GLU stuff) for some reason. The major change
here is the addition of code in the glx86asm.py file to generate assembler
stub entry points with the correct name decorations for _stdcall calling
conventions so this can be used on Windows boxes.
diff --git a/src/mesa/glapi/glx86asm.py b/src/mesa/glapi/glx86asm.py
index ea04797..f070c23 100644
--- a/src/mesa/glapi/glx86asm.py
+++ b/src/mesa/glapi/glx86asm.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# $Id: glx86asm.py,v 1.7 2003/10/14 23:47:21 kendallb Exp $
+# $Id: glx86asm.py,v 1.8 2003/10/22 21:02:15 kendallb Exp $
 
 # Mesa 3-D graphics library
 # Version:  4.1
@@ -43,11 +43,13 @@
 	print '#include "glapioffsets.h"'
 	print ''
 	print '#ifndef __WIN32__'
-	print ''
-	print '#if defined(USE_MGL_NAMESPACE)'
-	print '#define GL_PREFIX(n) GLNAME(CONCAT(mgl,n))'
+	print ''	
+	print '#if defined(STDCALL_API)'
+	print '#define GL_PREFIX(n,n2) GLNAME(CONCAT(gl,n2))'
+	print '#elif defined(USE_MGL_NAMESPACE)'
+	print '#define GL_PREFIX(n,n2) GLNAME(CONCAT(mgl,n))'
 	print '#else'
-	print '#define GL_PREFIX(n) GLNAME(CONCAT(gl,n))'
+	print '#define GL_PREFIX(n,n2) GLNAME(CONCAT(gl,n))'
 	print '#endif'
 	print ''
 	print '#define GL_OFFSET(x) CODEPTR(REGOFF(4 * x, EAX))'
@@ -84,6 +86,19 @@
 	return -1
 #enddef
 
+# Find the size of the arguments on the stack for _stdcall name mangling
+def FindStackSize(typeList):
+	result = 0
+	for typ in typeList:
+		if typ == 'GLdouble' or typ == 'GLclampd':
+			result += 8;
+		else:
+			result += 4;
+		#endif
+	#endfor
+	return result
+#enddef
+
 def EmitFunction(name, returnType, argTypeList, argNameList, alias, offset):
 	argList = apiparser.MakeArgList(argTypeList, argNameList)
 	if alias != '':
@@ -105,18 +120,18 @@
 	# save this info in case we need to look up an alias later
 	records.append((name, dispatchName, offset))
 
+	# Find the argument stack size for _stdcall name mangling
+	stackSize = FindStackSize(argTypeList)
+
 	# print the assembly code
 	print 'ALIGNTEXT16'
-	print "GLOBL_FN(GL_PREFIX(%s))" % (name)
-	print "GL_PREFIX(%s):" % (name)
+	print "GLOBL_FN(GL_PREFIX(%s,%s@%s))" % (name, name, stackSize)
+	print "GL_PREFIX(%s,%s@%s):" % (name, name, stackSize)
 	print '\tMOV_L(CONTENT(GLNAME(_glapi_Dispatch)), EAX)'
 	print "\tJMP(GL_OFFSET(_gloffset_%s))" % (dispatchName)
 	print ''
-
 #enddef
 
-
-
 PrintHead()
 apiparser.ProcessSpecFile("APIspec", EmitFunction)
 PrintTail()