| OLD | NEW |
| (Empty) |
| 1 dnl Check for the presence of the Sun Studio compiler. | |
| 2 dnl If Sun Studio compiler is found, set appropriate flags. | |
| 3 dnl Additionally, Sun Studio doesn't default to 64-bit by itself, | |
| 4 dnl nor does it automatically look in standard Solaris places for | |
| 5 dnl 64-bit libs, so we must add those options and paths to the search | |
| 6 dnl paths. | |
| 7 | |
| 8 dnl TODO(kenton): This is pretty hacky. It sets CXXFLAGS, which the autoconf | |
| 9 dnl docs say should never be overridden except by the user. It also isn't | |
| 10 dnl cross-compile safe. We should fix these problems, but since I don't have | |
| 11 dnl Sun CC at my disposal for testing, someone else will have to do it. | |
| 12 | |
| 13 AC_DEFUN([ACX_CHECK_SUNCC],[ | |
| 14 | |
| 15 AC_LANG_PUSH([C++]) | |
| 16 AC_CHECK_DECL([__SUNPRO_CC], [SUNCC="yes"], [SUNCC="no"]) | |
| 17 AC_LANG_POP() | |
| 18 | |
| 19 | |
| 20 AC_ARG_ENABLE([64bit-solaris], | |
| 21 [AS_HELP_STRING([--disable-64bit-solaris], | |
| 22 [Build 64 bit binary on Solaris @<:@default=on@:>@])], | |
| 23 [ac_enable_64bit="$enableval"], | |
| 24 [ac_enable_64bit="yes"]) | |
| 25 | |
| 26 AS_IF([test "$SUNCC" = "yes" -a "x${ac_cv_env_CXXFLAGS_set}" = "x"],[ | |
| 27 dnl Sun Studio has a crashing bug with -xO4 in some cases. Keep this | |
| 28 dnl at -xO3 until a proper test to detect those crashes can be done. | |
| 29 CXXFLAGS="-g0 -xO3 -xlibmil -xdepend -xbuiltin -mt -compat=5 -library=stlpor
t4 -library=Crun -template=no%extdef ${CXXFLAGS}" | |
| 30 ]) | |
| 31 | |
| 32 case $host_os in | |
| 33 *solaris*) | |
| 34 AC_CHECK_PROGS(ISAINFO, [isainfo], [no]) | |
| 35 AS_IF([test "x$ISAINFO" != "xno"], | |
| 36 [isainfo_b=`${ISAINFO} -b`], | |
| 37 [isainfo_b="x"]) | |
| 38 | |
| 39 AS_IF([test "$isainfo_b" != "x"],[ | |
| 40 | |
| 41 isainfo_k=`${ISAINFO} -k` | |
| 42 | |
| 43 AS_IF([test "x$ac_enable_64bit" = "xyes"],[ | |
| 44 | |
| 45 AC_DEFINE([SOLARIS_64BIT_ENABLED], [1], [64bit enabled]) | |
| 46 AS_IF([test "x$libdir" = "x\${exec_prefix}/lib"],[ | |
| 47 dnl The user hasn't overridden the default libdir, so we'll | |
| 48 dnl the dir suffix to match solaris 32/64-bit policy | |
| 49 libdir="${libdir}/${isainfo_k}" | |
| 50 ]) | |
| 51 | |
| 52 dnl This should just be set in CPPFLAGS and in LDFLAGS, but libtool | |
| 53 dnl does the wrong thing if you don't put it into CXXFLAGS. sigh. | |
| 54 dnl (It also needs it in CFLAGS, or it does a different wrong thing!) | |
| 55 AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],[ | |
| 56 CXXFLAGS="${CXXFLAGS} -m64" | |
| 57 ac_cv_env_CXXFLAGS_set=set | |
| 58 ac_cv_env_CXXFLAGS_value='-m64' | |
| 59 ]) | |
| 60 | |
| 61 AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],[ | |
| 62 CFLAGS="${CFLAGS} -m64" | |
| 63 ac_cv_env_CFLAGS_set=set | |
| 64 ac_cv_env_CFLAGS_value='-m64' | |
| 65 ]) | |
| 66 | |
| 67 AS_IF([test "$target_cpu" = "sparc" -a "x$SUNCC" = "xyes" ],[ | |
| 68 CXXFLAGS="-xmemalign=8s ${CXXFLAGS}" | |
| 69 ]) | |
| 70 ]) | |
| 71 ]) | |
| 72 ;; | |
| 73 esac | |
| 74 | |
| 75 ]) | |
| OLD | NEW |