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

Reply via email to