What may be more appropriate for your situation is what I alluded to before, using system calls to load shared objects dynamically. I'm a novice at this sort of thing, and I'm inclined to say it's pretty specific to each individual Unix. There's probably a POSIX spec for it, but it's likely to be still fluctuating in the real world. Regardless, you'd want to use the dlopen() set of functions to deal with that instead of the -l, -L, and -rpath options to the linker.

Ooh... I like that dlopen().
Youjust gave me the tools to fire another programmer in my company. Muahaha. (Now I just gotta put it into practice.)

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