Hmm.. maybe this will help. my real-life example.

I have a program that goes thru all my VOX files (Dialogic Audio files from a PBX system) and determines wether they're worthy enough to be archived or not, and then archive them.
The main program does all it's stuff, and then calls a 'generic' "lib_archive()" function.
Currently, depending on how I make it, it will use one of several *.o files, and link it into the executable. (One burns to CD-R, one to DVD-R, one FTPs to a remote server, and the fourth copies to an NFS share) The main program ALWAYS calls 'lib_archive()', and does not care what this function does. Once the function finally finishes, control is given back to the main program, and it finishes up.

Now, the object file can have any number of functions that are used by the main lib_archive in it.

So, can I have one of the differently named *.so files (like lib_cdr.so, lib_dvd.so, lib_ftp.so, etc etc..) in the lib directory, and will the executable try whatever file is in there until it finds a lib_archive(),
*OR*
When the program's compiled, it needs ONE *.so file, and that compiled exec is stuck with that *.so file?

(Either way, I can work with it, and it IS what I needed. Just curious as to how much flexibility there is..)

Many Thanks!
Mike
_________________________
Mike 'Fox' Morrey 128BPM@124MPH. Love it! 2002 BRG Mini Cooper