]> granicus.if.org Git - php/commitdiff
- Allow zend_extensions to be build inside ext and tested with 'make test'
authorMarcus Boerger <helly@php.net>
Sun, 17 Feb 2008 20:49:46 +0000 (20:49 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 17 Feb 2008 20:49:46 +0000 (20:49 +0000)
Makefile.global
acinclude.m4
configure.in

index b4cec63319c36f9d1f363d28d5afbe8119cdfa43..0cbfac4925ce339affb04bc7c4f6af8354cf1f66 100644 (file)
@@ -11,7 +11,7 @@ all: $(all_targets)
        @echo "Don't forget to run 'make test'."
        @echo
        
-build-modules: $(PHP_MODULES)
+build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
 
 libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
        $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
@@ -73,6 +73,11 @@ PHP_TEST_SHARED_EXTENSIONS =  ` \
                for i in $(PHP_MODULES)""; do \
                        . $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
                done; \
+       fi; \
+       if test "x$(PHP_ZEND_EX)" != "x"; then \
+               for i in $(PHP_ZEND_EX)""; do \
+                       . $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
+               done; \
        fi`
 
 test: all
@@ -84,7 +89,7 @@ test: all
        elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
                INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -r 'echo php_ini_loaded_file();'`; \
                if test "$$INI_FILE"; then \
-                       $(EGREP) -v '^extension[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
+                       $(EGREP) -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
                else \
                        echo > $(top_builddir)/tmp-php.ini; \
                fi; \
index f316efec74f78840cd580e5c42a75643631ed6a3..cc71dd08f237b4d1ea1c4f08bec50e67cd771240 100644 (file)
@@ -837,7 +837,7 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[
 ])
 
 dnl
-dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx)
+dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx, zend_ext)
 dnl
 dnl Basically sets up the link-stage for building module-name
 dnl from object_var in build-dir.
@@ -860,7 +860,11 @@ AC_DEFUN([PHP_SHARED_MODULE],[
       ;;
   esac
 
-  PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix"
+  if test "x$5" = "xyes"; then
+    PHP_ZEND_EX="$PHP_ZEND_EX \$(phplibdir)/$1.$suffix"
+  else
+    PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix"
+  fi
   PHP_SUBST($2)
   cat >>Makefile.objects<<EOF
 \$(phplibdir)/$1.$suffix: $3/$1.$suffix
@@ -916,7 +920,7 @@ AC_DEFUN([PHP_GEN_BUILD_DIRS],[
 ])
 
 dnl
-dnl PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags[, cxx]]]])
+dnl PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags[, cxx[, zend_ext]]]]])
 dnl
 dnl Includes an extension in the build.
 dnl
@@ -950,10 +954,10 @@ dnl ---------------------------------------------- Shared module
       PHP_ADD_SOURCES_X(PHP_EXT_DIR($1),$2,$ac_extra,shared_objects_$1,yes)
       case $host_alias in
         *netware*[)]
-          PHP_SHARED_MODULE(php$1,shared_objects_$1, $ext_builddir, $6)
+          PHP_SHARED_MODULE(php$1,shared_objects_$1, $ext_builddir, $6, $7)
           ;;
         *[)]
-          PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6)
+          PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6, $7)
           ;;
       esac
       AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module)
index 64d6f661962cf7fe15bcdc4f5fc4a19d053a8b70..1933ec1bfb3b738913ad05157c347a26aead57e1 100644 (file)
@@ -870,7 +870,7 @@ enable_static=yes
 case $php_build_target in
 program|static)
     standard_libtool_flag='-prefer-non-pic -static'
-    if test -z "$PHP_MODULES"; then
+    if test -z "$PHP_MODULES" && test -z "$PHP_ZEND_EX"; then
         enable_shared=no
     fi
 ;;
@@ -1076,6 +1076,7 @@ PHP_SUBST(PHP_CLI_OBJS)
 PHP_SUBST(PHP_GLOBAL_OBJS)
 
 PHP_SUBST(PHP_MODULES)
+PHP_SUBST(PHP_ZEND_EX)
 
 PHP_SUBST(EXT_LIBS)
 
@@ -1156,6 +1157,17 @@ if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
   CPPFLAGS="$CPPFLAGS -DTHREAD=1"
 fi
 
+if test "$PHP_DEBUG" = "yes" && test "$PHP_THREAD_SAFETY" = "yes; then
+ZEND_EXT_TYPE="zend_extension_debug_ts"
+elif test "$PHP_DEBUG" = "yes"; then
+ZEND_EXT_TYPE="zend_extension_debug"
+elif test "$PHP_THREAD_SAFETY" = "yes; then
+ZEND_EXT_TYPE="zend_extension_ts"
+else
+ZEND_EXT_TYPE="zend_extension"
+fi
+PHP_SUBST(ZEND_EXT_TYPE)
+
 dnl
 dnl Libtool creation
 dnl
@@ -1192,7 +1204,7 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
 INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
 CXXFLAGS="$CXXFLAGS $standard_libtool_flag"
 
-all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_CLI_TARGET)"
+all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_CLI_TARGET)"
 install_targets="$install_modules install-build install-headers install-programs"
 
 case $PHP_SAPI in