ref: ffd5b58f9144c40dbfd1cf9ea99d089a3f4e4f42
parent: 4bb895e85401d81d7dd2615380309812edfefc5e
author: Philip Jägenstedt <philipj@opera.com>
date: Mon Jun 7 02:12:14 EDT 2010
Detect toolchain based on gcc -dumpmachine Using uname fails e.g. on a 64-bit machine with a 32-bit toolchain. The following gcc -dumpmachine strings have been verified: * 32-bit Linux gives i486-linux-gnu * 64-bit Linux gives x86_64-linux-gnu * Mac OS X 10.5 gives i686-apple-darwin9 * MinGW gives mingw32 *darwin8* and *bsd* can safely be assumed to be correct, but *cygwin* is a guess. Change-Id: I6bef2ab5e97cbd3410aa66b0c4f84d2231884b05
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -497,10 +497,10 @@
process_common_toolchain() {
if [ -z "$toolchain" ]; then
- uname="$(uname -a)"
+ gcctarget="$(gcc -dumpmachine 2> /dev/null)"
# detect tgt_isa
- case "$uname" in
+ case "$gcctarget" in
*x86_64*)
tgt_isa=x86_64
;;
@@ -510,19 +510,19 @@
esac
# detect tgt_os
- case "$uname" in
- *Darwin\ Kernel\ Version\ 8*)
+ case "$gcctarget" in
+ *darwin8*)
tgt_isa=universal
tgt_os=darwin8
;;
- *Darwin\ Kernel\ Version\ 9*)
+ *darwin9*)
tgt_isa=universal
tgt_os=darwin9
;;
- *Msys*|*Cygwin*)
+ *msys*|*cygwin*)
tgt_os=win32
;;
- *Linux*|*BSD*)
+ *linux*|*bsd*)
tgt_os=linux
;;
esac