1#! /bin/sh
2#
3# Copyright (C) 2008 Google Inc.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# Force a specific locale for sorting to avoid irrelevant differences
18# in the generated files that could hide real differences.
19export LC_ALL=POSIX
20
21./glapigen ../../include/GLES/gl.h      > ../GLES_CM/gl_api.in
22./glapigen ../../include/GLES/glext.h   > ../GLES_CM/glext_api.in
23./glapigen ../../include/GLES3/gl3.h    > ../GLES2/gl2_api.in
24./glapigen ../../include/GLES2/gl2ext.h > ../GLES2/gl2ext_api.in
25
26./glentrygen ../../include/GLES/gl.h      > /tmp/gl_entries.in
27./glentrygen ../../include/GLES/glext.h   > /tmp/glext_entries.in
28./glentrygen ../../include/GLES3/gl3.h    > /tmp/gl2_entries.in
29./glentrygen ../../include/GLES2/gl2ext.h > /tmp/gl2ext_entries.in
30
31# The awk command removes lines with the same function name as an earlier
32# line, even if the rest of the line differs. Although signatures of
33# functions with the same name should be the same, the different versions
34# have some irrelevant whitespace and parameter name differences.
35cat /tmp/gl_entries.in \
36    /tmp/glext_entries.in \
37    /tmp/gl2_entries.in \
38    /tmp/gl2ext_entries.in \
39        | sort -t, -k2 \
40        | awk -F, '!_[$2]++' \
41            > ../entries.in
42
43cat ../../include/GLES/gl.h \
44    ../../include/GLES/glext.h \
45    ../../include/GLES2/gl2ext.h \
46    ../../include/GLES3/gl3.h \
47        | ./glenumsgen \
48        | sort \
49        > ../enums.in
50
51