ICU-7577 Fix solaris studio 64 bit option detection.

X-SVN-Rev: 29931
This commit is contained in:
Michael Ow 2011-04-29 18:58:48 +00:00
parent 8322425f05
commit aa67d1675a
2 changed files with 26 additions and 12 deletions

View file

@ -253,8 +253,8 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS,
# 1. try -m64
CFLAGS="${CFLAGS} -m64"
CXXFLAGS="${CXXFLAGS} -m64"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==64)?0:1;}])],
CAN_BUILD_64=yes, CAN_BUILD_64=no)
AC_RUN_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==64)?0:1;}])],
CAN_BUILD_64=yes, CAN_BUILD_64=no, CAN_BUILD_64=unknown)
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
@ -276,14 +276,15 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS,
# 1. try -m64
CFLAGS="${CFLAGS} -m64"
CXXFLAGS="${CXXFLAGS} -m64"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==64)?0:1;}])],
CAN_BUILD_64=yes, CAN_BUILD_64=no)
AC_RUN_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==64)?0:1;}])],
CAN_BUILD_64=yes, CAN_BUILD_64=no, CAN_BUILD_64=unknown)
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
CXXFLAGS="${CXXFLAGS_OLD}"
# 2. try the older compiler option
## TODO: cross compile problem
AMD64=`isainfo -n 2>&1 | grep amd64`
SOL64=`$CXX -xtarget=generic64 2>&1 && $CC -xtarget=generic64 2>&1 | grep -v usage:`
if test -z "$SOL64" && test -n "$AMD64"; then
CFLAGS="${CFLAGS} -xtarget=generic64"
@ -358,7 +359,7 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS,
AC_MSG_RESULT($CAN_BUILD_64)
if test "$CAN_BUILD_64" = yes; then
AC_MSG_CHECKING([whether runnable 64-bit binaries are being built ])
AC_TRY_RUN(int main(void) {return (sizeof(void*)*8==64)?0:1;},
AC_RUN_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==64)?0:1;}])],
BITS_RUN_64=yes, BITS_RUN_64=no, BITS_RUN_64=unknown)
AC_MSG_RESULT($BITS_RUN_64);
@ -385,7 +386,7 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS,
AC_MSG_RESULT($CAN_BUILD_32)
if test "$CAN_BUILD_32" = yes; then
AC_MSG_CHECKING([whether runnable 32-bit binaries are being built ])
AC_TRY_RUN(int main(void) {return (sizeof(void*)*8==32)?0:1;},
AC_RUN_IFELSE([AC_LANG_SOURCE([int main(void) {return (sizeof(void*)*8==32)?0:1;}])],
BITS_RUN_32=yes, BITS_RUN_32=no, BITS_RUN_32=unknown)
AC_MSG_RESULT($BITS_RUN_32);
CFLAGS_32="${CFLAGS}"

View file

@ -4791,16 +4791,22 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# 1. try -m64
CFLAGS="${CFLAGS} -m64"
CXXFLAGS="${CXXFLAGS} -m64"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
if test "$cross_compiling" = yes; then :
CAN_BUILD_64=unknown
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(void) {return (sizeof(void*)*8==64)?0:1;}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_run "$LINENO"; then :
CAN_BUILD_64=yes
else
CAN_BUILD_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
@ -4822,22 +4828,29 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# 1. try -m64
CFLAGS="${CFLAGS} -m64"
CXXFLAGS="${CXXFLAGS} -m64"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
if test "$cross_compiling" = yes; then :
CAN_BUILD_64=unknown
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(void) {return (sizeof(void*)*8==64)?0:1;}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_run "$LINENO"; then :
CAN_BUILD_64=yes
else
CAN_BUILD_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$CAN_BUILD_64" != yes; then
# Nope. back out changes.
CFLAGS="${CFLAGS_OLD}"
CXXFLAGS="${CXXFLAGS_OLD}"
# 2. try the older compiler option
## TODO: cross compile problem
AMD64=`isainfo -n 2>&1 | grep amd64`
SOL64=`$CXX -xtarget=generic64 2>&1 && $CC -xtarget=generic64 2>&1 | grep -v usage:`
if test -z "$SOL64" && test -n "$AMD64"; then
CFLAGS="${CFLAGS} -xtarget=generic64"