1b519abb606c819c446a408f422530268b21a100bMathias Agopian#! /usr/bin/perl
2b519abb606c819c446a408f422530268b21a100bMathias Agopian#
3b519abb606c819c446a408f422530268b21a100bMathias Agopian# Copyright (C) 2008 Google Inc.
4b519abb606c819c446a408f422530268b21a100bMathias Agopian#
5b519abb606c819c446a408f422530268b21a100bMathias Agopian# Licensed under the Apache License, Version 2.0 (the "License");
6b519abb606c819c446a408f422530268b21a100bMathias Agopian# you may not use this file except in compliance with the License.
7b519abb606c819c446a408f422530268b21a100bMathias Agopian# You may obtain a copy of the License at
8b519abb606c819c446a408f422530268b21a100bMathias Agopian#
9b519abb606c819c446a408f422530268b21a100bMathias Agopian#      http://www.apache.org/licenses/LICENSE-2.0
10b519abb606c819c446a408f422530268b21a100bMathias Agopian#
11b519abb606c819c446a408f422530268b21a100bMathias Agopian# Unless required by applicable law or agreed to in writing, software
12b519abb606c819c446a408f422530268b21a100bMathias Agopian# distributed under the License is distributed on an "AS IS" BASIS,
13b519abb606c819c446a408f422530268b21a100bMathias Agopian# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14b519abb606c819c446a408f422530268b21a100bMathias Agopian# See the License for the specific language governing permissions and
15b519abb606c819c446a408f422530268b21a100bMathias Agopian# limitations under the License.
16b519abb606c819c446a408f422530268b21a100bMathias Agopian
17b519abb606c819c446a408f422530268b21a100bMathias Agopianuse strict;
18b519abb606c819c446a408f422530268b21a100bMathias Agopian
19b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopiansub rtrim($)
20b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian{
21b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian    my $string = shift;
22b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian    $string =~ s/\s+$//;
23b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian    return $string;
24b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian}
25b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian
26b519abb606c819c446a408f422530268b21a100bMathias Agopianwhile (my $line = <>) {
27b519abb606c819c446a408f422530268b21a100bMathias Agopian  next if $line =~ /^\//;
28b519abb606c819c446a408f422530268b21a100bMathias Agopian  next if $line =~ /^#/;
29b519abb606c819c446a408f422530268b21a100bMathias Agopian  next if $line =~ /^\s*$/;
30b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian  if ($line !~ /^GL_API(CALL)?\s+(.+)\s+GL_APIENTRY\s+([\w]+)\s*\(([^\)]+)\);/) {
31b519abb606c819c446a408f422530268b21a100bMathias Agopian    next;
32b519abb606c819c446a408f422530268b21a100bMathias Agopian  }
33b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian  my $type = rtrim($2);
34b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian  my $name = $3;
35b1a39d67be99fe6c4545b25e10ac82a5dd1df634Mathias Agopian  my $args = $4;
36b519abb606c819c446a408f422530268b21a100bMathias Agopian
37b519abb606c819c446a408f422530268b21a100bMathias Agopian  printf("GL_ENTRY(%s, %s, %s)\n", $type, $name, $args);
38b519abb606c819c446a408f422530268b21a100bMathias Agopian}
39