dmitry          Wed Jan 30 09:56:22 2008 UTC

  Modified files:              
    /php-src    configure.in 
    /TSRM       TSRM.h tsrm_virtual_cwd.h 
    /ZendEngine2        acconfig.h 
    /php-src/ext/bz2    php_bz2.h 
    /php-src/ext/dom    xml_common.h 
    /php-src/ext/gd     php_gd.h 
    /php-src/ext/hash   php_hash.h 
    /php-src/ext/iconv  php_iconv.h 
    /php-src/ext/libxml php_libxml.h 
    /php-src/ext/mbstring       mbstring.h 
    /php-src/ext/mysqli php_mysqli_structs.h 
    /php-src/ext/pdo    php_pdo.h 
    /php-src/ext/pgsql  php_pgsql.h 
    /php-src/ext/skeleton       php_skeleton.h 
    /php-src/ext/spl    php_spl.h 
    /php-src/ext/unicode        php_unicode.h 
    /php-src/ext/zip/lib        zip.h 
    /php-src/main       SAPI.h php.h 
    /php-src/sapi/apache2filter php_apache.h 
    /php-src/sapi/apache2handler        php_apache.h 
    /php-src/sapi/apache_hooks  mod_php5.h 
    /php-src/sapi/pi3web        pi3web_sapi.h 
  Log:
  Imporoved PHP binary size and startup speed with GCC4 visibility control 
(Nuno)
  
  
http://cvs.php.net/viewvc.cgi/php-src/configure.in?r1=1.643&r2=1.644&diff_format=u
Index: php-src/configure.in
diff -u php-src/configure.in:1.643 php-src/configure.in:1.644
--- php-src/configure.in:1.643  Tue Jan 22 09:29:29 2008
+++ php-src/configure.in        Wed Jan 30 09:56:21 2008
@@ -1,4 +1,4 @@
-## $Id: configure.in,v 1.643 2008/01/22 09:29:29 dmitry Exp $ -*- autoconf -*-
+## $Id: configure.in,v 1.644 2008/01/30 09:56:21 dmitry Exp $ -*- autoconf -*-
 dnl ## Process this file with autoconf to produce a configure script.
 
 divert(1)
@@ -165,6 +165,14 @@
     ;;
 esac
 
+dnl activate some gcc specific optimizations for gcc >= 4
+if test "$GCC" = "yes"; then
+  GCC_MAJOR_VERSION=`$CC --version | $SED -n 
'1s/[[^0-9]]*\([[0-9]]\+\)\.[[0-9]]\+\..*/\1/;1p'`
+  if test $GCC_MAJOR_VERSION -ge 4; then
+    CFLAGS="$CFLAGS -fvisibility=hidden"
+  fi
+fi
+
 case $host_alias in
 *solaris*)
     CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
http://cvs.php.net/viewvc.cgi/TSRM/TSRM.h?r1=1.57&r2=1.58&diff_format=u
Index: TSRM/TSRM.h
diff -u TSRM/TSRM.h:1.57 TSRM/TSRM.h:1.58
--- TSRM/TSRM.h:1.57    Mon Dec 31 07:12:06 2007
+++ TSRM/TSRM.h Wed Jan 30 09:56:21 2008
@@ -22,10 +22,12 @@
 
 #ifdef TSRM_WIN32
 #      ifdef TSRM_EXPORTS
-#      define TSRM_API __declspec(dllexport)
+#              define TSRM_API __declspec(dllexport)
 #      else
-#      define TSRM_API __declspec(dllimport)
+#              define TSRM_API __declspec(dllimport)
 #      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define TSRM_API __attribute__ ((visibility("default")))
 #else
 #      define TSRM_API
 #endif
http://cvs.php.net/viewvc.cgi/TSRM/tsrm_virtual_cwd.h?r1=1.64&r2=1.65&diff_format=u
Index: TSRM/tsrm_virtual_cwd.h
diff -u TSRM/tsrm_virtual_cwd.h:1.64 TSRM/tsrm_virtual_cwd.h:1.65
--- TSRM/tsrm_virtual_cwd.h:1.64        Mon Dec 31 07:12:06 2007
+++ TSRM/tsrm_virtual_cwd.h     Wed Jan 30 09:56:21 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_virtual_cwd.h,v 1.64 2007/12/31 07:12:06 sebastian Exp $ */
+/* $Id: tsrm_virtual_cwd.h,v 1.65 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef VIRTUAL_CWD_H
 #define VIRTUAL_CWD_H
@@ -134,13 +134,15 @@
 #endif
 
 #ifdef TSRM_WIN32
-#       ifdef CWD_EXPORTS
-#       define CWD_API __declspec(dllexport)
-#       else
-#       define CWD_API __declspec(dllimport)
-#       endif
+#      ifdef CWD_EXPORTS
+#              define CWD_API __declspec(dllexport)
+#      else
+#              define CWD_API __declspec(dllimport)
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define CWD_API __attribute__ ((visibility("default")))
 #else
-#define CWD_API
+#      define CWD_API
 #endif
 
 #ifdef TSRM_WIN32
http://cvs.php.net/viewvc.cgi/ZendEngine2/acconfig.h?r1=1.43&r2=1.44&diff_format=u
Index: ZendEngine2/acconfig.h
diff -u ZendEngine2/acconfig.h:1.43 ZendEngine2/acconfig.h:1.44
--- ZendEngine2/acconfig.h:1.43 Mon Dec 31 07:12:06 2007
+++ ZendEngine2/acconfig.h      Wed Jan 30 09:56:21 2008
@@ -17,10 +17,16 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: acconfig.h,v 1.43 2007/12/31 07:12:06 sebastian Exp $ */
+/* $Id: acconfig.h,v 1.44 2008/01/30 09:56:21 dmitry Exp $ */
+
+#if defined(__GNUC__) && __GNUC__ >= 4
+# define ZEND_API __attribute__ ((visibility("default")))
+# define ZEND_DLEXPORT __attribute__ ((visibility("default")))
+#else
+# define ZEND_API
+# define ZEND_DLEXPORT
+#endif
 
-#define ZEND_API
-#define ZEND_DLEXPORT
 #define ZEND_DLIMPORT
 
 @TOP@
http://cvs.php.net/viewvc.cgi/php-src/ext/bz2/php_bz2.h?r1=1.13&r2=1.14&diff_format=u
Index: php-src/ext/bz2/php_bz2.h
diff -u php-src/ext/bz2/php_bz2.h:1.13 php-src/ext/bz2/php_bz2.h:1.14
--- php-src/ext/bz2/php_bz2.h:1.13      Mon Dec 31 07:12:07 2007
+++ php-src/ext/bz2/php_bz2.h   Wed Jan 30 09:56:21 2008
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_bz2.h,v 1.13 2007/12/31 07:12:07 sebastian Exp $ */
+/* $Id: php_bz2.h,v 1.14 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef PHP_BZ2_H
 #define PHP_BZ2_H
@@ -34,15 +34,17 @@
 #endif
 
 #ifdef PHP_WIN32
-# ifdef PHP_BZ2_EXPORTS
-#  define PHP_BZ2_API __declspec(dllexport)
-# elif defined(COMPILE_DL_BZ2)
-#  define PHP_BZ2_API __declspec(dllimport)
-# else
-#  define PHP_BZ2_API /* nothing special */
-# endif
+#      ifdef PHP_BZ2_EXPORTS
+#              define PHP_BZ2_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_BZ2)
+#              define PHP_BZ2_API __declspec(dllimport)
+#      else
+#              define PHP_BZ2_API /* nothing special */
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_BZ2_API __attribute__ ((visibility("default")))
 #else
-# define PHP_BZ2_API
+#      define PHP_BZ2_API
 #endif
 
 PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, char 
*path, char *mode, int options, char **opened_path, php_stream_context *context 
STREAMS_DC TSRMLS_DC);
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/xml_common.h?r1=1.28&r2=1.29&diff_format=u
Index: php-src/ext/dom/xml_common.h
diff -u php-src/ext/dom/xml_common.h:1.28 php-src/ext/dom/xml_common.h:1.29
--- php-src/ext/dom/xml_common.h:1.28   Mon Dec 31 07:12:09 2007
+++ php-src/ext/dom/xml_common.h        Wed Jan 30 09:56:21 2008
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xml_common.h,v 1.28 2007/12/31 07:12:09 sebastian Exp $ */
+/* $Id: xml_common.h,v 1.29 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef PHP_XML_COMMON_H
 #define PHP_XML_COMMON_H
@@ -35,14 +35,19 @@
 } dom_object;
 
 #ifdef PHP_WIN32
-#ifdef PHPAPI
-#undef PHPAPI
-#endif
-#ifdef DOM_EXPORTS
-#define PHPAPI __declspec(dllexport)
-#else
-#define PHPAPI __declspec(dllimport)
-#endif /* DOM_EXPORTS */
+#      ifdef PHPAPI
+#              undef PHPAPI
+#      endif
+#      ifdef DOM_EXPORTS
+#              define PHPAPI __declspec(dllexport)
+#      else
+#              define PHPAPI __declspec(dllimport)
+#      endif /* DOM_EXPORTS */
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      ifdef PHPAPI
+#              undef PHPAPI
+#      endif
+#      define PHPAPI __attribute__ ((visibility("default")))
 #endif /* PHP_WIN32 */
 
 #define PHP_DOM_EXPORT PHPAPI
http://cvs.php.net/viewvc.cgi/php-src/ext/gd/php_gd.h?r1=1.75&r2=1.76&diff_format=u
Index: php-src/ext/gd/php_gd.h
diff -u php-src/ext/gd/php_gd.h:1.75 php-src/ext/gd/php_gd.h:1.76
--- php-src/ext/gd/php_gd.h:1.75        Mon Dec 31 07:12:09 2007
+++ php-src/ext/gd/php_gd.h     Wed Jan 30 09:56:21 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_gd.h,v 1.75 2007/12/31 07:12:09 sebastian Exp $ */
+/* $Id: php_gd.h,v 1.76 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef PHP_GD_H
 #define PHP_GD_H
@@ -49,9 +49,11 @@
 #define PHP_GDIMG_TYPE_GD2PART 10
 
 #ifdef PHP_WIN32
-#define PHP_GD_API __declspec(dllexport)
+#      define PHP_GD_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_GD_API __attribute__ ((visibility("default")))
 #else
-#define PHP_GD_API
+#      define PHP_GD_API
 #endif
 
 PHPAPI extern const char php_sig_gif[3];
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/php_hash.h?r1=1.24&r2=1.25&diff_format=u
Index: php-src/ext/hash/php_hash.h
diff -u php-src/ext/hash/php_hash.h:1.24 php-src/ext/hash/php_hash.h:1.25
--- php-src/ext/hash/php_hash.h:1.24    Mon Dec 31 07:12:10 2007
+++ php-src/ext/hash/php_hash.h Wed Jan 30 09:56:21 2008
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash.h,v 1.24 2007/12/31 07:12:10 sebastian Exp $ */
+/* $Id: php_hash.h,v 1.25 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef PHP_HASH_H
 #define PHP_HASH_H
@@ -104,9 +104,11 @@
 #define phpext_hash_ptr &hash_module_entry
 
 #ifdef PHP_WIN32
-#define PHP_HASH_API __declspec(dllexport)
+#      define PHP_HASH_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_HASH_API __attribute__ ((visibility("default")))
 #else
-#define PHP_HASH_API
+#      define PHP_HASH_API
 #endif
 
 #ifdef ZTS
http://cvs.php.net/viewvc.cgi/php-src/ext/iconv/php_iconv.h?r1=1.35&r2=1.36&diff_format=u
Index: php-src/ext/iconv/php_iconv.h
diff -u php-src/ext/iconv/php_iconv.h:1.35 php-src/ext/iconv/php_iconv.h:1.36
--- php-src/ext/iconv/php_iconv.h:1.35  Mon Dec 31 07:12:10 2007
+++ php-src/ext/iconv/php_iconv.h       Wed Jan 30 09:56:21 2008
@@ -17,19 +17,21 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Revision: 1.35 $ */
+/* $Revision: 1.36 $ */
 
 #ifndef PHP_ICONV_H
 #define PHP_ICONV_H
 
 #ifdef PHP_WIN32
-#ifdef PHP_ICONV_EXPORTS
-#define PHP_ICONV_API __declspec(dllexport)
+#      ifdef PHP_ICONV_EXPORTS
+#              define PHP_ICONV_API __declspec(dllexport)
+#      else
+#              define PHP_ICONV_API __declspec(dllimport)
+#      endif 
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_ICONV_API __attribute__ ((visibility("default")))
 #else
-#define PHP_ICONV_API __declspec(dllimport)
-#endif 
-#else
-#define PHP_ICONV_API
+#      define PHP_ICONV_API
 #endif
 
 #ifdef PHP_ATOM_INC
http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/php_libxml.h?r1=1.28&r2=1.29&diff_format=u
Index: php-src/ext/libxml/php_libxml.h
diff -u php-src/ext/libxml/php_libxml.h:1.28 
php-src/ext/libxml/php_libxml.h:1.29
--- php-src/ext/libxml/php_libxml.h:1.28        Mon Dec 31 07:12:11 2007
+++ php-src/ext/libxml/php_libxml.h     Wed Jan 30 09:56:21 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_libxml.h,v 1.28 2007/12/31 07:12:11 sebastian Exp $ */
+/* $Id: php_libxml.h,v 1.29 2008/01/30 09:56:21 dmitry Exp $ */
 
 #ifndef PHP_LIBXML_H
 #define PHP_LIBXML_H
@@ -27,9 +27,11 @@
 #define libxml_module_ptr &libxml_module_entry
 
 #ifdef PHP_WIN32
-#define PHP_LIBXML_API __declspec(dllexport)
+#      define PHP_LIBXML_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_LIBXML_API __attribute__ ((visibility("default")))
 #else
-#define PHP_LIBXML_API
+#      define PHP_LIBXML_API
 #endif
 
 #include "ext/standard/php_smart_str.h"
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.h?r1=1.78&r2=1.79&diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.78 
php-src/ext/mbstring/mbstring.h:1.79
--- php-src/ext/mbstring/mbstring.h:1.78        Mon Dec 31 07:12:11 2007
+++ php-src/ext/mbstring/mbstring.h     Wed Jan 30 09:56:21 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.h,v 1.78 2007/12/31 07:12:11 sebastian Exp $ */
+/* $Id: mbstring.h,v 1.79 2008/01/30 09:56:21 dmitry Exp $ */
 
 /*
  * PHP 4 Multibyte String module "mbstring" (currently only for Japanese)
@@ -52,17 +52,20 @@
 #endif
 
 #ifdef PHP_WIN32
-# undef MBSTRING_API
-# ifdef MBSTRING_EXPORTS
-#  define MBSTRING_API __declspec(dllexport)
-# elif defined(COMPILE_DL_MBSTRING)
-#  define MBSTRING_API __declspec(dllimport)
-# else
-#  define MBSTRING_API /* nothing special */
-# endif
+#      undef MBSTRING_API
+#      ifdef MBSTRING_EXPORTS
+#              define MBSTRING_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_MBSTRING)
+#              define MBSTRING_API __declspec(dllimport)
+#      else
+#              define MBSTRING_API /* nothing special */
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      undef MBSTRING_API
+#      define MBSTRING_API __attribute__ ((visibility("default")))
 #else
-# undef MBSTRING_API
-# define MBSTRING_API /* nothing special */
+#      undef MBSTRING_API
+#      define MBSTRING_API /* nothing special */
 #endif
 
 
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/php_mysqli_structs.h?r1=1.9&r2=1.10&diff_format=u
Index: php-src/ext/mysqli/php_mysqli_structs.h
diff -u php-src/ext/mysqli/php_mysqli_structs.h:1.9 
php-src/ext/mysqli/php_mysqli_structs.h:1.10
--- php-src/ext/mysqli/php_mysqli_structs.h:1.9 Mon Jan 28 18:27:49 2008
+++ php-src/ext/mysqli/php_mysqli_structs.h     Wed Jan 30 09:56:22 2008
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: php_mysqli_structs.h,v 1.9 2008/01/28 18:27:49 andrey Exp $ 
+  $Id: php_mysqli_structs.h,v 1.10 2008/01/30 09:56:22 dmitry Exp $ 
 */
 
 #ifndef PHP_MYSQLI_STRUCTS_H
@@ -157,7 +157,11 @@
 #define L64(x) x##i64
 typedef __int64 my_longlong;
 #else
-#define PHP_MYSQLI_API
+# if defined(__GNUC__) && __GNUC__ >= 4
+#  define PHP_MYSQLI_API __attribute__ ((visibility("default")))
+# else
+#  define PHP_MYSQLI_API
+# endif
 #define MYSQLI_LLU_SPEC "%llu"
 #define MYSQLI_LL_SPEC "%lld"
 #define L64(x) x##LL
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/php_pdo.h?r1=1.16&r2=1.17&diff_format=u
Index: php-src/ext/pdo/php_pdo.h
diff -u php-src/ext/pdo/php_pdo.h:1.16 php-src/ext/pdo/php_pdo.h:1.17
--- php-src/ext/pdo/php_pdo.h:1.16      Mon Dec 31 07:12:13 2007
+++ php-src/ext/pdo/php_pdo.h   Wed Jan 30 09:56:22 2008
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo.h,v 1.16 2007/12/31 07:12:13 sebastian Exp $ */
+/* $Id: php_pdo.h,v 1.17 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef PHP_PDO_H
 #define PHP_PDO_H
@@ -31,15 +31,17 @@
 #define phpext_pdo_ptr &pdo_module_entry
 
 #ifdef PHP_WIN32
-# if defined(PDO_EXPORTS) || (!defined(COMPILE_DL_PDO))
-#  define PDO_API __declspec(dllexport)
-# elif defined(COMPILE_DL_PDO)
-#  define PDO_API __declspec(dllimport)
-# else
-#  define PDO_API /* nothing special */
-# endif
+#      if defined(PDO_EXPORTS) || (!defined(COMPILE_DL_PDO))
+#              define PDO_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_PDO)
+#              define PDO_API __declspec(dllimport)
+#      else
+#              define PDO_API /* nothing special */
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PDO_API __attribute__ ((visibility("default")))
 #else
-# define PDO_API /* nothing special */
+#      define PDO_API /* nothing special */
 #endif
 
 #ifdef ZTS
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/php_pgsql.h?r1=1.77&r2=1.78&diff_format=u
Index: php-src/ext/pgsql/php_pgsql.h
diff -u php-src/ext/pgsql/php_pgsql.h:1.77 php-src/ext/pgsql/php_pgsql.h:1.78
--- php-src/ext/pgsql/php_pgsql.h:1.77  Mon Dec 31 07:12:13 2007
+++ php-src/ext/pgsql/php_pgsql.h       Wed Jan 30 09:56:22 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pgsql.h,v 1.77 2007/12/31 07:12:13 sebastian Exp $ */
+/* $Id: php_pgsql.h,v 1.78 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef PHP_PGSQL_H
 #define PHP_PGSQL_H
@@ -42,7 +42,11 @@
 #endif
 #else
 #include <libpq/libpq-fs.h>
-#define PHP_PGSQL_API /* nothing special */
+# if defined(__GNUC__) && __GNUC__ >= 4
+#  define PHP_PGSQL_API __attribute__ ((visibility("default")))
+# else
+#  define PHP_PGSQL_API
+# endif
 #endif
 
 #ifdef HAVE_PG_CONFIG_H
http://cvs.php.net/viewvc.cgi/php-src/ext/skeleton/php_skeleton.h?r1=1.22&r2=1.23&diff_format=u
Index: php-src/ext/skeleton/php_skeleton.h
diff -u php-src/ext/skeleton/php_skeleton.h:1.22 
php-src/ext/skeleton/php_skeleton.h:1.23
--- php-src/ext/skeleton/php_skeleton.h:1.22    Mon Feb  2 22:41:56 2004
+++ php-src/ext/skeleton/php_skeleton.h Wed Jan 30 09:56:22 2008
@@ -7,9 +7,11 @@
 #define phpext_extname_ptr &extname_module_entry
 
 #ifdef PHP_WIN32
-#define PHP_EXTNAME_API __declspec(dllexport)
+#      define PHP_EXTNAME_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_EXTNAME_API __attribute__ ((visibility("default")))
 #else
-#define PHP_EXTNAME_API
+#      define PHP_EXTNAME_API
 #endif
 
 #ifdef ZTS
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/php_spl.h?r1=1.26&r2=1.27&diff_format=u
Index: php-src/ext/spl/php_spl.h
diff -u php-src/ext/spl/php_spl.h:1.26 php-src/ext/spl/php_spl.h:1.27
--- php-src/ext/spl/php_spl.h:1.26      Sun Jan 27 15:03:55 2008
+++ php-src/ext/spl/php_spl.h   Wed Jan 30 09:56:22 2008
@@ -32,15 +32,17 @@
 #define phpext_spl_ptr &spl_module_entry
 
 #ifdef PHP_WIN32
-# ifdef SPL_EXPORTS
-#  define SPL_API __declspec(dllexport)
-# elif defined(COMPILE_DL_SPL)
-#  define SPL_API __declspec(dllimport)
-# else
-#  define SPL_API /* nothing */
-# endif
+#      ifdef SPL_EXPORTS
+#              define SPL_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_SPL)
+#              define SPL_API __declspec(dllimport)
+#      else
+#              define SPL_API /* nothing */
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define SPL_API __attribute__ ((visibility("default")))
 #else
-# define SPL_API
+#      define SPL_API
 #endif
 
 #if defined(PHP_WIN32) && !defined(COMPILE_DL_SPL)
http://cvs.php.net/viewvc.cgi/php-src/ext/unicode/php_unicode.h?r1=1.15&r2=1.16&diff_format=u
Index: php-src/ext/unicode/php_unicode.h
diff -u php-src/ext/unicode/php_unicode.h:1.15 
php-src/ext/unicode/php_unicode.h:1.16
--- php-src/ext/unicode/php_unicode.h:1.15      Mon Jan  1 09:29:33 2007
+++ php-src/ext/unicode/php_unicode.h   Wed Jan 30 09:56:22 2008
@@ -14,7 +14,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_unicode.h,v 1.15 2007/01/01 09:29:33 sebastian Exp $ */ 
+/* $Id: php_unicode.h,v 1.16 2008/01/30 09:56:22 dmitry Exp $ */ 
 
 #ifndef PHP_UNICODE_H
 #define PHP_UNICODE_H
@@ -37,9 +37,11 @@
 #define phpext_unicode_ptr &unicode_module_entry
 
 #ifdef PHP_WIN32
-#define PHP_UNICODE_API __declspec(dllexport)
+#      define PHP_UNICODE_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHP_UNICODE_API __attribute__ ((visibility("default")))
 #else
-#define PHP_UNICODE_API
+#      define PHP_UNICODE_API
 #endif
 
 PHP_MINIT_FUNCTION(unicode);
http://cvs.php.net/viewvc.cgi/php-src/ext/zip/lib/zip.h?r1=1.9&r2=1.10&diff_format=u
Index: php-src/ext/zip/lib/zip.h
diff -u php-src/ext/zip/lib/zip.h:1.9 php-src/ext/zip/lib/zip.h:1.10
--- php-src/ext/zip/lib/zip.h:1.9       Mon Jan 14 03:15:50 2008
+++ php-src/ext/zip/lib/zip.h   Wed Jan 30 09:56:22 2008
@@ -41,14 +41,16 @@
 /* #defines that rename all zip_ functions and structs */
 #include "zip_alias.h"
 #ifdef PHP_WIN32
-#include "zip_win32.h"
-# ifdef PHP_ZIP_EXPORTS
-#  define PHPZIPAPI __declspec(dllexport)
-# else
-#  define PHPZIPAPI
-# endif
+#      include "zip_win32.h"
+#      ifdef PHP_ZIP_EXPORTS
+#              define PHPZIPAPI __declspec(dllexport)
+#      else
+#              define PHPZIPAPI
+#      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define PHPZIPAPI __attribute__ ((visibility("default")))
 #else
-#define PHPZIPAPI
+#      define PHPZIPAPI
 #endif
 BEGIN_EXTERN_C()
 #include <sys/types.h>
http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.h?r1=1.122&r2=1.123&diff_format=u
Index: php-src/main/SAPI.h
diff -u php-src/main/SAPI.h:1.122 php-src/main/SAPI.h:1.123
--- php-src/main/SAPI.h:1.122   Mon Dec 31 07:12:18 2007
+++ php-src/main/SAPI.h Wed Jan 30 09:56:22 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: SAPI.h,v 1.122 2007/12/31 07:12:18 sebastian Exp $ */
+/* $Id: SAPI.h,v 1.123 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef SAPI_H
 #define SAPI_H
@@ -35,12 +35,14 @@
 
 #ifdef PHP_WIN32
 #      ifdef SAPI_EXPORTS
-#      define SAPI_API __declspec(dllexport) 
+#              define SAPI_API __declspec(dllexport) 
 #      else
-#      define SAPI_API __declspec(dllimport) 
+#              define SAPI_API __declspec(dllimport) 
 #      endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#      define SAPI_API __attribute__ ((visibility("default")))
 #else
-#define SAPI_API
+#      define SAPI_API
 #endif
 
 #undef shutdown
http://cvs.php.net/viewvc.cgi/php-src/main/php.h?r1=1.241&r2=1.242&diff_format=u
Index: php-src/main/php.h
diff -u php-src/main/php.h:1.241 php-src/main/php.h:1.242
--- php-src/main/php.h:1.241    Mon Dec 31 07:12:18 2007
+++ php-src/main/php.h  Wed Jan 30 09:56:22 2008
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php.h,v 1.241 2007/12/31 07:12:18 sebastian Exp $ */
+/* $Id: php.h,v 1.242 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef PHP_H
 #define PHP_H
@@ -45,17 +45,22 @@
 #define PHP_DEBUG ZEND_DEBUG
 
 #ifdef PHP_WIN32
-#include "tsrm_win32.h"
-#include "win95nt.h"
+#      include "tsrm_win32.h"
+#      include "win95nt.h"
 #      ifdef PHP_EXPORTS
-#      define PHPAPI __declspec(dllexport)
+#              define PHPAPI __declspec(dllexport)
 #      else
-#      define PHPAPI __declspec(dllimport)
+#              define PHPAPI __declspec(dllimport)
 #      endif
-#define PHP_DIR_SEPARATOR '\\'
-#define PHP_EOL "\r\n"
+#      define PHP_DIR_SEPARATOR '\\'
+#      define PHP_EOL "\r\n"
 #else
-#define PHPAPI
+#      if defined(__GNUC__) && __GNUC__ >= 4
+#              define PHPAPI __attribute__ ((visibility("default")))
+#      else
+#              define PHPAPI
+#      endif
+
 #define THREAD_LS
 #define PHP_DIR_SEPARATOR '/'
 #if defined(__MacOSX__)
http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2filter/php_apache.h?r1=1.29&r2=1.30&diff_format=u
Index: php-src/sapi/apache2filter/php_apache.h
diff -u php-src/sapi/apache2filter/php_apache.h:1.29 
php-src/sapi/apache2filter/php_apache.h:1.30
--- php-src/sapi/apache2filter/php_apache.h:1.29        Mon Dec 31 07:12:19 2007
+++ php-src/sapi/apache2filter/php_apache.h     Wed Jan 30 09:56:22 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_apache.h,v 1.29 2007/12/31 07:12:19 sebastian Exp $ */
+/* $Id: php_apache.h,v 1.30 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef PHP_APACHE_H
 #define PHP_APACHE_H
@@ -65,4 +65,10 @@
 
 #define APR_ARRAY_FOREACH_CLOSE() }}
 
+/* fix for gcc4 visibility patch */
+#ifndef PHP_WIN32
+# undef AP_MODULE_DECLARE_DATA
+# define AP_MODULE_DECLARE_DATA PHPAPI
+#endif
+
 #endif /* PHP_APACHE_H */
http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2handler/php_apache.h?r1=1.13&r2=1.14&diff_format=u
Index: php-src/sapi/apache2handler/php_apache.h
diff -u php-src/sapi/apache2handler/php_apache.h:1.13 
php-src/sapi/apache2handler/php_apache.h:1.14
--- php-src/sapi/apache2handler/php_apache.h:1.13       Mon Dec 31 07:12:19 2007
+++ php-src/sapi/apache2handler/php_apache.h    Wed Jan 30 09:56:22 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_apache.h,v 1.13 2007/12/31 07:12:19 sebastian Exp $ */
+/* $Id: php_apache.h,v 1.14 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef PHP_APACHE_H
 #define PHP_APACHE_H
@@ -82,5 +82,10 @@
 #define AP2(v) (php_apache2_info.v)
 #endif
 
+/* fix for gcc4 visibility patch */
+#ifndef PHP_WIN32
+# undef AP_MODULE_DECLARE_DATA
+# define AP_MODULE_DECLARE_DATA PHPAPI
+#endif
 
 #endif /* PHP_APACHE_H */
http://cvs.php.net/viewvc.cgi/php-src/sapi/apache_hooks/mod_php5.h?r1=1.5&r2=1.6&diff_format=u
Index: php-src/sapi/apache_hooks/mod_php5.h
diff -u php-src/sapi/apache_hooks/mod_php5.h:1.5 
php-src/sapi/apache_hooks/mod_php5.h:1.6
--- php-src/sapi/apache_hooks/mod_php5.h:1.5    Mon Dec 31 07:12:19 2007
+++ php-src/sapi/apache_hooks/mod_php5.h        Wed Jan 30 09:56:22 2008
@@ -15,7 +15,7 @@
    | Author: Rasmus Lerdorf <[EMAIL PROTECTED]>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.h,v 1.5 2007/12/31 07:12:19 sebastian Exp $ */
+/* $Id: mod_php5.h,v 1.6 2008/01/30 09:56:22 dmitry Exp $ */
 
 #ifndef MOD_PHP5_H
 #define MOD_PHP5_H
@@ -71,6 +71,13 @@
 #define AP_LOGGING 10
 #define AP_CLEANUP 11
 
+
+/* fix for gcc4 visibility patch */
+#ifndef PHP_WIN32
+# undef MODULE_VAR_EXPORT
+# define MODULE_VAR_EXPORT PHPAPI
+#endif
+
 #endif                                                 /* MOD_PHP5_H */
 
 /*
http://cvs.php.net/viewvc.cgi/php-src/sapi/pi3web/pi3web_sapi.h?r1=1.7&r2=1.8&diff_format=u
Index: php-src/sapi/pi3web/pi3web_sapi.h
diff -u php-src/sapi/pi3web/pi3web_sapi.h:1.7 
php-src/sapi/pi3web/pi3web_sapi.h:1.8
--- php-src/sapi/pi3web/pi3web_sapi.h:1.7       Sun Dec  5 09:52:25 2004
+++ php-src/sapi/pi3web/pi3web_sapi.h   Wed Jan 30 09:56:22 2008
@@ -9,8 +9,12 @@
 #              define MODULE_API __declspec(dllimport) 
 #      endif
 #else
+#      if defined(__GNUC__) && __GNUC__ >= 4
+#              define MODULE_API __attribute__ ((visibility("default")))
+#      else
+#              define MODULE_API
+#      endif
 #      define far
-#      define MODULE_API
 
        typedef int BOOL;
        typedef void far *LPVOID;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to