On Sun, May 31, 2009 at 5:57 AM, Stephen Leake <stephen_le...@stephe-leake.org> >> >>> How do you accomplish this? The monotone Makefile builds a dynamically >>> linked executable. >> >> Simply by building the libraries with --disable-shared, and (in case >> of libidn which doesn't care about user wishes) moving the dll (and >> .dll.a) aside. The build automatically picks up the static >> libraries. > > configure doesn't take option --disable-shared. Or at least, it > accepts that option, but it has no effect (I only tested this on > Debian; my Windows system needs to be rebuilt).
I think he means building all the *libraries* with --disable-shared, so that there aren't shared libraries for the system to pick up. > So it would be useful if configure (or the Makefile) supported a > --disable-shared option. This is a little harder than it looks because nowadays pkg-config goes to some length to not list recursive dependencies in its --libs output (these are harmful for shared linkage, but required for static linkage, for stupid historical reasons both ways). It could be done but it would require modifying the autoconf scriptage around pkg-config as well as the ultimate link line. Also, there's a very real question of exactly how static you want your binary to be. If I were doing it I would probably preserve shared linkage against everything that the compiler implicitly includes (libstdc++, libgcc_s, libc, and possibly one or two others) because staticly linking those can cause bizarre problems, but if you have libstdc++ version skew to deal with that may not be good for you either... zw _______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel