src/dynapi/gendynapi.pl
author Ryan C. Gordon <icculus@icculus.org>
Fri, 01 May 2015 01:12:48 -0400
changeset 9580 d37ef6990bf9
parent 8149 681eb46b8ac4
child 9619 b94b6d0bff0f
permissions -rwxr-xr-x
checkkeys: Readded the KEYUP event test.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8094
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     1
#!/usr/bin/perl -w
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     2
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     3
#  Simple DirectMedia Layer
8149
681eb46b8ac4 Fixed bug 2374 - Update copyright for 2014...
Sam Lantinga <slouken@libsdl.org>
parents: 8094
diff changeset
     4
#  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
8094
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     5
#
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     6
#  This software is provided 'as-is', without any express or implied
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     7
#  warranty.  In no event will the authors be held liable for any damages
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     8
#  arising from the use of this software.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     9
#
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    10
#  Permission is granted to anyone to use this software for any purpose,
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    11
#  including commercial applications, and to alter it and redistribute it
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    12
#  freely, subject to the following restrictions:
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    13
#
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    14
#  1. The origin of this software must not be misrepresented; you must not
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    15
#     claim that you wrote the original software. If you use this software
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    16
#     in a product, an acknowledgment in the product documentation would be
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    17
#     appreciated but is not required.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    18
#  2. Altered source versions must be plainly marked as such, and must not be
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    19
#     misrepresented as being the original software.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    20
#  3. This notice may not be removed or altered from any source distribution.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    21
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    22
# WHAT IS THIS?
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    23
#  When you add a public API to SDL, please run this script, make sure the
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    24
#  output looks sane (hg diff, it adds to existing files), and commit it.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    25
#  It keeps the dynamic API jump table operating correctly.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    26
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    27
# If you wanted this to be readable, you shouldn't have used perl.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    28
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    29
use warnings;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    30
use strict;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    31
use File::Basename;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    32
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    33
chdir(dirname(__FILE__) . '/../..');
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    34
my $sdl_dynapi_procs_h = "src/dynapi/SDL_dynapi_procs.h";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    35
my $sdl_dynapi_overrides_h = "src/dynapi/SDL_dynapi_overrides.h";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    36
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    37
my %existing = ();
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    38
if (-f $sdl_dynapi_procs_h) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    39
    open(SDL_DYNAPI_PROCS_H, '<', $sdl_dynapi_procs_h) or die("Can't open $sdl_dynapi_procs_h: $!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    40
    while (<SDL_DYNAPI_PROCS_H>) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    41
        if (/\ASDL_DYNAPI_PROC\(.*?,(.*?),/) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    42
            $existing{$1} = 1;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    43
        }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    44
    }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    45
    close(SDL_DYNAPI_PROCS_H)
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    46
}
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    47
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    48
open(SDL_DYNAPI_PROCS_H, '>>', $sdl_dynapi_procs_h) or die("Can't open $sdl_dynapi_procs_h: $!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    49
open(SDL_DYNAPI_OVERRIDES_H, '>>', $sdl_dynapi_overrides_h) or die("Can't open $sdl_dynapi_overrides_h: $!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    50
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    51
opendir(HEADERS, 'include') or die("Can't open include dir: $!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    52
while (readdir(HEADERS)) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    53
    next if not /\.h\Z/;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    54
    my $header = "include/$_";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    55
    open(HEADER, '<', $header) or die("Can't open $header: $!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    56
    while (<HEADER>) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    57
        chomp;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    58
        next if not /\A\s*extern\s+DECLSPEC/;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    59
        my $decl = "$_ ";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    60
        if (not $decl =~ /\)\s*;/) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    61
            while (<HEADER>) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    62
                chomp;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    63
                s/\A\s+//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    64
                s/\s+\Z//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    65
                $decl .= "$_ ";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    66
                last if /\)\s*;/;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    67
            }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    68
        }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    69
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    70
        $decl =~ s/\s+\Z//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    71
        #print("DECL: [$decl]\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    72
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    73
        if ($decl =~ /\A\s*extern\s+DECLSPEC\s+(const\s+|)(unsigned\s+|)(.*?)\s*(\*?)\s*SDLCALL\s+(.*?)\s*\((.*?)\);/) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    74
            my $rc = "$1$2$3$4";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    75
            my $fn = $5;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    76
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    77
            next if $existing{$fn};   # already slotted into the jump table.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    78
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    79
            my @params = split(',', $6);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    80
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    81
            #print("rc == '$rc', fn == '$fn', params == '$params'\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    82
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    83
            my $retstr = ($rc eq 'void') ? '' : 'return';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    84
            my $paramstr = '(';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    85
            my $argstr = '(';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    86
            my $i = 0;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    87
            foreach (@params) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    88
                my $str = $_;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    89
                $str =~ s/\A\s+//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    90
                $str =~ s/\s+\Z//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    91
                #print("1PARAM: $str\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    92
                if ($str eq 'void') {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    93
                    $paramstr .= 'void';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    94
                } elsif ($str eq '...') {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    95
                    if ($i > 0) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    96
                        $paramstr .= ', ';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    97
                    }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    98
                    $paramstr .= $str;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    99
                } elsif ($str =~ /\A\s*((const\s+|)(unsigned\s+|)([a-zA-Z0-9_]*)\s*([\*\s]*))\s*(.*?)\Z/) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   100
                    #print("PARSED: [$1], [$2], [$3], [$4], [$5]\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   101
                    my $type = $1;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   102
                    my $var = $6;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   103
                    $type =~ s/\A\s+//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   104
                    $type =~ s/\s+\Z//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   105
                    $var =~ s/\A\s+//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   106
                    $var =~ s/\s+\Z//;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   107
                    $type =~ s/\s*\*\Z/*/g;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   108
                    $type =~ s/\s*(\*+)\Z/ $1/;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   109
                    #print("SPLIT: ($type, $var)\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   110
                    my $name = chr(ord('a') + $i);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   111
                    if ($i > 0) {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   112
                        $paramstr .= ', ';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   113
                        $argstr .= ',';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   114
                    }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   115
                    my $spc = ($type =~ /\*\Z/) ? '' : ' ';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   116
                    $paramstr .= "$type$spc$name";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   117
                    $argstr .= "$name";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   118
                }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   119
                $i++;
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   120
            }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   121
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   122
            $paramstr = '(void' if ($i == 0);  # Just to make this consistent.
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   123
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   124
            $paramstr .= ')';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   125
            $argstr .= ')';
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   126
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   127
            print("NEW: $decl\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   128
            print SDL_DYNAPI_PROCS_H "SDL_DYNAPI_PROC($rc,$fn,$paramstr,$argstr,$retstr)\n";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   129
            print SDL_DYNAPI_OVERRIDES_H "#define $fn ${fn}_REAL\n";
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   130
        } else {
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   131
            print("Failed to parse decl [$decl]!\n");
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   132
        }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   133
    }
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   134
    close(HEADER);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   135
}
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   136
closedir(HEADERS);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   137
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   138
close(SDL_DYNAPI_PROCS_H);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   139
close(SDL_DYNAPI_OVERRIDES_H);
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   140
9efaae827924 Implemented the Dynamic API magic.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   141
# vi: set ts=4 sw=4 expandtab: