I recently noticed if you want to compile PHP using the suncc compiler,
there are no useful default flags set by configure. Therefore if there
are no objections I want to commit the following patch that introduces
usefull cflags (actually those used by php distributed by sun) for the
suncc compiler if the user didn't provide his own cflags. In addition it
makes sure that --enable-debug works for suncc. I tested the patch with
sunstudio 11 and sunstudio 12 c compilers. The patch is for 5.3 so I
won't commit this to 5.2.
David
Set default flags for suncc compiler
Index: php53/acinclude.m4
===================================================================
--- php53.orig/acinclude.m4 2008-09-08 12:24:25.000000000 +0200
+++ php53/acinclude.m4 2008-11-05 01:22:40.403777976 +0100
@@ -2766,6 +2766,22 @@
)
])
+dnl PHP_DETECT_SUNCC
+dnl Detect if the systems default compiler is suncc.
+dnl We also set some usefull CFLAGS if the user didn't set any
+AC_DEFUN([PHP_DETECT_SUNCC],[
+ SUNCC="no"
+ AC_MSG_CHECKING([for suncc])
+ AC_EGREP_CPP([^__SUNPRO_C], [__SUNPRO_C],
+ SUNCC="no"
+ AC_MSG_RESULT([no]),
+ SUNCC="yes"
+ test -n "$auto_cflags" && CFLAGS="-fsimple=2 -xnorunpath -xO4
-xalias_level=basic -xipo=1 -xlibmopt -xprefetch_level=1 -xprefetch=auto
-xstrconst -xtarget=native -zlazyload"
+ GCC=""
+ AC_MSG_RESULT([yes])
+ )
+])
+
dnl
dnl PHP_CRYPT_R_STYLE
dnl detect the style of crypt_r() is any is available
Index: php53/configure.in
===================================================================
--- php53.orig/configure.in 2008-09-01 22:51:57.000000000 +0200
+++ php53/configure.in 2008-11-05 01:22:40.404329417 +0100
@@ -142,6 +142,7 @@
AC_PROG_CC
PHP_DETECT_ICC
+PHP_DETECT_SUNCC
AC_PROG_CC_C_O
dnl Change to AC_PROG_CC_STDC when we start requiring a post-2.13 autoconf
dnl AC_PROG_CC_STDC
@@ -214,6 +215,10 @@
CFLAGS="$CFLAGS -ieee"
fi
;;
+ sparc*)
+ if test "$SUNCC" = "yes"; then
+ CFLAGS="$CFLAGS -xmemalign=8s"
+ fi
esac
dnl activate some gcc specific optimizations for gcc >= 4
@@ -788,6 +793,15 @@
CFLAGS="$CFLAGS -O0"
CXXFLAGS="$CXXFLAGS -O0"
fi
+ if test "$SUNCC" = "yes"; then
+ if -n "$auto_cflags"; then
+ CFLAGS="-g"
+ CXXFLAGS="-g"
+ else
+ CFLAGS="$CFLAGS -g"
+ CXXFLAGS="$CFLAGS -g"
+ fi
+ fi
else
PHP_DEBUG=0
ZEND_DEBUG=no
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php