]> granicus.if.org Git - php/commitdiff
support shared build on unix
authorkrakjoe <joe.watkins@live.co.uk>
Sat, 23 Nov 2013 17:56:16 +0000 (17:56 +0000)
committerkrakjoe <joe.watkins@live.co.uk>
Sat, 23 Nov 2013 17:56:16 +0000 (17:56 +0000)
Makefile.frag
config.m4
phpdbg.h

index 8789bc782c7c80e08bc5bab51f3850c21bb3083a..714aacc84922ece6ebec89da3bb61cf5ce86fa8c 100644 (file)
@@ -1,5 +1,10 @@
 phpdbg: $(BUILD_BINARY)
 
+phpdbg-shared: $(BUILD_SHARED)
+
+$(BUILD_SHARED): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
+       $(BUILD_PHPDBG_SHARED)
+
 $(BUILD_BINARY): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
        $(BUILD_PHPDBG)
 
index ee80daa25c4863e7cb6f9c5db373d4975d32852b..c6a25cf9bb2ce83497969cfc6c2554d4ed9e8bba 100644 (file)
--- a/config.m4
+++ b/config.m4
@@ -27,6 +27,8 @@ if test "$PHP_PHPDBG" != "no"; then
   PHP_SELECT_SAPI(phpdbg, program, $PHP_PHPDBG_FILES, $PHP_PHPDBG_CFLAGS, [$(SAPI_PHPDBG_PATH)])
 
   BUILD_BINARY="sapi/phpdbg/phpdbg"
+  BUILD_SHARED="sapi/phpdbg/libphpdbg.la"
+  
   BUILD_PHPDBG="\$(LIBTOOL) --mode=link \
         \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
                 \$(PHP_GLOBAL_OBJS) \
@@ -36,9 +38,22 @@ if test "$PHP_PHPDBG" != "no"; then
                 \$(PHPDBG_EXTRA_LIBS) \
                 \$(ZEND_EXTRA_LIBS) \
          -o \$(BUILD_BINARY)"
+  
+  BUILD_PHPDBG_SHARED="\$(LIBTOOL) --mode=link \
+        \$(CC) -shared -Wl,-soname,libphpdbg.so -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
+                \$(PHP_GLOBAL_OBJS) \
+                \$(PHP_BINARY_OBJS) \
+                \$(PHP_PHPDBG_OBJS) \
+                \$(EXTRA_LIBS) \
+                \$(PHPDBG_EXTRA_LIBS) \
+                \$(ZEND_EXTRA_LIBS) \
+                \-DPHPDBG_SHARED \
+         -o \$(BUILD_SHARED)"
 
   PHP_SUBST(BUILD_BINARY)
+  PHP_SUBST(BUILD_SHARED)
   PHP_SUBST(BUILD_PHPDBG)
+  PHP_SUBST(BUILD_PHPDBG_SHARED)
 fi
 
 dnl ## Local Variables:
index 39918ca12679ffd221cdde1708d66738c06ed3fc..8a1b814d500a9d65158788763173b5a0553d9a4b 100644 (file)
--- a/phpdbg.h
+++ b/phpdbg.h
 #ifndef PHPDBG_H
 #define PHPDBG_H
 
+#ifdef PHP_WIN32
+# define PHPDBG_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+# define PHPDBG_API __attribute__ ((visibility("default")))
+#else
+# define PHPDBG_API
+#endif
+
 #include "php.h"
 #include "php_globals.h"
 #include "php_variables.h"