annotate src/main/macosx/exports/gendef.pl @ 865:92615154bb68

Date: Sun, 29 Feb 2004 15:14:22 +0200 From: Martin_Storsj Subject: Dynamic loading of ALSA I recently discovered that SDL can dynamically load ESD and aRts, and made a patch which adds this same functionality to ALSA. The update for configure.in isn't too good (it should e.g. look for libasound.so in other directories than /usr/lib), because I'm not too good at shellscripting and autoconf. The reason for using dlfcn.h and dlopen instead of SDL_LoadLibrary and SDL_LoadFunction is that libasound uses versioned symbols, and it is necessary to load the correct version using dlvsym. This isn't probably any real portability issue, because ALSA is linux-only.
author Sam Lantinga <slouken@libsdl.org>
date Tue, 02 Mar 2004 12:49:16 +0000
parents 618fcc5861c8
children 02759105b989
rev   line source
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1 #!/usr/bin/perl
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 #
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
3 # Program to take a set of header files and generate DLL export definitions
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
825
618fcc5861c8 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 791
diff changeset
5 # print objective-c exports
618fcc5861c8 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 791
diff changeset
6 print "\t.objc_class_name_SDL_QuartzWindow\n";
618fcc5861c8 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 791
diff changeset
7 print "\t.objc_class_name_SDL_QuartzWindowDelegate\n";
618fcc5861c8 *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 791
diff changeset
8
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 while ( ($file = shift(@ARGV)) ) {
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 if ( ! defined(open(FILE, $file)) ) {
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11 warn "Couldn't open $file: $!\n";
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 next;
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 }
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14 $printed_header = 0;
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 $file =~ s,.*/,,;
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 while (<FILE>) {
345
05b97424225f *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 337
diff changeset
17 if ( / DECLSPEC.*SDLCALL ([^\s\(]+)/ ) {
47
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18 print "\t_$1\n";
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 }
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
20 }
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21 close(FILE);
45b1c4303f87 Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
22 }