From ffd5b58f9144c40dbfd1cf9ea99d089a3f4e4f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20J=C3=A4genstedt?= Date: Mon, 7 Jun 2010 06:12:14 +0200 Subject: 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 --- build/make/configure.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'build/make/configure.sh') diff --git a/build/make/configure.sh b/build/make/configure.sh index a70a84eec..28ed21cf5 100755 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -497,10 +497,10 @@ setup_gnu_toolchain() { 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 @@ process_common_toolchain() { 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 -- cgit v1.2.3