Alon Bar-Lev alon.barlev@gmail.com writes:
You should not do this in autoconf, autoconf is already detecting everything that is required,
From which autoconf version? I'd be happy to require a recent autoconf
and drop this code if it's no longer needed. When this hack was added, it was the case that one or the other of
./configure CC='gcc -m32' && make && make install
or
./configure CC='gcc -m64' && make && make install
would install library files in the wrong directory, overwriting and damaging any correctly installed library previously installed in that place. On some systems, even
./configure && make && make install
would cause damage. Systems affected included any x86_64 gnu/linux system that (i) adhered to the linux hierarchy standard with 32-bit x86 libraries in /usr/local/lib (including gentoo, but not debian), and had a gcc installation defaulting to generating code for x86_64 (which I'd guess gentoo did too).
So the libdir detection is intended to help the user to not shot him/herself in the foot.
I don't know what current gentoo does. Debian's way of doing multiarch makes a lot of sense to me. You can then configure any autoconfed library, including nettle, with something like
--prefix=/usr --libdir='${prefix}/lib/${host}'
and nettle's special libdir default is not used.
Does recent autoconf do anything like that by default?
Having said that, and to avoid backward compatibility, I would like to add a switch to disable this behavior completely and relay on the default logic of autoconf as expected.
Would it make sense to have this automatic detection apply only when also the prefix is the default /usr/local? (Unfortunately, I don't know how a configure script can find out authoritatively if --prefix or --libdir were present on the command line, which is why I compare libdir to the default value instead.
And I really don't understand why you'd prefer a nettle specific --disable-... argument over the GNU standard --libdir=/usr/lib/whatever.
Regards, /Niels