I'm wrapping a library with swig, and I'd like to also implement some rubyisms for it in a regular ruby file. So I have: ext/sndfile/extconf.rb ext/sndfile/sndfile.i ext/sndfile/sndfile.h lib/sndfile.rb I'd like to have lib/sndfile.rb require the shared library. In the past I've done this with require 'foo.so', which worked great on linux but it occurs to me that it's not very cross-platform. (On my iBook for example the output is sndfile.bundle) Is there an elegant way to require the shared library and not the ruby lib? Or do I just need to name my shared library something else? (or vice versa) I'd like people to just be able to do require 'sndfile'