Ron Garret wrote: > The fundamental problem is that uname -m does not and CAN not contain > enough information to decide which architecture to build for, because > on a biarch system there are three different possibilities (32-bit, 64- > bit and fat binary), and which one is right depends on the user's > desires.
Indeed. Another example of this problem is GNU gmp, which - on a Solaris 7 system, where config.guess returns "sparc-sun-solaris2.7" - detects that the CPU is more capable than what most programs use, and decides to build in 64-bit mode: checking build system type... ultrasparc2i-sun-solaris2.7 checking host system type... ultrasparc2i-sun-solaris2.7 ... using ABI="64" CC="gcc" CFLAGS="-O2 -m64 -mptr64 -mcpu=ultrasparc" CPPFLAGS="" Unfortunately, this is not what I desired, because I cannot link 32-bit mode programs with a 64-bit mode library. Also, when I specify a --prefix and a --libdir to configure, I'm assuming a build for a particular architecture. If configure makes a random decision about the architecture, and the package then installs 64-bit libraries in /usr/local/lib (rather than /usr/local/lib64 on Linux or /usr/local/lib/64 on Solaris), the system will get into trouble. Bruno