On Thu, 01 Apr 2010 14:44:36 +0200, Michal Sojka <sojkam1@fel.cvut.cz> wrote: > On Thu, 01 Apr 2010, Carl Worth wrote: > > 1. Use rpath for the local notmuch, (and use chrpath to remove it at the > > time of "make install"). > > > > 3. Create a static program locally, but install a shared version. > > > > 4. Create a static program by default, and make distributions pass a > > --shared option to get the shared version that they want. > > I'd like to be able to run gdb easily on non-installed notmuch, so I'm > fine with 1, 3 and 4. I really like the idea of (1) but it might cause a dependency on chrpath, which would be obnoxious. Otherwise, it would require linking the final application twice. But if we're going to link twice, we might as well just do that (3). I now don't see any advantage of (4) over (3). It's easy to compile both static and shared, so there's not much reason to be able to disable one or the other. So I've now made the default "make" create a static "notmuch" binary and a shared "notmuch-shared" binary. Then, "make install" installs "notmuch-shared" but renames it to "notmuch". The other reason I really wanted something like this is to be able to ensure that the test suite tests the locally-compiled library, (and not some installed version that the dynamic linker finds). -Carl (happy to stay away from the pain of wrapper scripts)