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