summaryrefslogtreecommitdiff
path: root/config.guess
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-01-27 09:53:43 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-01-27 09:53:43 +0000
commitce6ff822da66dda9db8d3255e78448754981b6e1 (patch)
tree58454bc75ca1089aea74bd73ade6995294117472 /config.guess
parent979fb4abd736734d30089a8b328824d4a5862a6a (diff)
downloadhaskell-ce6ff822da66dda9db8d3255e78448754981b6e1.tar.gz
Fix detection of i386 vs. x86_64 for -pc-solaris
From #2951
Diffstat (limited to 'config.guess')
-rw-r--r--config.guess12
1 files changed, 11 insertions, 1 deletions
diff --git a/config.guess b/config.guess
index 7b24a8728c..463a03a0ba 100644
--- a/config.guess
+++ b/config.guess
@@ -337,7 +337,17 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \
+ # bash is not able to generate correct code here
+ # i.e. it leaves \ns there
+ # so we need to use /usr/bin/echo to get what we want
+ # note that if config.guess is run by /bin/sh then
+ # this works as expected even without /usr/bin/echo
+ # but the problem is that configure is clever enough
+ # to find bash installed and then runs config.guess
+ # by bash instead of by /bin/sh
+ # It seems that using /usr/bin/echo here is the most
+ # portable Solaris fix
+ if /usr/bin/echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then