annotate src/main/win32/exports/gendef.pl @ 911:04a403e4ccf5

Date: Mon, 3 May 2004 03:15:01 +0100 From: David Symmonds Subject: SDL Typedef Structs Hi, Thanks for the SDL libraries, I have been using them for about a year now and they are really brilliant. One thing that I have just found whilst using them through C++ (and needing forward declarations) is that when you typedef structs you sometimes use typedef struct Name { ... }Name; e.g. SDL_Surface and other times use typedef struct { ... }Name; e.g. SDL_Rect The first type works fine, when I define a header file I can just put 'struct Name;' at the top and use the Name throughout. However, the second type is harder to use in a header, and I haven't found a way yet, other than to include 'SDL.h' in the header file (undesirable). Would there be any harm in changing the definition of SDL_Rect and such like to the second form?
author Sam Lantinga <slouken@libsdl.org>
date Sun, 18 Jul 2004 22:57:40 +0000
parents 05b97424225f
children 02759105b989
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1 #!/usr/bin/perl
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 #
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
3 # Program to take a set of header files and generate DLL export definitions
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5 while ( ($file = shift(@ARGV)) ) {
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 if ( ! defined(open(FILE, $file)) ) {
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7 warn "Couldn't open $file: $!\n";
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 next;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 $printed_header = 0;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11 $file =~ s,.*/,,;
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 while (<FILE>) {
345
05b97424225f *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 337
diff changeset
13 if ( / DECLSPEC.*SDLCALL ([^\s\(]+)/ ) {
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14 print "\t$1\n";
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
17 close(FILE);
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18 }
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 # Special exports not in the header files
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
20 print "\tSDL_RegisterApp\n";
145
29a638dc26db Applied David MacCormack's patch to fix SDL_WINDOWID on Windows,
Sam Lantinga <slouken@libsdl.org>
parents: 0
diff changeset
21 print "\tSDL_SetModuleHandle\n";