directory.
Move sapi-specific makefile fragments to their respective directory.
Create an embed sapi module which resides in its own dir now.
libs/libphp4.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp4.so
-php: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
- $(BUILD_CGI)
-
-sapi/cli/php: $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
- $(BUILD_CLI)
-
-libphp.la: $(PHP_LIB_OBJS)
- $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_LIB_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-
-libphp.so: $(PHP_LIB_OBJS)
- $(LIBTOOL) --mode=link $(CC) -shared -export-dynamic $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_LIB_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ .libs
-
-libs: libphp.la libphp.so
-
-install: $(install_targets)
-
-install-cli: sapi/cli/php
- @echo "Installing PHP CLI binary: $(INSTALL_ROOT)$(bindir)/"
- @$(INSTALL_CLI)
+install: $(install_targets)
install-sapi: libphp4.la
@echo "Installing PHP SAPI module"
install-su: install-pear install-tester
-test: sapi/cli/php
- @TEST_PHP_EXECUTABLE=$(top_builddir)/sapi/cli/php \
- $(top_builddir)/sapi/cli/php -c php.ini-dist $(top_srcdir)/run-tests.php $(TESTS)
+test: $(SAPI_CLI_PHP)
+ @TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PHP) \
+ $(top_builddir)/$(SAPI_CLI_PHP) -c php.ini-dist $(top_srcdir)/run-tests.php $(TESTS)
clean:
find . -name \*.lo -o -name \*.o -o -name \*.la -o -name \*.a -o -name \*.so| xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
- rm -f libphp4.la php sapi/cli/php modules/* libs/*
+ rm -f libphp4.la $(SAPI_CLI_PHP) $(SAPI_CGI_PHP) modules/* libs/*
distclean: clean
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php4.spec sapi/apache/libphp4.module buildmk.stamp
dnl PHP_BUILD_PROGRAM
dnl
AC_DEFUN(PHP_BUILD_PROGRAM,[
- OVERALL_TARGET=php
+ OVERALL_TARGET=[]ifelse($1,,php,$1)
php_c_pre='$(CC)'
php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
php_c_post=' && echo > $[@]'
])
dnl
-dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags]])
+dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]])
dnl
dnl Selects the SAPI name and type (static, shared, programm)
dnl and optionally also the source-files for the SAPI-specific
static) PHP_BUILD_STATIC;;
shared) PHP_BUILD_SHARED;;
bundle) PHP_BUILD_BUNDLE;;
- program) PHP_BUILD_PROGRAM;;
+ program) PHP_BUILD_PROGRAM($5);;
esac
ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])])
dnl -------------------------------------------------------------------------
dnl paths to the targets are relative to the build directory
-SAPI_PROGRAM=php
SAPI_SHARED=libs/libphp4.$SHLIB_SUFFIX_NAME
SAPI_STATIC=libs/libphp4.a
SAPI_LIBTOOL=libphp4.la
esyscmd(./scripts/config-stubs sapi)
if test "$PHP_SAPI" = "default"; then
- PHP_SELECT_SAPI(cgi, program, cgi_main.c getopt.c)
+ PHP_SELECT_SAPI(cgi, program, cgi_main.c getopt.c,,'$(SAPI_CGI_PATH)')
fi
AC_MSG_CHECKING([for chosen SAPI module])
PHP_ADD_SOURCES_X(Zend, zend_execute.c,,PHP_GLOBAL_OBJS,,$flag)
-
-PHP_ADD_SOURCES_X(main, php_embed.c,, PHP_LIB_OBJS)
-PHP_LIB_OBJS="$PHP_GLOBAL_OBJS $PHP_LIB_OBJS main/internal_functions_cli.lo"
-PHP_SUBST(PHP_LIB_OBJS)
-
-
PHP_ADD_BUILD_DIR(main)
PHP_ADD_BUILD_DIR(regex)
PHP_ADD_BUILD_DIR(sapi/$PHP_SAPI sapi/cli)
--- /dev/null
+$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
+ $(BUILD_CGI)
])
if test "$PHP_SAPI" = "default"; then
+ PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/cgi/Makefile.frag)
+ SAPI_CGI_PATH=sapi/cgi/php-cgi
+ PHP_SUBST(SAPI_CGI_PATH)
PHP_TEST_WRITE_STDOUT
fi
AC_DEFINE_UNQUOTED(DISCARD_PATH, $DISCARD_PATH, [ ])
- INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(INSTALL_ROOT)\$(bindir)/php-cgi"
+ INSTALL_IT="\$(INSTALL) -m 0755 \$(SAPI_CGI_PATH) \$(INSTALL_ROOT)\$(bindir)/php-cgi"
fi
AC_MSG_CHECKING(for fhttpd module support)
case $host_alias in
*darwin*)
- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
+ BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_SAPI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
*)
- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o php"
+ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_SAPI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
esac
PHP_SUBST(BUILD_CGI)
--- /dev/null
+$(SAPI_CLI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
+ $(BUILD_CLI)
+
+install-cli: $(SAPI_CLI_PATH)
+ @echo "Installing PHP CLI binary: $(INSTALL_ROOT)$(bindir)/"
+ @$(INSTALL_CLI)
+
])
if test "$PHP_SAPI_CLI" != "no"; then
+ PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/cli/Makefile.frag)
+ SAPI_CLI_PATH=sapi/cli/php
+ PHP_SUBST(SAPI_CLI_PATH)
+
case $host_alias in
*darwin*)
- BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"
+ BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
*)
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o sapi/cli/php"
+ BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
esac
- INSTALL_CLI="\$(INSTALL) -m 0755 sapi/cli/php \$(INSTALL_ROOT)\$(bindir)/php"
+ INSTALL_CLI="\$(INSTALL) -m 0755 \$(SAPI_CLI_PATH) \$(INSTALL_ROOT)\$(bindir)/php"
PHP_SUBST(BUILD_CLI)
PHP_SUBST(INSTALL_CLI)
else
--- /dev/null
+PHP_ARG_ENABLE(embed,whether to enable the embedded SAPI module,
+[ --enable-embed])
+
+PHP_ARG_ENABLE(embed-shared,whether to build it as shared library,
+[ --enable-embed-shared])
+
+if test "$PHP_EMBED" = "yes"; then
+ if test "$PHP_EMBED_SHARED" = "yes"; then
+ ac_type=shared
+ else
+ ac_type=static
+ fi
+ PHP_SELECT_SAPI(embed, $ac_type, php_embed.c)
+fi
--- /dev/null
+$(SAPI_FASTCGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
+ $(BUILD_CGI)
else
FASTCGIPATH=$withval
fi
+
+ SAPI_FASTCGI_PATH=sapi/fastcgi/php
+ PHP_SUBST(SAPI_FASTCGI_PATH)
+ PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/fastcgi/Makefile.frag)
test -f "$FASTCGIPATH/lib/libfcgi.a" || AC_MSG_ERROR(Unable to find libfcgi.a in $FASTCGIPATH/lib)
test -f "$FASTCGIPATH/include/fastcgi.h" || AC_MSG_ERROR(Unable to find fastcgi.h in $FASTCGIPATH/include)
- PHP_SELECT_SAPI(fastcgi, programm, fastcgi.c)
+ PHP_SELECT_SAPI(fastcgi, program, fastcgi.c,,'$(SAPI_FASTCGI_PATH)')
PHP_ADD_INCLUDE($FASTCGIPATH/include)
PHP_ADD_LIBRARY_WITH_PATH(fcgi, "$FASTCGIPATH/lib",)
- INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(bindir)/$SAPI_FASTCGI"
+ INSTALL_IT="\$(INSTALL) -m 0755 \$(SAPI_FASTCGI_PATH) \$(bindir)/$SAPI_FASTCGI"
RESULT=yes
PHP_SUBST(FASTCGI_LIBADD)
PHP_SUBST(EXT_PROGRAM_LDADD)
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
# Begin Source File\r
\r
-SOURCE=..\main\php_embed.c\r
+SOURCE=..\sapi\embed\php_embed.c\r
# End Source File\r
# End Group\r
# Begin Group "Header Files"\r
# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
# Begin Source File\r
\r
-SOURCE=..\main\php_embed.h\r
+SOURCE=..\sapi\embed\php_embed.h\r
# End Source File\r
# End Group\r
# End Target\r