Shared object loading

It’s added to the latest CVS snapshot:
Added a new header file: SDL_loadso.h
It contains the following functions:
SDL_LoadObject(), SDL_LoadFunction(), SDL_UnloadObject()
The UNIX esd and arts audio code use these to dynamically load
their respective audio libraries.

There are a bunch of new configure options to control this behavior.

I haven’t had time to test the arts code, but the esd code should work.
This will eliminate at least one runtime dependency of SDL…
Let me know what you think! :slight_smile:

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

Okay, I’m yanking all my API changes for 1.2 stability. The code will be
re-evaluated for SDL 1.3

See ya!
-Sam Lantinga, Software Engineer, Blizzard Entertainment

I’m more concerned with API stability than code stability. There have
already been some minor changes to the 1.2 API anyway - namely the
addition of SDL_opengl.h, which is clearly a good thing but requires SDL
1.2.3 or later.

I don’t know how useful the surface locking is, but I really think the
support for plugins should remain if it’s stable (and I see no reason that
it would not be…) I don’t currently use this feature myself, but I do
see the potential uses for it.

I’d just stick a big warning sticker on the prototypes that if you use
them, you must depend on SDL 1.2.4 or later. You probably should have
done the same with SDL_opengl.h for 1.2.3.On Wed, Mar 06, 2002 at 02:34:05AM -0800, Sam Lantinga wrote:

Okay, I’m yanking all my API changes for 1.2 stability. The code will be
re-evaluated for SDL 1.3


Joseph Carter Not many fishes

Basically, I want people to know that when they use binary-only modules,
it’s THEIR problem. I want people to know that in their bones, and I
want it shouted out from the rooftops. I want people to wake up in a
cold sweat every once in a while if they use binary-only modules.
– Linus Torvalds

-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20020306/2f357aea/attachment.pgp

I don’t know how useful the surface locking is, but I really think the
support for plugins should remain if it’s stable (and I see no reason that
it would not be…) I don’t currently use this feature myself, but I do
see the potential uses for it.

Surface rect locking is being yanked. The only reason I added it was
for David’s glSDL stuff, and now is clearly the wrong time to do it.

The shared object support will be moved internally until SDL 1.3, but
the configure options will remain for your Debian packages.

I’d just stick a big warning sticker on the prototypes that if you use
them, you must depend on SDL 1.2.4 or later. You probably should have
done the same with SDL_opengl.h for 1.2.3.

New functions require that the end-user have an up to date version of SDL.
New headers only require that the developer have an up to date version of
SDL if they want to use them. SDL_opengl.h is special in that it didn’t
actually add any functionality, it just made things easier for the developers.

BTW, I love your .sig quotes. :slight_smile:

-Sam Lantinga, Software Engineer, Blizzard Entertainment

Oh, this means that there is already some real existing code for SDL 1.3?
I thought SDL1.3 is only phantasm :wink:

p.s.:
Hofstadter’s Law:
It always takes longer than you expect, even when you take into account
Hofstadter’s Law.On Wednesday 06 March 2002 11:34, Sam Lantinga wrote:

Okay, I’m yanking all my API changes for 1.2 stability. The code will be
re-evaluated for SDL 1.3


Johannes Schmidt

< http://libufo.sourceforge.net > Your widget set for OpenGL

Questions:

  1. Does SDL support AIX?

  2. Does this actually work on AIX?

Everything I have ever done with the idea of loading shared objects
using dlopen
calls from UNIX on AIX has failed horribly.

Anyone who has access care to test this out?

I guess I could try it on Mac OSX but I think they have dlopen isses as
well with their
dylib libs.

DaveOn Tuesday, March 5, 2002, at 11:26 PM, Sam Lantinga wrote:

It’s added to the latest CVS snapshot:
Added a new header file: SDL_loadso.h
It contains the following functions:
SDL_LoadObject(), SDL_LoadFunction(), SDL_UnloadObject()
The UNIX esd and arts audio code use these to dynamically load
their respective audio libraries.

There are a bunch of new configure options to control this behavior.

I haven’t had time to test the arts code, but the esd code should work.
This will eliminate at least one runtime dependency of SDL…
Let me know what you think! :slight_smile:

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Questions:

  1. Does SDL support AIX?

That’s a good question. I don’t support AIX. :wink: If you can get it
running (whether it’s intended to run or not as it stands now) I am sure
Sam would love to hear it though. =)

  1. Does this actually work on AIX?

Everything I have ever done with the idea of loading shared objects
using dlopen
calls from UNIX on AIX has failed horribly.

Anyone who has access care to test this out?

I would not be surprised if this is broken on AIX. If Sam implemented
this using basic dlopen stuff, probably not. dlopen just does not act
right in AIX. Libtool might be able to make snese of it - supporting
really bad/broken old UNIX systems is the whole point of that steaming
heap of … shell script! … isn’t it?

I guess I could try it on Mac OSX but I think they have dlopen isses as
well with their
dylib libs.

It probably does actually. The issue with dlopen in MacOS X is that it
doesn’t work for frameworks properly IIRC. This affects OpenGL, but it
wouldn’t affect libesd or libartsc if you had those things on that system
for some reason. (I cannot fathom why you would, though…)On Wed, Mar 06, 2002 at 07:09:16AM -0600, David Leimbach wrote:


Joseph Carter You want fries with that?

where am I and what am I doing in this handbasket?

-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20020306/d69317ef/attachment.pgp

Questions:

  1. Does SDL support AIX?

It did at one point, although I haven’t heard from anybody using AIX in
over a year.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

[…]

p.s.:
Hofstadter’s Law:
It always takes longer than you expect, even when you take into account
Hofstadter’s Law.

Damn! Don’t do that. I almost got a cerebral stack overflow trying to
parse that…! :wink:

//David Olofson — Programmer, Reologica Instruments AB

.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------------> http://www.linuxdj.com/maia -' .- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |-------------------------------------> http://olofson.net -'On Wednesday 06 March 2002 12:14, Johannes Schmidt wrote:

That’s a good question. I don’t support AIX. :wink: If you can get it
running (whether it’s intended to run or not as it stands now) I am sure
Sam would love to hear it though. =)

  1. Does this actually work on AIX?

Everything I have ever done with the idea of loading shared objects
using dlopen
calls from UNIX on AIX has failed horribly.

Anyone who has access care to test this out?

I would not be surprised if this is broken on AIX. If Sam implemented
this using basic dlopen stuff, probably not. dlopen just does not act
right in AIX. Libtool might be able to make snese of it - supporting
really bad/broken old UNIX systems is the whole point of that steaming
heap of … shell script! … isn’t it?

Libtool shared library portability is only slightly more believable than
perpetual
motion machines. Especially on AIX :). To even make a shared lib on
AIX you have to have a text file of the functions you care to export as
shared symbols linked in with your library. This is nasty and I thusly
build everything static on AIX for sanity’s sake.

I guess I could try it on Mac OSX but I think they have dlopen isses as
well with their
dylib libs.

It probably does actually. The issue with dlopen in MacOS X is that it
doesn’t work for frameworks properly IIRC. This affects OpenGL, but it
wouldn’t affect libesd or libartsc if you had those things on that
system
for some reason. (I cannot fathom why you would, though…)

KDE on OSX??? why not? :)> –

Joseph Carter You want fries with
that?

where am I and what am I doing in this handbasket?

Questions:

  1. Does SDL support AIX?

It did at one point, although I haven’t heard from anybody using AIX in
over a year.

I take that as a “big sigh of relief”. With any luck AIX will fade out
and the good parts will go into linux.On Wednesday, March 6, 2002, at 10:35 AM, Sam Lantinga wrote:

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl