Currently, the nettle Makefile creates two object files for each source file, .o for inclusion in the static library, and .po ("pure object") for the shared library. By default, both are compiled as pic code, but --disable-pic drops the pic flags when compiling the .o files, to get non-pic code into the static library.
I'm considering dropping this complication. Just build a single .o file, which is pic by default, and non-pic if --disable-pic is given.
To build a non-pic static library, one would configure with "--disable-pic --disable-shared" (since just --disable-pic would produce a shared library with non-pic code, which is highly undesirable). And to produce a static non-pic library and a shared pic library, one would need to use separate build trees.
Does that make sense? It would make things simpler, shorten build time, and eliminate the problem of naming two types of object files.
One might also have --disable-pic imply --disable-shared (unless explicitly overridden by the user).
Regards, /Niels