1#!/bin/sh
2set -eu
3
4# Print defined gl.* functions not in GL ES 1.1
5# or in extensions that are part of the ES 1.1 extension pack.
6# (see http://www.khronos.org/registry/gles/specs/1.1/opengles_spec_1_1_extension_pack.pdf)
7
8case "$(uname)" in
9Darwin)
10  LIB=${1-es1api/.libs/libGLESv1_CM.dylib}
11  ;;
12CYGWIN*)
13  LIB=${1-es1api/.libs/cygGLESv1_CM-1.dll}
14  ;;
15*)
16  LIB=${1-es1api/.libs/libGLESv1_CM.so.1}
17  ;;
18esac
19
20if ! [ -f "$LIB" ]
21then
22  exit 1
23fi
24
25FUNCS=$($NM -D --defined-only $LIB | grep -o 'T gl.*' | cut -c 3- | while read func; do
26( grep -q "^$func$" || echo $func )  <<EOF
27glActiveTexture
28glAlphaFunc
29glAlphaFuncx
30glBindBuffer
31glBindTexture
32glBlendFunc
33glBufferData
34glBufferSubData
35glClear
36glClearColor
37glClearColorx
38glClearDepthf
39glClearDepthx
40glClearStencil
41glClientActiveTexture
42glClipPlanef
43glClipPlanex
44glColor4f
45glColor4ub
46glColor4x
47glColorMask
48glColorPointer
49glCompressedTexImage2D
50glCompressedTexSubImage2D
51glCopyTexImage2D
52glCopyTexSubImage2D
53glCullFace
54glDeleteBuffers
55glDeleteTextures
56glDepthFunc
57glDepthMask
58glDepthRangef
59glDepthRangex
60glDisable
61glDisableClientState
62glDrawArrays
63glDrawElements
64glEnable
65glEnableClientState
66glFinish
67glFlush
68glFogf
69glFogfv
70glFogx
71glFogxv
72glFrontFace
73glFrustumf
74glFrustumx
75glGenBuffers
76glGenTextures
77glGetBooleanv
78glGetBufferParameteriv
79glGetClipPlanef
80glGetClipPlanex
81glGetError
82glGetFixedv
83glGetFloatv
84glGetIntegerv
85glGetLightfv
86glGetLightxv
87glGetMaterialfv
88glGetMaterialxv
89glGetPointerv
90glGetString
91glGetTexEnvfv
92glGetTexEnviv
93glGetTexEnvxv
94glGetTexParameterfv
95glGetTexParameteriv
96glGetTexParameterxv
97glHint
98glIsBuffer
99glIsEnabled
100glIsTexture
101glLightf
102glLightfv
103glLightModelf
104glLightModelfv
105glLightModelx
106glLightModelxv
107glLightx
108glLightxv
109glLineWidth
110glLineWidthx
111glLoadIdentity
112glLoadMatrixf
113glLoadMatrixx
114glLogicOp
115glMaterialf
116glMaterialfv
117glMaterialx
118glMaterialxv
119glMatrixMode
120glMultiTexCoord4f
121glMultiTexCoord4x
122glMultMatrixf
123glMultMatrixx
124glNormal3f
125glNormal3x
126glNormalPointer
127glOrthof
128glOrthox
129glPixelStorei
130glPointParameterf
131glPointParameterfv
132glPointParameterx
133glPointParameterxv
134glPointSize
135glPointSizePointerOES
136glPointSizex
137glPolygonOffset
138glPolygonOffsetx
139glPopMatrix
140glPushMatrix
141glReadPixels
142glRotatef
143glRotatex
144glSampleCoverage
145glSampleCoveragex
146glScalef
147glScalex
148glScissor
149glShadeModel
150glStencilFunc
151glStencilMask
152glStencilOp
153glTexCoordPointer
154glTexEnvf
155glTexEnvfv
156glTexEnvi
157glTexEnviv
158glTexEnvx
159glTexEnvxv
160glTexImage2D
161glTexParameterf
162glTexParameterfv
163glTexParameteri
164glTexParameteriv
165glTexParameterx
166glTexParameterxv
167glTexSubImage2D
168glTranslatef
169glTranslatex
170glVertexPointer
171glViewport
172EOF
173done)
174
175test ! -n "$FUNCS" || echo $FUNCS
176test ! -n "$FUNCS"
177