diff options
author | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2009-08-05 01:32:02 -0400 |
---|---|---|
committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2010-06-18 07:21:18 -0400 |
commit | ab1e1edff3fa584536a072495d4bcff400339f40 (patch) | |
tree | 4f72c92e6191ada25a936f1ecc2bf76d891c46cb | |
parent | 4b42d5aff4c929ccb7bb7c752d2b25149cee79a5 (diff) | |
download | monitoring-plugins-ab1e1edff3fa584536a072495d4bcff400339f40.tar.gz |
Attempt at detecting 64bit compilation flags between gcc, old, and new versions of sun cc
Gcc accepts -m64, just as newer version of Suncc.
Older Suncc required -xarch=v9 (SPARC) or -xarch=amd64 (x86-64) to generate 64bit code.
-rw-r--r-- | configure.in | 65 |
1 files changed, 62 insertions, 3 deletions
diff --git a/configure.in b/configure.in index d02d7f85..61d0e951 100644 --- a/configure.in +++ b/configure.in @@ -585,14 +585,73 @@ elif test "$ac_cv_uname_s" = "SunOS"; then ac_cv_ps_cols=9 AC_MSG_RESULT([using nagios-plugins internal ps command (pst3) for solaris]) if test `isainfo -b` = 64 ; then - PST3CFLAGS="-m64" - AC_SUBST(PST3CFLAGS) - AC_MSG_NOTICE([using 64bit pst3]) + pst3_use_64bit=1 + AC_MSG_NOTICE([using 64bit pst3]) else AC_MSG_NOTICE([using 32bit pst3]) fi EXTRAS_ROOT="$EXTRAS_ROOT pst3" + if test "$pst3_use_64bit" = 1; then + dnl Test if we can actually compile code in 64bit + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -m64" + pst3_64bit_working=0 + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-m64" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -m64 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -m64]) + ]) + CFLAGS=$old_cflags + if test "$pst3_64bit_working" = 0; then + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -xarch=v9" + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-xarch=v9" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -xarch=v9 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -xarch=v9]) + ]) + CFLAGS=$old_cflags + fi + if test "$pst3_64bit_working" = 0; then + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -xarch=amd64" + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-xarch=amd64" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -xarch=amd64 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -xarch=amd64]) + ]) + CFLAGS=$old_cflags + fi + if test "$pst3_64bit_working" = 0; then + AC_MSG_ERROR([I don't know how to build a 64-bit object!]) + fi + fi + dnl Removing this for the moment - Ton dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation dnl Limitation that command name is not available |