From 1c6e54ecdf183b471c1bc333e4cfec58ba50fe0d Mon Sep 17 00:00:00 2001 From: krakjoe Date: Sat, 23 Nov 2013 17:56:16 +0000 Subject: [PATCH] support shared build on unix --- Makefile.frag | 5 +++++ config.m4 | 15 +++++++++++++++ phpdbg.h | 8 ++++++++ 3 files changed, 28 insertions(+) diff --git a/Makefile.frag b/Makefile.frag index 8789bc782c..714aacc849 100644 --- a/Makefile.frag +++ b/Makefile.frag @@ -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) diff --git a/config.m4 b/config.m4 index ee80daa25c..c6a25cf9bb 100644 --- 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: diff --git a/phpdbg.h b/phpdbg.h index 39918ca126..8a1b814d50 100644 --- a/phpdbg.h +++ b/phpdbg.h @@ -20,6 +20,14 @@ #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" -- 2.40.0