diff options
-rw-r--r-- | Zend/Zend.m4 | 14 | ||||
-rw-r--r-- | Zend/zend.h | 6 |
2 files changed, 19 insertions, 1 deletions
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index e1d4db9841..784a810f79 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -21,6 +21,7 @@ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_CC_C_O]) AC_REQUIRE([AC_PROG_LEX]) AC_REQUIRE([AC_HEADER_STDC]) +AC_REQUIRE([AC_PROG_LIBTOOL]) LIBZEND_BISON_CHECK @@ -54,6 +55,19 @@ AC_TYPE_SIGNAL AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl $LIBS"]) AC_CHECK_FUNC(dlopen,[AC_DEFINE(HAVE_LIBDL, 1,[ ])]) +dnl +dnl Ugly hack to check if dlsym() requires a leading underscore in symbol name. +dnl +AC_MSG_CHECKING([whether dlsym() requires a leading underscode in symbol names]) +_LT_AC_TRY_DLOPEN_SELF([ + AC_MSG_RESULT(no) +], [ + AC_MSG_RESULT(yes) + AC_DEFINE(DLSYM_NEEDS_UNDERSCORE, 1, [Define if dlsym() requires a leading underscode in symbol names. ]) +], [ + AC_MSG_RESULT(no) +], []) + dnl This is required for QNX and may be some BSD derived systems AC_CHECK_TYPE( uint, unsigned int ) AC_CHECK_TYPE( ulong, unsigned long ) diff --git a/Zend/zend.h b/Zend/zend.h index c3276f71c3..580286846f 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -71,7 +71,11 @@ # define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL) # define DL_UNLOAD dlclose -# define DL_FETCH_SYMBOL dlsym +# if defined(DLSYM_NEEDS_UNDERSCORE) +# define DL_FETCH_SYMBOL(h,s) dlsym((h), "_" ## s) +# else +# define DL_FETCH_SYMBOL dlsym +# endif # define DL_HANDLE void * # define ZEND_EXTENSIONS_SUPPORT 1 #elif defined(ZEND_WIN32) |