SWIG kinda scares me... doesn't it generate wrappers instead of direct calls into the C++? That could easily double the size of the library.
There's a bugzilla entry with a thing to allow calling into more of C++'s functions with extern(C++). I'd like to see that pulled into the tree if it passes Walter's eye. http://d.puremagic.com/issues/show_bug.cgi?id=4620