summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2002-03-07 14:20:02 +0000
committerSascha Schumann <sas@php.net>2002-03-07 14:20:02 +0000
commit9d9d39a0de3bec962c343051011f5a2ed7d7b242 (patch)
tree09eb178e4b55da1d73d059067a5ed96ecb2c6464
parent0e17eea049ba7c77351d2166e89524388922ce80 (diff)
downloadphp-git-9d9d39a0de3bec962c343051011f5a2ed7d7b242.tar.gz
Please welcome the new build system.
If you encounter any problems, please make sure to email sas@php.net directly. An introduction can be found on http://schumann.cx/buildv5.txt
-rw-r--r--Makefile.frag16
-rw-r--r--Makefile.global71
-rw-r--r--Makefile.in63
-rw-r--r--README.SELF-CONTAINED-EXTENSIONS44
-rw-r--r--TODO.BUILDv54
-rw-r--r--acinclude.m4298
-rwxr-xr-xbuild/bsd_makefile34
-rw-r--r--build/build2.mk30
-rw-r--r--build/dynlib.mk24
-rwxr-xr-xbuild/fastgen.sh80
-rw-r--r--build/library.mk23
-rw-r--r--build/ltlib.mk24
-rwxr-xr-xbuild/shtool283
-rwxr-xr-xbuild/sysv_makefile34
-rw-r--r--configure.in118
-rw-r--r--dynlib.m488
-rw-r--r--ext/bcmath/Makefile.in11
-rw-r--r--ext/bcmath/config.m411
-rw-r--r--ext/bcmath/libbcmath/Makefile.in9
-rw-r--r--ext/bcmath/libbcmath/src/Makefile.in7
-rw-r--r--ext/domxml/config.m42
-rwxr-xr-xext/ext_skel16
-rw-r--r--ext/informix/Makefile.frag10
-rw-r--r--ext/mysql/config.m427
-rw-r--r--ext/mysql/libmysql/mysql.m42
-rw-r--r--ext/pcre/config.m412
-rw-r--r--ext/pcre/config0.m412
-rw-r--r--ext/pdf/config.m49
-rw-r--r--ext/rpc/xmlrpc/config.m416
-rw-r--r--ext/rpc/xmlrpc/libxmlrpc/xmlrpc.m42
-rw-r--r--ext/session/Makefile.in7
-rw-r--r--ext/session/config.m42
-rw-r--r--ext/standard/Makefile.frag8
-rw-r--r--ext/standard/Makefile.in22
-rw-r--r--ext/standard/config.m412
-rw-r--r--ext/xml/config.m423
-rw-r--r--ext/xmlrpc/config.m416
-rw-r--r--ext/xmlrpc/libxmlrpc/xmlrpc.m42
-rw-r--r--pear/Makefile.frag (renamed from pear/Makefile.in)41
-rw-r--r--pear/pear.m422
-rw-r--r--pear/scripts/phpize.in6
-rw-r--r--sapi/Makefile.in4
-rw-r--r--sapi/README17
-rw-r--r--sapi/aolserver/Makefile.in5
-rw-r--r--sapi/aolserver/config.m43
-rw-r--r--sapi/apache/Makefile.in7
-rw-r--r--sapi/apache/config.m414
-rw-r--r--sapi/apache2filter/Makefile.in7
-rw-r--r--sapi/apache2filter/config.m43
-rw-r--r--sapi/caudium/Makefile.in5
-rw-r--r--sapi/caudium/config.m43
-rw-r--r--sapi/cgi/Makefile.in5
-rw-r--r--sapi/cgi/config.m45
-rw-r--r--sapi/cli/Makefile.in28
-rw-r--r--sapi/cli/config.m43
-rw-r--r--sapi/fastcgi/Makefile.in5
-rw-r--r--sapi/fastcgi/config.m42
-rw-r--r--sapi/isapi/Makefile.in5
-rw-r--r--sapi/isapi/config.m43
-rw-r--r--sapi/nsapi/Makefile.in5
-rw-r--r--sapi/nsapi/config.m43
-rw-r--r--sapi/phttpd/Makefile.in5
-rw-r--r--sapi/phttpd/config.m43
-rw-r--r--sapi/pi3web/Makefile.in5
-rw-r--r--sapi/pi3web/config.m43
-rw-r--r--sapi/roxen/Makefile.in5
-rw-r--r--sapi/roxen/config.m43
-rw-r--r--sapi/servlet/Makefile.frag19
-rw-r--r--sapi/servlet/Makefile.in30
-rw-r--r--sapi/servlet/config.m44
-rw-r--r--sapi/thttpd/Makefile.in5
-rw-r--r--sapi/thttpd/config.m43
-rw-r--r--sapi/tux/Makefile.in5
-rw-r--r--sapi/tux/config.m43
-rw-r--r--sapi/webjames/Makefile.in5
-rw-r--r--sapi/webjames/config.m43
-rw-r--r--scan_makefile_in.awk32
77 files changed, 796 insertions, 1010 deletions
diff --git a/Makefile.frag b/Makefile.frag
new file mode 100644
index 0000000000..b4a4f40132
--- /dev/null
+++ b/Makefile.frag
@@ -0,0 +1,16 @@
+$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
+$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
+
+$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
+ $(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
+
+$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
+$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
+ $(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
+
+$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
+$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
+ $(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
+
+$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
+ $(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
diff --git a/Makefile.global b/Makefile.global
new file mode 100644
index 0000000000..3f82f72524
--- /dev/null
+++ b/Makefile.global
@@ -0,0 +1,71 @@
+
+mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
+INSTALL = $(top_srcdir)/build/shtool install -c
+INSTALL_DATA = $(INSTALL) -m 644
+
+DEFS = -I$(top_builddir)/main -I$(top_srcdir)
+COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS)
+
+
+all: $(all_targets)
+
+build-modules: $(PHP_MODULES)
+
+libphp4.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
+ $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) -o $@
+
+php: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
+ $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) -o $@
+
+sapi/cli/php: $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS)
+ $(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_CLI_OBJS) $(EXTRA_LIBS) -o $@
+
+install: $(install_targets)
+
+
+install-cli:
+ $(INSTALL_CLI)
+
+install-sapi:
+ -@$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
+ -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
+ -@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
+ for i in 0.0.0 0.0 0; do \
+ if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
+ $(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
+ break; \
+ fi; \
+ done; \
+ fi
+ $(INSTALL_IT)
+
+install-modules:
+ @test -d modules && \
+ $(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR) && \
+ echo "installing shared modules into $(EXTENSION_DIR)" && \
+ rm -f modules/*.la && \
+ cp modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) >/dev/null 2>&1 || true
+
+install-tester:
+ @echo "Installing regression tester"
+ @$(mkinstalldirs) $(PEAR_INSTALLDIR)
+ @$(INSTALL) -m 755 $(top_srcdir)/run-tests.php $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
+
+install-su: install-pear install-tester
+
+test: php
+ TOP_BUILDDIR=$(top_builddir) TOP_SRCDIR=$(top_srcdir) \
+ $(top_builddir)/php -C -q $(top_srcdir)/run-tests.php \
+ $(top_srcdir)
+
+clean:
+ find . -name \*.lo -o -name \*.o -o -name \*.la -o -name \*.a| xargs rm -f
+ find . -name .libs -a -type d|xargs rm -rf
+ rm -f libphp4.la php sapi/cli/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
+ find . -name Makefile | xargs rm -f
+
+.PHONY: all clean install distclean test
+.NOEXPORT:
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index e2168a0ff6..0000000000
--- a/Makefile.in
+++ /dev/null
@@ -1,63 +0,0 @@
-
-ZEND_DIR = $(srcdir)/Zend
-SUBDIRS = Zend main ext sapi $(TSRM_DIR) $(REGEX_DIR) $(CLI_DIR) . $(PEAR_DIR)
-
-LTLIBRARY_NAME = libphp4.la
-LTLIBRARY_SOURCES = stub.c
-
-LTLIBRARY_DEPENDENCIES = \
- Zend/libZend.la \
- sapi/$(PHP_SAPI)/libsapi.la \
- main/libmain.la \
- $(REGEX_LIB) \
- $(EXT_LTLIBS) \
- $(TSRM_LIB)
-
-LTLIBRARY_LDFLAGS = -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
-LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS)
-
-PROGRAM_NAME = php
-PROGRAM_SOURCES = stub.c
-PROGRAM_LDADD = libphp4.la $(EXT_PROGRAM_LDADD)
-PROGRAM_LDFLAGS = -export-dynamic
-PROGRAM_DEPENDENCIES = $(PROGRAM_LDADD)
-
-targets = $(LTLIBRARY_NAME) $(PHP_PROGRAM)
-
-install_targets = install-sapi install-modules
-
-include $(top_srcdir)/build/rules.mk
-include $(top_srcdir)/build/library.mk
-include $(top_srcdir)/build/program.mk
-
-install-sapi:
- @$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
- -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
- -@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
- for i in 0.0.0 0.0 0; do \
- if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
- $(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
- break; \
- fi; \
- done; \
- fi
- $(INSTALL_IT)
-
-install-modules:
- @test -d modules && \
- $(mkinstalldirs) $(INSTALL_ROOT)$(moduledir) && \
- echo "installing shared modules into $(moduledir)" && \
- rm -f modules/*.la && \
- cp modules/* $(INSTALL_ROOT)$(moduledir) >/dev/null 2>&1 || true
-
-install-tester:
- @echo "Installing regression tester"
- @$(mkinstalldirs) $(PEAR_INSTALLDIR)
- @$(INSTALL) -m 755 $(srcdir)/run-tests.php $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
-
-install-pear: install-modules
- (cd pear && $(MAKE) install)
-
-install-su: install-pear install-tester
-
-.NOEXPORT:
diff --git a/README.SELF-CONTAINED-EXTENSIONS b/README.SELF-CONTAINED-EXTENSIONS
index 1f2e9da770..bff6c80726 100644
--- a/README.SELF-CONTAINED-EXTENSIONS
+++ b/README.SELF-CONTAINED-EXTENSIONS
@@ -7,7 +7,6 @@ HOW TO CREATE A SELF-CONTAINED PHP EXTENSION
the PHP source. To create such an extension, three things are
required:
- - Makefile template (Makefile.in)
- Configuration file (config.m4)
- Source code for your module
@@ -74,28 +73,9 @@ DEFINING THE NEW EXTENSION
need to specify anything).
-CREATING THE MAKEFILE TEMPLATE
-
- The Makefile Template (Makefile.in) contains three lines:
-
-------------------------------------------------------------------------------
-LTLIBRARY_SHARED_NAME = foobar.la
-LTLIBRARY_SOURCES = foo.c bar.c
-
-include $(top_srcdir)/build/dynlib.mk
-------------------------------------------------------------------------------
-
- LTLIBRARY_SHARED_NAME specifies the name of the extension.
- It must be of the form `ext-name.la'.
-
LTLIBRARY_SOURCES specifies the names of the sources files. You can
name an arbitrary number of source files here.
- The final include directive includes the build rules (you usually
- don't need to care about what happens there). rules.mk and other
- files are installed by phpize which we will cover later.
-
-
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
@@ -107,13 +87,17 @@ PHP_ARG_ENABLE(foobar,whether to enable foobar,
[ --enable-foobar Enable foobar])
if test "$PHP_FOOBAR" != "no"; then
- PHP_EXTENSION(foobar, $ext_shared)
+ PHP_NEW_EXTENSION(foobar, foo.c bar.c, $ext_shared)
fi
------------------------------------------------------------------------------
PHP_ARG_ENABLE will automatically set the correct variables, so
- that the extension will be enabled by PHP_EXTENSION in shared mode.
+ that the extension will be enabled by PHP_NEW_EXTENSION in shared mode.
+ The first argument of PHP_NEW_EXTENSION describes the name of the
+ extension. The second names the source-code files. The third passes
+ $ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
+
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
@@ -131,8 +115,8 @@ CREATING SOURCE FILES
CREATING THE SELF-CONTAINED EXTENSION
- Put Makefile.in, config.m4 and the source files into one directory.
- Then run phpize (this is installed during make install by PHP 4.0).
+ Put config.m4 and the source files into one directory. Afterwards,
+ run phpize (this is installed during make install by PHP 4.0).
For example, if you configured PHP with --prefix=/php, you would run
$ /php/bin/phpize
@@ -157,17 +141,13 @@ ADDING SHARED MODULE SUPPORT TO A MODULE
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
- automatically be able to use --with-foo=shared or
- --enable-foo=shared.
+ automatically be able to use --with-foo=shared[,..] or
+ --enable-foo=shared[,..].
- 2. In config.m4, use PHP_EXTENSION(foo, $ext_shared) to enable
+ 2. In config.m4, use PHP_NEW_EXTENSION(foo,.., $ext_shared) to enable
building the extension.
- 3. Add the following line to Makefile.in:
-
- LTLIBRARY_SHARED_NAME = foo.la
-
- 4. Add the following lines to your C source file:
+ 3. Add the following lines to your C source file:
#ifdef COMPILE_DL_FOO
ZEND_GET_MODULE(foo)
diff --git a/TODO.BUILDv5 b/TODO.BUILDv5
new file mode 100644
index 0000000000..e45ae2e658
--- /dev/null
+++ b/TODO.BUILDv5
@@ -0,0 +1,4 @@
+- fix phpize
+- clean up .cvsignores
+- purge Makefile.ins and replace PHP_EXTENSION in config.m4s
+ with appropiate calls to PHP_NEW_EXTENSION
diff --git a/acinclude.m4 b/acinclude.m4
index c867dbf6cc..43ed444bfd 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -2,7 +2,124 @@ dnl $Id$
dnl
dnl This file contains local autoconf functions.
-sinclude(dynlib.m4)
+dnl PHP_ADD_MAKEFILE_FRAGMENT([srcfile[, ext_srcdir[, ext_builddir]]])
+dnl
+dnl Processes a file called Makefile.frag in the source directory
+dnl of the most recently added extension. $(srcdir) and $(builddir)
+dnl are substituted with the proper paths. Can be used to supply
+dnl custom rules and/or additional targets.
+dnl
+AC_DEFUN(PHP_ADD_MAKEFILE_FRAGMENT,[
+ ifelse($1,,src=$ext_srcdir/Makefile.frag,src=$1)
+ ifelse($2,,ac_srcdir=$ext_srcdir,ac_srcdir=$2)
+ ifelse($3,,ac_builddir=$ext_builddir,ac_builddir=$3)
+ sed -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments
+])
+
+
+dnl PHP_DEFINE(what[, value])
+dnl
+dnl Creates builddir/include/what.h and in there #define what value
+dnl
+AC_DEFUN(PHP_DEFINE,[
+ echo "#define $1 $2" > include/$1.h
+])
+
+dnl PHP_INIT_BUILD_SYSTEM
+dnl
+AC_DEFUN(PHP_INIT_BUILD_SYSTEM,[
+mkdir include >/dev/null 2>&1
+> Makefile.objects
+> Makefile.fragments
+])
+
+dnl PHP_GEN_GLOBAL_MAKEFILE
+dnl
+dnl Generates the global makefile.
+dnl
+AC_DEFUN(PHP_GEN_GLOBAL_MAKEFILE,[
+ cat >Makefile <<EOF
+srcdir = $abs_srcdir
+builddir = $abs_builddir
+top_srcdir = $abs_srcdir
+top_builddir = $abs_builddir
+EOF
+ for i in $PHP_VAR_SUBST; do
+ eval echo "$i = \$$i" >> Makefile
+ done
+
+ cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile
+])
+
+dnl PHP_ADD_SOURCES(source-path, sources[, special-flags[, type]])
+dnl
+dnl Adds sources which are located relative to source-path to the
+dnl array of type type. Sources are processed with optional
+dnl special-flags which are passed to the compiler. Sources
+dnl can be either written in C or C++ (filenames shall end in .c
+dnl or .cpp, respectively).
+dnl
+dnl Note: If source-path begins with a "/", the "/" is removed and
+dnl the path is interpreted relative to the top build-directory.
+dnl
+dnl which array to append to?
+AC_DEFUN(PHP_ADD_SOURCES,[
+ ifelse($4,cli,ac_what=PHP_CLI_OBJS,ifelse($4,sapi,ac_what=PHP_SAPI_OBJS,ac_what=PHP_GLOBAL_OBJS))
+ PHP_ADD_SOURCES_X($1, $2, $3, $ac_what)
+])
+
+dnl PHP_ASSIGN_BUILD_VARS(type)
+dnl Internal macro, should/can be exploded manually
+AC_DEFUN(PHP_ASSIGN_BUILD_VARS,[
+ for acx in pre meta post; do for acy in c cxx; do eval b_${acy}_$acx=[\$]$1_${acy}_$acx; done; done
+ b_lo=[$]$1_lo
+])
+
+dnl PHP_ADD_SOURCES_X(source-path, sources[, special-flags[, target-var[, shared[, special-post-flags]]]])
+dnl
+dnl Additional to PHP_ADD_SOURCES (see above), this lets you set the
+dnl name of the array target-var directly, as well as whether
+dnl shared objects will be built from the sources. Should not be
+dnl used directly.
+dnl
+AC_DEFUN(PHP_ADD_SOURCES_X,[
+ ac_what=$4
+
+dnl relative to source- or build-directory?
+ case $1 in
+ /*[)] ac_srcdir=`echo $ac_n "$1$ac_c"|cut -c 2-`; ac_bdir=$ac_srcdir ;;
+ *[)] ac_srcdir="$abs_srcdir/$1"; ac_bdir=$1 ;;
+ esac
+
+dnl how to build .. shared or static?
+ ifelse($5,yes,PHP_ASSIGN_BUILD_VARS(shared),PHP_ASSIGN_BUILD_VARS(php))
+
+dnl iterate over the sources
+ for ac_src in $2; do
+
+dnl remove the suffix
+ old_IFS=[$]IFS
+ IFS=.
+ set $ac_src
+ ac_obj=[$]1
+ IFS=$old_IFS
+
+dnl append to the array which has been dynamically chosen
+ eval "$ac_what=\"[\$$]ac_what $ac_bdir/[$]ac_obj.lo\""
+
+dnl choose the right compiler/flags/etc. for the source-file
+ case $ac_src in
+ *.c[)] ac_comp="$b_c_pre $3 -I$abs_srcdir/$ac_bdir -I$abs_builddir/$ac_bdir $b_c_meta -c $ac_srcdir/$ac_src -o $ac_bdir/$ac_obj.$b_lo $6$b_c_post" ;;
+ *.cpp[)] ac_comp="$b_cxx_pre $3 -I$abs_srcdir/$ac_bdir -I$abs_builddir/$ac_bdir $b_cxx_meta -c $ac_srcdir/$ac_src -o $ac_bdir/$ac_obj.$b_lo $6$b_cxx_post" ;;
+ esac
+
+dnl create a rule for the object/source combo
+ cat >>Makefile.objects<<EOF
+$ac_bdir/[$]ac_obj.lo: $ac_srcdir/[$]ac_src
+ $ac_comp
+EOF
+ done
+])
dnl
dnl Disable building CLI
@@ -370,9 +487,7 @@ if test "$php_always_shared" = "yes"; then
test "[$]$1" = "no" && $1=yes
fi
-if test -n "$2"; then
- AC_MSG_RESULT([$ext_output])
-fi
+ifelse([$2],,,[AC_MSG_RESULT([$ext_output])])
])
dnl
@@ -386,9 +501,7 @@ PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_))
])
AC_DEFUN(PHP_REAL_ARG_WITH,[
-if test -n "$2"; then
- AC_MSG_CHECKING([$2])
-fi
+ifelse([$2],,,[AC_MSG_CHECKING([$2])])
AC_ARG_WITH($1,[$3],$5=[$]withval,$5=ifelse($4,,no,$4))
PHP_ARG_ANALYZE($5,[$2])
])
@@ -404,9 +517,7 @@ PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z-,A-Z_))
])
AC_DEFUN(PHP_REAL_ARG_ENABLE,[
-if test -n "$2"; then
- AC_MSG_CHECKING([$2])
-fi
+ifelse([$2],,,[AC_MSG_CHECKING([$2])])
AC_ARG_ENABLE($1,[$3],$5=[$]enableval,$5=ifelse($4,,no,$4))
PHP_ARG_ANALYZE($5,[$2])
])
@@ -493,10 +604,6 @@ AC_DEFUN(PHP_SUBST_OLD,[
AC_SUBST($1)
])
-AC_DEFUN(PHP_FAST_OUTPUT,[
- PHP_FAST_OUTPUT_FILES="$PHP_FAST_OUTPUT_FILES $1"
-])
-
AC_DEFUN(PHP_MKDIR_P_CHECK,[
AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
test -d conftestdir && rm -rf conftestdir
@@ -512,19 +619,6 @@ dnl `mkdir -p' must be quiet about creating existing directories
])
])
-AC_DEFUN(PHP_GEN_CONFIG_VARS,[
- PHP_MKDIR_P_CHECK
- echo creating config_vars.mk
- > config_vars.mk
- for i in $PHP_VAR_SUBST; do
- eval echo "$i = \$$i" | sed 's%#%\\#%g' >> config_vars.mk
- done
-])
-
-AC_DEFUN(PHP_GEN_MAKEFILES,[
- $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $1
-])
-
AC_DEFUN(PHP_TM_GMTOFF,[
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
[AC_TRY_COMPILE([#include <sys/types.h>
@@ -645,13 +739,25 @@ dnl
dnl PHP_BUILD_SHARED
dnl
AC_DEFUN(PHP_BUILD_SHARED,[
+ PHP_BUILD_PROGRAM
+ OVERALL_TARGET=libphp4.la
php_build_target=shared
+
+ php_c_pre=$shared_c_pre
+ php_c_meta=$shared_c_meta
+ php_c_post=$shared_c_post
+ php_cxx_pre=$shared_cxx_pre
+ php_cxx_meta=$shared_cxx_meta
+ php_cxx_post=$shared_cxx_post
+ php_lo=$shared_lo
])
dnl
dnl PHP_BUILD_STATIC
dnl
AC_DEFUN(PHP_BUILD_STATIC,[
+ PHP_BUILD_PROGRAM
+ OVERALL_TARGET=libphp4.la
php_build_target=static
])
@@ -659,6 +765,23 @@ dnl
dnl PHP_BUILD_PROGRAM
dnl
AC_DEFUN(PHP_BUILD_PROGRAM,[
+ OVERALL_TARGET=php
+ php_c_pre='$(CC)'
+ php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
+ php_c_post=' && > $[@]'
+ php_cxx_pre='$(CXX)'
+ php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)'
+ php_cxx_post=' && > $[@]'
+ php_lo=o
+
+ shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
+ shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -prefer-pic'
+ shared_c_post=
+ shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
+ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -prefer-pic'
+ shared_cxx_post=
+ shared_lo=lo
+
php_build_target=program
])
@@ -722,7 +845,7 @@ dnl builds RPATH from PHP_RPATHS
dnl
AC_DEFUN(PHP_BUILD_RPATH,[
if test "$PHP_RPATH" = "yes" && test -n "$PHP_RPATHS"; then
- OLD_RPATHS="$PHP_RPATHS"
+ OLD_RPATHS=$PHP_RPATHS
unset PHP_RPATHS
for i in $OLD_RPATHS; do
PHP_LDFLAGS="$PHP_LDFLAGS -L$i"
@@ -752,7 +875,7 @@ AC_DEFUN(PHP_ADD_INCLUDE,[
])
AC_DEFUN(PHP_X_ADD_LIBRARY,[
- ifelse($2,,$3="-l$1 [$]$3", $3="[$]$3 -l$1")
+ ifelse([$2],,$3="-l$1 [$]$3", $3="[$]$3 -l$1")
])
dnl
@@ -838,8 +961,8 @@ AC_DEFUN(PHP_ADD_LIBRARY_DEFER_WITH_PATH,[
dnl
dnl Set libtool variable
dnl
-AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
- LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
+AC_DEFUN(PHP_SET_LIBTOOL_VARIABLE,[
+ LIBTOOL='$(SHELL) libtool $1'
])
dnl
@@ -870,21 +993,15 @@ AC_DEFUN(PHP_CHECK_CC_OPTION,[
AC_DEFUN(PHP_REGEX,[
if test "$REGEX_TYPE" = "php"; then
- REGEX_LIB=regex/libregex.la
- REGEX_DIR=regex
AC_DEFINE(HSREGEX,1,[ ])
AC_DEFINE(REGEX,1,[ ])
- PHP_FAST_OUTPUT(regex/Makefile)
+ PHP_ADD_SOURCES(regex, regcomp.c regexec.c regerror.c regfree.c)
elif test "$REGEX_TYPE" = "system"; then
AC_DEFINE(REGEX,0,[ ])
fi
AC_MSG_CHECKING([which regex library to use])
AC_MSG_RESULT([$REGEX_TYPE])
-
-PHP_SUBST(REGEX_DIR)
-PHP_SUBST(REGEX_LIB)
-PHP_SUBST(HSREGEX)
])
dnl
@@ -921,21 +1038,79 @@ AC_DEFUN(PHP_AC_BROKEN_SPRINTF,[
fi
])
+dnl PHP_SHARED_MODULE(module-name, object-var, build-dir)
+dnl
+dnl Basically sets up the link-stage for building module-name
+dnl from object_var in build-dir.
+dnl
+AC_DEFUN(PHP_SHARED_MODULE,[
+ PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.la"
+ PHP_SUBST($2)
+ cat >>Makefile.objects<<EOF
+\$(phplibdir)/$1.la: $3/$1.la
+ \$(LIBTOOL) --mode=install cp $3/$1.la \$(phplibdir)
+
+$3/$1.la: \$($2) \$(translit($1,a-z-,A-Z_)_SHARED_DEPENDENCIES)
+ \$(LIBTOOL) --mode=link \$(CC) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z-,A-Z_)_SHARED_LIBADD)
+
+EOF
+])
+
+dnl
+dnl PHP_SELECT_SAPI(name, type[, sources])
+dnl
+dnl Selects the SAPI name and type (static, shared, programm)
+dnl and optionally also the source-files for the SAPI-specific
+dnl objects.
+dnl
+AC_DEFUN(PHP_SELECT_SAPI,[
+ PHP_SAPI=$1
+
+ case "$2" in
+ static) PHP_BUILD_STATIC;;
+ shared) PHP_BUILD_SHARED;;
+ program) PHP_BUILD_PROGRAM;;
+ esac
+
+ ifelse($3,,,[PHP_ADD_SOURCES(sapi/$1, $3,,sapi)])
+])
+
+dnl deprecated
+AC_DEFUN(PHP_EXTENSION,[
+ sources=`awk -f $abs_srcdir/scan_makefile_in.awk < $abs_srcdir/ext/$1/Makefile.in`
+
+ PHP_NEW_EXTENSION($1, $sources, $2, $3)
+
+ if test -r "$ext_srcdir/Makefile.frag"; then
+ PHP_ADD_MAKEFILE_FRAGMENT
+ fi
+])
+
+AC_DEFUN(PHP_ADD_BUILD_DIR,[
+ BUILD_DIR="$BUILD_DIR $1"
+])
+
+AC_DEFUN(PHP_GEN_BUILD_DIRS,[
+ PHP_MKDIR_P_CHECK
+ if test "$ac_cv_mkdir_p" = "yes"; then
+ mkdir -p $BUILD_DIR
+ fi
+])
+
dnl
-dnl PHP_EXTENSION(extname [, shared [,sapi_class]])
+dnl PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
dnl
dnl Includes an extension in the build.
dnl
-dnl "extname" is the name of the ext/ subdir where the extension resides
+dnl "extname" is the name of the ext/ subdir where the extension resides.
+dnl "sources" is a list of files relative to the subdir which are used
+dnl to build the extension.
dnl "shared" can be set to "shared" or "yes" to build the extension as
dnl a dynamically loadable library. Optional parameter "sapi_class" can
dnl be set to "cli" to mark extension build only with CLI or CGI sapi's.
-dnl If "nocli" is passed the extension will be built only with a non-cli
-dnl sapi.
-dnl
-AC_DEFUN(PHP_EXTENSION,[
- EXT_SUBDIRS="$EXT_SUBDIRS $1"
-
+dnl extra-cflags are passed to the compiler, with @ext_srcdir@ being
+dnl substituted.
+AC_DEFUN(PHP_NEW_EXTENSION,[
if test -d "$abs_srcdir/ext/$1"; then
dnl ---------------------------------------------- Internal Module
ext_builddir=ext/$1
@@ -946,35 +1121,39 @@ dnl ---------------------------------------------- External Module
ext_srcdir=$abs_srcdir
fi
- if test "$2" != "shared" && test "$2" != "yes" && test "$3" != "cli"; then
+ ifelse($5,,,[ac_extra=`echo $ac_n "$5$ac_c"|sed s#@ext_srcdir@#$ext_srcdir#g`])
+
+ if test "$3" != "shared" && test "$3" != "yes" && test "$4" != "cli"; then
dnl ---------------------------------------------- Static module
- LIB_BUILD($ext_builddir)
- EXT_LTLIBS="$EXT_LTLIBS $abs_builddir/$ext_builddir/lib$1.la"
+
+ PHP_ADD_SOURCES($ext_builddir,$2,$ac_extra,)
EXT_STATIC="$EXT_STATIC $1"
if test "$3" != "nocli"; then
EXT_CLI_LTLIBS="$EXT_CLI_LTLIBS $abs_builddir/$ext_builddir/lib$1.la"
EXT_CLI_STATIC="$EXT_CLI_STATIC $1"
fi
else
- if test "$2" = "shared" || test "$2" = "yes"; then
+ if test "$3" = "shared" || test "$3" = "yes"; then
dnl ---------------------------------------------- Shared module
- LIB_BUILD($ext_builddir,yes)
+ PHP_ADD_SOURCES_X($ext_builddir,$2,$ac_extra,shared_objects_$1,yes)
+ PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir)
AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z-,A-Z_), 1, Whether to build $1 as dynamic module)
fi
fi
- if test "$2" != "shared" && test "$2" != "yes" && test "$3" = "cli"; then
-dnl ---------------------------------------------- CLI only static module
- LIB_BUILD($ext_builddir)
+ if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then
+dnl ---------------------------------------------- CLI static module
if test "$PHP_SAPI" = "cgi"; then
- EXT_LTLIBS="$EXT_LTLIBS $abs_builddir/$ext_builddir/lib$1.la"
+ PHP_ADD_SOURCES($ext_builddir,$2,$ac_extra,)
EXT_STATIC="$EXT_STATIC $1"
+ else
+ PHP_ADD_SOURCES($ext_srcdir,$2,$ac_extra,cli)
+ EXT_CLI_STATIC="$EXT_CLI_STATIC $1"
fi
EXT_CLI_LTLIBS="$EXT_CLI_LTLIBS $abs_builddir/$ext_builddir/lib$1.la"
EXT_CLI_STATIC="$EXT_CLI_STATIC $1"
fi
-
- PHP_FAST_OUTPUT($ext_builddir/Makefile)
+ PHP_ADD_BUILD_DIR($ext_builddir)
])
dnl
@@ -1127,11 +1306,6 @@ int main(void) {
fi
])
-AC_DEFUN(AC_ADD_LIBPATH, [indir([PHP_ADD_LIBPATH], $@)])
-AC_DEFUN(AC_ADD_LIBRARY, [indir([PHP_ADD_LIBRARY], $@)])
-AC_DEFUN(AC_ADD_LIBRARY_WITH_PATH, [indir([PHP_ADD_LIBRARY_WITH_PATH], $@)])
-AC_DEFUN(AC_ADD_INCLUDE, [indir([PHP_ADD_INCLUDE], $@)])
-
AC_DEFUN(PHP_FOPENCOOKIE,[
AC_CHECK_FUNC(fopencookie, [ have_glibc_fopencookie=yes ])
diff --git a/build/bsd_makefile b/build/bsd_makefile
deleted file mode 100755
index cb9ecdca1a..0000000000
--- a/build/bsd_makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-# cwd must be top_srcdir
-test -f build/bsd_makefile || exit 2
-
-test -f bsd_converted && exit 0
-
-tmpfile=`mktemp /tmp/bsd_makefile.XXXXXX 2>/dev/null` || tmpfile="tmp.$$"
-for i in build/*.mk; do
- sed 's/^include \(.*\)/.include "\1"/' $i >$tmpfile \
- && cp $tmpfile $i
-done
-rm -f $tmpfile
-
-touch bsd_converted
-exit 0
diff --git a/build/build2.mk b/build/build2.mk
index 4954991c45..8ec12e44ae 100644
--- a/build/build2.mk
+++ b/build/build2.mk
@@ -30,37 +30,16 @@ config_h_in = main/php_config.h.in
acconfig_h_SOURCES = acconfig.h.in $(config_h_files)
-targets = $(TOUCH_FILES) $(makefile_in_files) configure $(config_h_in)
+targets = $(TOUCH_FILES) configure $(config_h_in)
-all: Zend/Makefile.am TSRM/Makefile.am $(targets)
-
-Zend/Makefile.am:
- test -d Zend || (test -d ../Zend && ln -s ../Zend Zend)
-
-TSRM/Makefile.am:
- test -d TSRM || (test -d ../TSRM && ln -s ../TSRM TSRM)
+all: $(targets)
acconfig.h: $(acconfig_h_SOURCES)
@echo rebuilding $@
cat $(acconfig_h_SOURCES) > $@
-$(makefile_in_files): $(makefile_am_files) aclocal.m4 configure.in $(config_m4_files)
- @echo rebuilding Makefile templates
- @for i in $(LT_TARGETS); do \
- if test -f "$$i"; then \
- mv $$i $$i.bak; \
- cp $$i.bak $$i; \
- fi; \
- done
- @test -f want_dependencies || flag=-i; \
- automake -a $$flag $(AMFLAGS) $(makefile_files) 2>&1 | $(SUPPRESS_WARNINGS)
- @for i in $(LT_TARGETS); do mv $$i.bak $$i; done
-
-aclocal.m4: configure.in acinclude.m4 dynlib.m4
- aclocal 2>&1 | $(SUPPRESS_WARNINGS)
-
-SUPPRESS_WARNINGS = (egrep -v '(AC_TRY_RUN called without default to allow cross compiling|AC_PROG_CXXCPP was called before AC_PROG_CXX|.*AM_PROG_LEX.*|defined in acinclude.m4 but never used|AC_PROG_LEX invoked multiple times|AC_PROG_CPP called before)'||true)
+SUPPRESS_WARNINGS = (egrep -v '(AC_TRY_RUN called without default to allow cross compiling|AC_PROG_CXXCPP was called before AC_PROG_CXX|defined in acinclude.m4 but never used|AC_PROG_LEX invoked multiple times|AC_PROG_CPP was called before AC_PROG_CC)'||true)
$(config_h_in): configure acconfig.h
# explicitly remove target since autoheader does not seem to work
@@ -72,6 +51,9 @@ $(config_h_in): configure acconfig.h
$(TOUCH_FILES):
touch $(TOUCH_FILES)
+aclocal.m4: configure.in acinclude.m4
+ aclocal 2>&1 | $(SUPPRESS_WARNINGS)
+
configure: aclocal.m4 configure.in $(config_m4_files)
@echo rebuilding $@
@autoconf 2>&1 | $(SUPPRESS_WARNINGS)
diff --git a/build/dynlib.mk b/build/dynlib.mk
deleted file mode 100644
index 91370be65b..0000000000
--- a/build/dynlib.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-all: all-recursive
-
-include $(builddir)/libs.mk
-
-include $(top_srcdir)/build/rules.mk
diff --git a/build/fastgen.sh b/build/fastgen.sh
deleted file mode 100755
index 1961849c92..0000000000
--- a/build/fastgen.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#! /bin/sh
-#
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id: fastgen.sh,v 1.14 2002-02-28 08:25:33 sebastian Exp $
-#
-
-if test "$#" = "0"; then
- echo "Usage: fastgen.sh <srcdir> <mkdir_p> <bsdmakefile_p> <file>"
-fi
-
-srcdir=$1
-shift
-
-mkdir_p=$1
-shift
-
-bsd_makefile=$1
-shift
-
-top_srcdir=`(cd $srcdir; pwd)`
-top_builddir=`pwd`
-
-if test "$mkdir_p" = "yes"; then
- mkdir_p="mkdir -p"
-else
- mkdir_p="$top_srcdir/build/shtool mkdir -p"
-fi
-
-if test "$bsd_makefile" = "yes"; then
- (cd $top_srcdir; ./build/bsd_makefile)
-
- for makefile in $@; do
- echo "fastgen.sh: creating $makefile"
- dir=`echo $makefile|sed 's%/*[^/][^/]*$%%'`
- $mkdir_p "$dir/"
-
- cat - $top_srcdir/$makefile.in <<EOF |sed 's/^include \(.*\)/.include "\1"/' >$makefile
-top_srcdir = $top_srcdir
-top_builddir = $top_builddir
-srcdir = $top_srcdir/$dir
-builddir = $top_builddir/$dir
-VPATH = $top_srcdir/$dir
-EOF
-
- test -z "$dir" && dir=.
- touch $dir/.deps
- done
-else
- for makefile in $@; do
- echo "fastgen.sh: creating $makefile"
- dir=`echo $makefile|sed 's%/*[^/][^/]*$%%'`
- $mkdir_p "$dir/"
-
- cat - $top_srcdir/$makefile.in <<EOF >$makefile
-top_srcdir = $top_srcdir
-top_builddir = $top_builddir
-srcdir = $top_srcdir/$dir
-builddir = $top_builddir/$dir
-VPATH = $top_srcdir/$dir
-EOF
-
- test -z "$dir" && dir=.
- touch $dir/.deps
- done
-fi
diff --git a/build/library.mk b/build/library.mk
deleted file mode 100644
index b210a282d7..0000000000
--- a/build/library.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X)
-
-$(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
- $(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD)
diff --git a/build/ltlib.mk b/build/ltlib.mk
deleted file mode 100644
index 86f04174f7..0000000000
--- a/build/ltlib.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-targets = $(LTLIBRARY_NAME)
-
-include $(top_srcdir)/build/rules.mk
-include $(top_srcdir)/build/library.mk
-
diff --git a/build/shtool b/build/shtool
index 4c1a7396fd..391f5a83c2 100755
--- a/build/shtool
+++ b/build/shtool
@@ -1,13 +1,13 @@
#!/bin/sh
##
## GNU shtool -- The GNU Portable Shell Tool
-## Copyright (c) 1994-2000 Ralf S. Engelschall <rse@engelschall.com>
+## Copyright (c) 1994-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## See http://www.gnu.org/software/shtool/ for more information.
## See ftp://ftp.gnu.org/gnu/shtool/ for latest version.
##
-## Version 1.4.9 (16-Apr-2000)
-## Ingredients: 3/17 available modules
+## Version: 1.5.4 (14-Jun-2001)
+## Contents: 3/17 available modules
##
##
@@ -26,7 +26,7 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA, or contact Ralf S. Engelschall <rse@engelschall.com>.
##
-## Notice: Given that you include this file verbatim into your own
+## NOTICE: Given that you include this file verbatim into your own
## source tree, you are justified in saying that it remains separate
## from your package, and that this way you are simply just using GNU
## shtool. So, in this situation, there is no requirement that your
@@ -55,7 +55,7 @@
## arx Extended archive command
## slo Separate linker options by library class
## scpp Sharing C Pre-Processor
-## version Generate and maintain a version information file
+## version Maintain a version information file
## path Deal with program paths
##
@@ -65,21 +65,22 @@ if [ $# -eq 0 ]; then
exit 1
fi
if [ ".$1" = ".-h" -o ".$1" = ".--help" ]; then
- echo "This is GNU shtool, version 1.4.9 (16-Apr-2000)"
- echo "Copyright (c) 1994-2000 Ralf S. Engelschall <rse@engelschall.com>"
+ echo "This is GNU shtool, version 1.5.4 (14-Jun-2001)"
+ echo "Copyright (c) 1994-2001 Ralf S. Engelschall <rse@engelschall.com>"
echo "Report bugs to <bug-shtool@gnu.org>"
echo ''
- echo "Usage: shtool [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]"
+ echo "Usage: shtool [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]"
echo ''
echo 'Available global <options>:'
echo ' -v, --version display shtool version information'
echo ' -h, --help display shtool usage help page (this one)'
echo ' -d, --debug display shell trace information'
+ echo ' -r, --recreate recreate this shtool script via shtoolize'
echo ''
echo 'Available <cmd-name> [<cmd-options>] [<cmd-args>]:'
echo ' echo [-n] [-e] [<str> ...]'
echo ' install [-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>]'
- echo ' [-e<ext>] <file> <path>'
+ echo ' [-e<sed-cmd>] <file> [<file> ...] <path>'
echo ' mkdir [-t] [-f] [-p] [-m<mode>] <dir> [<dir> ...]'
echo ''
echo 'Not available <cmd-name> (because module was not built-in):'
@@ -90,21 +91,25 @@ if [ ".$1" = ".-h" -o ".$1" = ".--help" ]; then
echo ' mkln [-t] [-f] [-s] <src-path> [<src-path> ...] <dst-path>'
echo ' mkshadow [-v] [-t] [-a] <src-dir> <dst-dir>'
echo ' fixperm [-v] [-t] <path> [<path> ...]'
- echo ' tarball [-t] [-v] [-o <tarball>] [-c <prog>] [-d <dir>] [-u'
- echo ' <user>] [-g <group>] [-e <pattern>] <path> [<path> ...]'
+ echo ' tarball [-t] [-v] [-o<tarball>] [-c<prog>] [-d<dir>] [-u<user>]'
+ echo ' [-g<group>] [-e<pattern>] <path> [<path> ...]'
echo ' guessos '
echo ' arx [-t] [-C<cmd>] <op> <archive> [<file> ...]'
echo ' slo [-p<str>] -- -L<dir> -l<lib> [-L<dir> -l<lib> ...]'
echo ' scpp [-v] [-p] [-f<filter>] [-o<ofile>] [-t<tfile>] [-M<mark>]'
echo ' [-D<dname>] [-C<cname>] <file> [<file> ...]'
- echo ' version [-l<lang>] [-n<name>] [-p<prefix>] [-s<version>] [-i<knob>]'
- echo ' [-d<type>] <file>'
+ echo ' version [-l<lang>] [-n<name>] [-p<prefix>] [-s<version>] [-e]'
+ echo ' [-i<knob>] [-d<type>] <file>'
echo ' path [-s] [-r] [-d] [-b] [-m] [-p<path>] <str> [<str> ...]'
echo ''
exit 0
fi
if [ ".$1" = ".-v" -o ".$1" = ."--version" ]; then
- echo "GNU shtool 1.4.9 (16-Apr-2000)"
+ echo "GNU shtool 1.5.4 (14-Jun-2001)"
+ exit 0
+fi
+if [ ".$1" = ".-r" -o ".$1" = ."--recreate" ]; then
+ shtoolize -ofoo echo install mkdir
exit 0
fi
if [ ".$1" = ".-d" -o ".$1" = ."--debug" ]; then
@@ -142,15 +147,15 @@ case $tool in
;;
install )
str_tool="install"
- str_usage="[-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>] [-e<ext>] <file> <path>"
- arg_spec="2="
- opt_spec="v.t.c.C.s.m:o:g:e:"
+ str_usage="[-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>] [-e<sed-cmd>] <file> [<file> ...] <path>"
+ arg_spec="2+"
+ opt_spec="v.t.c.C.s.m:o:g:e+"
opt_v=no
opt_t=no
opt_c=no
opt_C=no
opt_s=no
- opt_m=""
+ opt_m="0755"
opt_o=""
opt_g=""
opt_e=""
@@ -312,6 +317,7 @@ if [ ".$gen_tmpfile" = .yes ]; then
tmpfile="$tmpdir/.shtool.$$"
rm -f $tmpfile >/dev/null 2>&1
touch $tmpfile
+ chmod 600 $tmpfile
fi
##
@@ -323,7 +329,7 @@ case $tool in
echo )
##
## echo -- Print string with optional construct expansion
- ## Copyright (c) 1998-2000 Ralf S. Engelschall <rse@engelschall.com>
+ ## Copyright (c) 1998-2001 Ralf S. Engelschall <rse@engelschall.com>
## Originally written for WML as buildinfo
##
@@ -347,7 +353,7 @@ echo )
fi
# determine terminal bold sequence
- term_bold=''
+ term_bold=''
term_norm=''
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[Bb]'`" != . ]; then
case $TERM in
@@ -398,7 +404,7 @@ echo )
# determine user name
username=''
- if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[uU]'`" != . ]; then
+ if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[uUgG]'`" != . ]; then
username="$LOGNAME"
if [ ".$username" = . ]; then
username="$USER"
@@ -440,8 +446,38 @@ echo )
fi
fi
- # determine host name
+ # determine (primary) group id
+ groupid=''
+ if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[gG]'`" != . ]; then
+ groupid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
+ sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
+ if [ ".$groupid" = . ]; then
+ groupid=`(ypcat passwd) 2>/dev/null | egrep "^${username}:" | \
+ sed -e 's/[^:]*:[^:]*:[^:]*://' -e 's/:.*$//'`
+ if [ ".$groupid" = . ]; then
+ groupid='?'
+ fi
+ fi
+ fi
+
+ # determine (primary) group name
+ groupname=''
+ if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%g'`" != . ]; then
+ groupname=`egrep "^[^:]*:[^:]*:${groupid}:" /etc/group 2>/dev/null | \
+ sed -e 's/:.*$//'`
+ if [ ".$groupname" = . ]; then
+ groupname=`(ypcat group) 2>/dev/null | \
+ egrep "^[^:]*:[^:]*:${groupid}:" | \
+ sed -e 's/:.*$//'`
+ if [ ".$groupname" = . ]; then
+ groupname='?'
+ fi
+ fi
+ fi
+
+ # determine host and domain name
hostname=''
+ domainname=''
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%h'`" != . ]; then
hostname="`(uname -n) 2>/dev/null |\
awk '{ printf("%s", $1); }'`"
@@ -459,9 +495,6 @@ echo )
;;
esac
fi
-
- # determine domain name
- domainname=''
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%d'`" != . ]; then
if [ ".$domainname" = . ]; then
if [ -f /etc/resolv.conf ]; then
@@ -521,6 +554,8 @@ echo )
-e "s/%b/${term_norm}/g" \
-e "s/%u/${username}/g" \
-e "s/%U/${userid}/g" \
+ -e "s/%g/${groupname}/g" \
+ -e "s/%G/${groupid}/g" \
-e "s/%h/${hostname}/g" \
-e "s/%d/${domainname}/g" \
-e "s/%D/${time_day}/g" \
@@ -546,114 +581,144 @@ echo )
install )
##
## install -- Install a program, script or datafile
- ## Copyright (c) 1997-2000 Ralf S. Engelschall <rse@engelschall.com>
+ ## Copyright (c) 1997-2001 Ralf S. Engelschall <rse@engelschall.com>
## Originally written for shtool
##
- src="$1"
- dst="$2"
-
- # If destination is a directory, append the input filename
- if [ -d $dst ]; then
- dst=`echo "$dst" | sed -e 's:/$::'`
- dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'`
- dst="$dst/$dstfile"
- fi
+ # determine source(s) and destination
+ argc=$#
+ srcs=""
+ while [ $# -gt 1 ]; do
+ srcs="$srcs $1"
+ shift
+ done
+ dstpath="$1"
- # Add a possible extension to src and dst
- if [ ".$opt_e" != . ]; then
- src="$src$opt_e"
- dst="$dst$opt_e"
+ # type check for destination
+ dstisdir=0
+ if [ -d $dstpath ]; then
+ dstpath=`echo "$dstpath" | sed -e 's:/$::'`
+ dstisdir=1
fi
- # Check for correct arguments
- if [ ".$src" = ".$dst" ]; then
- echo "$msgprefix:Error: source and destination are the same" 1>&2
+ # consistency check for destination
+ if [ $argc -gt 2 -a $dstisdir = 0 ]; then
+ echo "$msgprefix:Error: multiple sources require destination to be directory" 1>&2
exit 1
fi
- # Make a temp file name in the destination directory
- dstdir=`echo $dst | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' -e 's;^$;.;'`
- dsttmp="$dstdir/#INST@$$#"
+ # iterate over all source(s)
+ for src in $srcs; do
+ dst=$dstpath
- # Verbosity
- if [ ".$opt_v" = .yes ]; then
- echo "$src -> $dst" 1>&2
- fi
+ # if destination is a directory, append the input filename
+ if [ $dstisdir = 1 ]; then
+ dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'`
+ dst="$dst/$dstfile"
+ fi
- # Copy or move the file name to the temp name
- # (because we might be not allowed to change the source)
- if [ ".$opt_C" = .yes ]; then
- opt_c=yes
- fi
- if [ ".$opt_c" = .yes ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "cp $src $dsttmp" 1>&2
+ # check for correct arguments
+ if [ ".$src" = ".$dst" ]; then
+ echo "$msgprefix:Warning: source and destination are the same - skipped" 1>&2
+ continue
fi
- cp $src $dsttmp || exit $?
- else
- if [ ".$opt_t" = .yes ]; then
- echo "mv $src $dsttmp" 1>&2
+ if [ -d "$src" ]; then
+ echo "$msgprefix:Warning: source \`$src' is a directory - skipped" 1>&2
+ continue
fi
- mv $src $dsttmp || exit $?
- fi
- # Adjust the target file
- # (we do chmod last to preserve setuid bits)
- if [ ".$opt_s" = .yes ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "strip $dsttmp" 1>&2
- fi
- strip $dsttmp || exit $?
- fi
- if [ ".$opt_o" != . ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "chown $opt_o $dsttmp" 1>&2
+ # make a temp file name in the destination directory
+ dsttmp=`echo $dst |\
+ sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' -e 's;^$;.;' \
+ -e "s;\$;/#INST@$$#;"`
+
+ # verbosity
+ if [ ".$opt_v" = .yes ]; then
+ echo "$src -> $dst" 1>&2
fi
- chown $opt_o $dsttmp || exit $?
- fi
- if [ ".$opt_g" != . ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "chgrp $opt_g $dsttmp" 1>&2
+
+ # copy or move the file name to the temp name
+ # (because we might be not allowed to change the source)
+ if [ ".$opt_C" = .yes ]; then
+ opt_c=yes
fi
- chgrp $opt_g $dsttmp || exit $?
- fi
- if [ ".$opt_m" != . ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "chmod $opt_m $dsttmp" 1>&2
+ if [ ".$opt_c" = .yes ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "cp $src $dsttmp" 1>&2
+ fi
+ cp $src $dsttmp || exit $?
+ else
+ if [ ".$opt_t" = .yes ]; then
+ echo "mv $src $dsttmp" 1>&2
+ fi
+ mv $src $dsttmp || exit $?
fi
- chmod $opt_m $dsttmp || exit $?
- fi
- # Determine whether to do a quick install
- # (has to be done _after_ the strip was already done)
- quick=no
- if [ ".$opt_C" = .yes ]; then
- if [ -r $dst ]; then
- if cmp -s $src $dst; then
- quick=yes
+ # adjust the target file
+ if [ ".$opt_e" != . ]; then
+ sed='sed'
+ for e in $opt_e; do
+ sed="$sed -e '$e'"
+ done
+ cp $dsttmp $dsttmp.old
+ eval "$sed <$dsttmp.old >$dsttmp" || exit $?
+ rm -f $dsttmp.old
+ fi
+ if [ ".$opt_s" = .yes ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "strip $dsttmp" 1>&2
fi
+ strip $dsttmp || exit $?
+ fi
+ if [ ".$opt_o" != . ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "chown $opt_o $dsttmp" 1>&2
+ fi
+ chown $opt_o $dsttmp || exit $?
+ fi
+ if [ ".$opt_g" != . ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "chgrp $opt_g $dsttmp" 1>&2
+ fi
+ chgrp $opt_g $dsttmp || exit $?
+ fi
+ if [ ".$opt_m" != ".-" ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "chmod $opt_m $dsttmp" 1>&2
+ fi
+ chmod $opt_m $dsttmp || exit $?
fi
- fi
- # Finally install the file to the real destination
- if [ $quick = yes ]; then
- if [ ".$opt_t" = .yes ]; then
- echo "rm -f $dsttmp" 1>&2
+ # determine whether to do a quick install
+ # (has to be done _after_ the strip was already done)
+ quick=no
+ if [ ".$opt_C" = .yes ]; then
+ if [ -r $dst ]; then
+ if cmp -s $src $dst; then
+ quick=yes
+ fi
+ fi
fi
- rm -f $dsttmp
- else
- if [ ".$opt_t" = .yes ]; then
- echo "rm -f $dst && mv $dsttmp $dst" 1>&2
+
+ # finally, install the file to the real destination
+ if [ $quick = yes ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "rm -f $dsttmp" 1>&2
+ fi
+ rm -f $dsttmp
+ else
+ if [ ".$opt_t" = .yes ]; then
+ echo "rm -f $dst && mv $dsttmp $dst" 1>&2
+ fi
+ rm -f $dst && mv $dsttmp $dst
fi
- rm -f $dst && mv $dsttmp $dst
- fi
+ done
;;
mkdir )
##
## mkdir -- Make one or more directories
- ## Copyright (c) 1996-2000 Ralf S. Engelschall <rse@engelschall.com>
+ ## Copyright (c) 1996-2001 Ralf S. Engelschall <rse@engelschall.com>
## Originally written for public domain by Noah Friedman <friedman@prep.ai.mit.edu>
## Cleaned up and enhanced for shtool
##
@@ -662,7 +727,7 @@ mkdir )
for p in ${1+"$@"}; do
# if the directory already exists...
if [ -d "$p" ]; then
- if [ ".$opt_f" = .no ] && [ ".$opt_p" = .no ]; then
+ if [ ".$opt_f" = .no -a ".$opt_p" = .no ]; then
echo "$msgprefix:Error: directory already exists: $p" 1>&2
errstatus=1
break
@@ -676,6 +741,12 @@ mkdir )
echo "mkdir $p" 1>&2
fi
mkdir $p || errstatus=$?
+ if [ ".$opt_m" != . ]; then
+ if [ ".$opt_t" = .yes ]; then
+ echo "chmod $opt_m $p" 1>&2
+ fi
+ chmod $opt_m $p || errstatus=$?
+ fi
else
# the smart situation
set fnord `echo ":$p" |\
diff --git a/build/sysv_makefile b/build/sysv_makefile
deleted file mode 100755
index 06b2bd24fc..0000000000
--- a/build/sysv_makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-# cwd must be top_srcdir
-test -f build/sysv_makefile || exit 2
-
-test -f bsd_converted || exit 1
-
-tmpfile=`mktemp /tmp/sysv_makefile.XXXXXX` || tmpfile="tmp.$$"
-for i in build/*.mk; do
- sed 's/^\.include "\(.*\)"/include \1/' $i >$tmpfile \
- && cp $tmpfile $i
-done
-rm -f $tmpfile
-
-rm bsd_converted
-exit 0
diff --git a/configure.in b/configure.in
index 00081be1ca..16d647508f 100644
--- a/configure.in
+++ b/configure.in
@@ -36,10 +36,9 @@ for arg in $0 "$@"; do
done
AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE(php, 4.3.0-dev, nodefine)
-AM_CONFIG_HEADER(main/php_config.h)
-AM_MAINTAINER_MODE
+AC_CONFIG_HEADER(main/php_config.h)
+VERSION=4.3.0-dev
dnl Setting up the PHP version based on the information above.
@@ -109,6 +108,8 @@ dnl -------------------------------------------------------------------------
cwd=`pwd`
+PHP_INIT_BUILD_SYSTEM
+
php_shtool=$srcdir/build/shtool
T_MD=`$php_shtool echo -n -e %B`
T_ME=`$php_shtool echo -n -e %b`
@@ -130,16 +131,13 @@ dnl or the contents of libs.
$php_shtool mkdir -p libs
rm -f libs/*
-PHP_FAST_OUTPUT(sapi/Makefile ext/Makefile Makefile pear/Makefile main/Makefile sapi/cli/Makefile)
-
-
dnl Checks for programs.
dnl -------------------------------------------------------------------------
AC_PROG_CC
AC_PROG_CC_C_O
dnl Change to AC_PROG_CC_STDC when we start requiring a post-2.13 autoconf
-AM_PROG_CC_STDC
+dnl AC_PROG_CC_STDC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXXCPP
@@ -220,7 +218,7 @@ dnl -------------------------------------------------------------------------
PTHREADS_CHECK
PHP_HELP_SEPARATOR([SAPI modules:])
PHP_SHLIB_SUFFIX_NAME
-PHP_SAPI=cgi
+PHP_SAPI=default
PHP_BUILD_PROGRAM
@@ -238,6 +236,10 @@ PHP_CONFIGURE_PART(Configuring SAPI modules)
esyscmd(./scripts/config-stubs sapi)
+if test "$PHP_SAPI" = "default"; then
+ PHP_SELECT_SAPI(cgi, program, cgi_main.c getopt.c)
+fi
+
AC_MSG_CHECKING([for chosen SAPI module])
AC_MSG_RESULT([$PHP_SAPI])
@@ -247,7 +249,6 @@ if test "$enable_experimental_zts" = "yes"; then
fi
-
divert(3)
dnl ## In diversion 3 we check for compile-time options to the PHP
@@ -769,9 +770,6 @@ PHP_CONFIGURE_PART(Configuring extensions)
# reading config stubs
esyscmd(./scripts/config-stubs ext)
-PHP_FAST_OUTPUT(sapi/$PHP_SAPI/Makefile)
-
-
dnl Other settings.
dnl -------------------------------------------------------------------------
@@ -802,11 +800,9 @@ unset with_pic
case $php_build_target in
program|static)
standard_libtool_flag='-prefer-non-pic -static'
- if test "$lib_build_shared" != "yes"; then
+ if test -z "$PHP_MODULES"; then
enable_shared=no
fi
- PHP_COMPILE='$(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c $< && touch $@'
- CXX_PHP_COMPILE='$(CXX) $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c $< && touch $@'
;;
shared)
enable_static=no
@@ -815,15 +811,6 @@ shared)
;;
esac
-if test "$PHP_SAPI" = "cgi"; then
- PHP_PROGRAM=php
-fi
-
-if test "$PHP_SAPI" = "fastcgi"; then
- PHP_PROGRAM=php
-fi
-
-
PHP_REGEX
EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
@@ -960,20 +947,19 @@ AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
PHP_OS=`uname`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
-if test "$disable_cli" = "1"; then
- CLI_DIR=
-else
- CLI_DIR=sapi/cli
+if test "$disable_cli" != "1"; then
+ PHP_CLI_TARGET=sapi/cli/php
+ PHP_ADD_SOURCES(sapi/cli, php_cli.c getopt.c,, cli)
fi
-PHP_SUBST(CLI_DIR)
+PHP_SUBST(PHP_CLI_TARGET)
+PHP_SUBST(PHP_SAPI_OBJS)
+PHP_SUBST(PHP_CLI_OBJS)
+PHP_SUBST(PHP_GLOBAL_OBJS)
+
+PHP_SUBST(PHP_MODULES)
-PHP_SUBST(EXT_SUBDIRS)
-PHP_SUBST(EXT_STATIC)
-PHP_SUBST(EXT_SHARED)
PHP_SUBST(EXT_LIBS)
-PHP_SUBST(EXT_LTLIBS)
-PHP_SUBST(EXT_CLI_LTLIBS)
PHP_SUBST_OLD(abs_builddir)
PHP_SUBST_OLD(abs_srcdir)
@@ -1020,7 +1006,7 @@ PHP_SUBST(PHP_BUILD_DATE)
PHP_SUBST(PHP_COMPILE)
PHP_SUBST_OLD(PHP_LDFLAGS)
PHP_SUBST_OLD(PHP_LIBS)
-PHP_SUBST(PHP_PROGRAM)
+PHP_SUBST(OVERALL_TARGET)
PHP_SUBST(PHP_RPATHS)
PHP_SUBST(PHP_SAPI)
PHP_SUBST(PHP_VERSION)
@@ -1051,9 +1037,9 @@ if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
CPPFLAGS="$CPPFLAGS -DTHREAD=1"
fi
-AM_PROG_LIBTOOL
+AC_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
- AM_SET_LIBTOOL_VARIABLE([--silent])
+ PHP_SET_LIBTOOL_VARIABLE([--silent])
fi
@@ -1071,13 +1057,61 @@ CFLAGS="$CFLAGS $standard_libtool_flag"
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
CXXFLAGS="$CXXFLAGS $standard_libtool_flag"
-PHP_GEN_CONFIG_VARS
+all_targets='$(OVERALL_TARGET) $(PHP_MODULES) $(PHP_CLI_TARGET)'
+install_targets='install-sapi install-modules install-cli install-data-local install-headers install-build install-programs'
+PHP_SUBST(all_targets)
+PHP_SUBST(install_targets)
+
+PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c)
+
+PHP_ADD_SOURCES(main, main.c snprintf.c php_sprintf.c \
+ safe_mode.c fopen_wrappers.c alloca.c \
+ php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
+ strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
+ streams.c network.c php_open_temporary_file.c php_logos.c \
+ output.c)
+PHP_ADD_SOURCES(/main, internal_functions.c,, sapi)
+PHP_ADD_SOURCES(/main, internal_functions_cli.c,, cli)
+
+PHP_ADD_SOURCES(/Zend, zend_language_parser.c zend_language_scanner.c \
+ zend_ini_parser.c zend_ini_scanner.c)
+
+PHP_ADD_SOURCES(Zend, \
+ zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c \
+ zend_execute_API.c zend_highlight.c zend_llist.c \
+ zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
+ zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
+ zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
+ zend_ini.c zend_qsort.c)
+
+dnl Selectively disable optimization due to high RAM usage during
+dnl compiling the executor.
+if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
+ flag=-O0
+else
+ flag=
+fi
+
+PHP_ADD_SOURCES_X(Zend, zend_execute.c,,PHP_GLOBAL_OBJS,,$flag)
+
+PHP_ADD_BUILD_DIR(main)
+PHP_ADD_BUILD_DIR(regex)
+PHP_ADD_BUILD_DIR(sapi/$PHP_SAPI sapi/cli)
+PHP_ADD_BUILD_DIR(TSRM)
+PHP_ADD_BUILD_DIR(Zend)
+
+
+PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
+PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.frag,$abs_srcdir/Zend,Zend)
+
+PHP_GEN_BUILD_DIRS
+PHP_GEN_GLOBAL_MAKEFILE
$php_shtool mkdir -p pear/scripts
-ALL_OUTPUT_FILES="php4.spec Zend/Makefile main/build-defs.h \
+ALL_OUTPUT_FILES="php4.spec main/build-defs.h \
pear/scripts/pear pear/scripts/phpize pear/scripts/php-config \
pear/scripts/pearize pear/scripts/phptar pear/scripts/pear-get \
-TSRM/Makefile $PHP_OUTPUT_FILES"
+$PHP_OUTPUT_FILES"
AC_OUTPUT($ALL_OUTPUT_FILES, [], [
@@ -1085,10 +1119,6 @@ if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test -z "\$CONFIG_FILES"; then
REDO_ALL=yes
fi
-if test -n "\$REDO_ALL"; then
- PHP_GEN_MAKEFILES($PHP_FAST_OUTPUT_FILES)
-fi
-
if test ! -f $srcdir/ext/bcmath/number.c; then
echo "creating number.c"
echo "/* Dummy File */" > $srcdir/ext/bcmath/number.c
diff --git a/dynlib.m4 b/dynlib.m4
deleted file mode 100644
index 610e7d89b6..0000000000
--- a/dynlib.m4
+++ /dev/null
@@ -1,88 +0,0 @@
-# +----------------------------------------------------------------------+
-# | PHP Version 4 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-2002 The PHP Group |
-# +----------------------------------------------------------------------+
-# | This source file is subject to version 2.02 of the PHP license, |
-# | that is bundled with this package in the file LICENSE, and is |
-# | available at through the world-wide-web at |
-# | http://www.php.net/license/2_02.txt. |
-# | If you did not receive a copy of the PHP license and are unable to |
-# | obtain it through the world-wide-web, please send a note to |
-# | license@php.net so we can mail you a copy immediately. |
-# +----------------------------------------------------------------------+
-# | Author: Sascha Schumann <sascha@schumann.cx> |
-# +----------------------------------------------------------------------+
-#
-# $Id$
-#
-
-
-
-AC_DEFUN(LIB_SHARED_CONVENIENCE,[
- lib_target="\$(LTLIBRARY_NAME)"
- cat >>$1<<EOF
-\$(LTLIBRARY_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
- \$(SHARED_LIBTOOL) --mode=link \$(COMPILE) \$(LDFLAGS) -o \[$]@ \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
-
-EOF
-])
-
-AC_DEFUN(LIB_SHARED_MODULE,[
- lib_target="\$(LTLIBRARY_SHARED_NAME)"
- cat >>$1<<EOF
-\$(LTLIBRARY_SHARED_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
- \$(SHARED_LIBTOOL) --mode=link \$(CC) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -avoid-version -module -rpath \$(phplibdir) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
- \$(SHARED_LIBTOOL) --mode=install cp \[$]@ \$(phplibdir)
-
-EOF
-])
-
-AC_DEFUN(LIB_STATIC_CONVENIENCE,[
- lib_target="\$(LTLIBRARY_NAME)"
- cat >>$1<<EOF
-\$(LTLIBRARY_NAME): \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
- \$(LINK) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_LIBADD)
-
-EOF
-])
-
-dnl LIB_BUILD(path, shared, convenience)
-dnl sets up path to build a shared/static convenience/module
-AC_DEFUN(LIB_BUILD,[
- lib_makefile="$1/libs.mk"
- lib_target=""
-
- $php_shtool mkdir -p $1
- if test "$BSD_MAKEFILE" = "yes"; then
- lib_include_conf=".include \"\$(top_builddir)/config_vars.mk\""
- else
- lib_include_conf="include \$(top_builddir)/config_vars.mk"
- fi
- cat >$lib_makefile<<EOF
-$lib_include_conf
-LTLIBRARY_OBJECTS = \$(LTLIBRARY_SOURCES:.c=.lo) \$(LTLIBRARY_OBJECTS_X)
-LTLIBRARY_SHARED_OBJECTS = \$(LTLIBRARY_OBJECTS:.lo=.slo)
-EOF
-
- if test "$2" = "shared" || test "$2" = "yes"; then
- lib_build_shared=yes
- if test -n "$3"; then
-dnl ---------------------------------------- Shared Convenience
- LIB_SHARED_CONVENIENCE($lib_makefile)
- else
-dnl ---------------------------------------- Shared Module
- LIB_SHARED_MODULE($lib_makefile)
- fi
- else
-dnl ---------------------------------------- Static Convenience = Static Module
- LIB_STATIC_CONVENIENCE($lib_makefile)
- fi
-
-dnl ---------------------------------------- Generate build targets
- if test -n "$lib_target"; then
- cat >>$lib_makefile<<EOF
-targets = $lib_target
-EOF
- fi
-])
diff --git a/ext/bcmath/Makefile.in b/ext/bcmath/Makefile.in
deleted file mode 100644
index e57936fd81..0000000000
--- a/ext/bcmath/Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
-
-LTLIBRARY_NAME = libbcmath.la
-LTLIBRARY_SOURCES = bcmath.c number.c
-LTLIBRARY_SHARED_NAME = bcmath.la
-LTLIBRARY_DEPENDENCIES = libbcmath/libbcmath.la
-LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES)
-LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_LIBADD)
-
-SUBDIRS = libbcmath
-
-include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/bcmath/config.m4 b/ext/bcmath/config.m4
index 4d6e7bc028..a4fbb60030 100644
--- a/ext/bcmath/config.m4
+++ b/ext/bcmath/config.m4
@@ -7,8 +7,11 @@ PHP_ARG_ENABLE(bcmath, whether to enable bc style precision math functions,
if test "$PHP_BCMATH" != "no"; then
AC_DEFINE(WITH_BCMATH, 1, [Whether you have bcmath])
- PHP_EXTENSION(bcmath, $ext_shared)
- PHP_FAST_OUTPUT($ext_builddir/libbcmath/Makefile $ext_builddir/libbcmath/src/Makefile)
- LIB_BUILD($ext_builddir/libbcmath,$ext_shared,yes)
- LIB_BUILD($ext_builddir/libbcmath/src,$ext_shared,yes)
+ PHP_NEW_EXTENSION(bcmath, bcmath.c number.c \
+libbcmath/src/add.c libbcmath/src/div.c libbcmath/src/init.c libbcmath/src/neg.c libbcmath/src/outofmem.c libbcmath/src/raisemod.c libbcmath/src/rt.c libbcmath/src/sub.c \
+libbcmath/src/compare.c libbcmath/src/divmod.c libbcmath/src/int2num.c libbcmath/src/num2long.c libbcmath/src/output.c libbcmath/src/recmul.c \
+libbcmath/src/sqrt.c libbcmath/src/zero.c libbcmath/src/debug.c libbcmath/src/doaddsub.c libbcmath/src/nearzero.c libbcmath/src/num2str.c libbcmath/src/raise.c \
+libbcmath/src/rmzero.c libbcmath/src/str2num.c,
+ $ext_shared,,-I@ext_srcdir@/libbcmath/src)
+ PHP_ADD_BUILD_DIR($ext_builddir/libbcmath/src)
fi
diff --git a/ext/bcmath/libbcmath/Makefile.in b/ext/bcmath/libbcmath/Makefile.in
deleted file mode 100644
index 0743bd7150..0000000000
--- a/ext/bcmath/libbcmath/Makefile.in
+++ /dev/null
@@ -1,9 +0,0 @@
-
-LTLIBRARY_NAME = libbcmath.la
-LTLIBRARY_DEPENDENCIES = src/libbcmath.la
-LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES)
-LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_LIBADD)
-
-SUBDIRS = src
-
-include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/bcmath/libbcmath/src/Makefile.in b/ext/bcmath/libbcmath/src/Makefile.in
deleted file mode 100644
index f4a235f94a..0000000000
--- a/ext/bcmath/libbcmath/src/Makefile.in
+++ /dev/null
@@ -1,7 +0,0 @@
-LTLIBRARY_NAME = libbcmath.la
-LTLIBRARY_SOURCES = add.c div.c init.c neg.c outofmem.c raisemod.c rt.c sub.c \
- compare.c divmod.c int2num.c num2long.c output.c recmul.c \
- sqrt.c zero.c debug.c doaddsub.c nearzero.c num2str.c raise.c \
- rmzero.c str2num.c
-
-include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/domxml/config.m4 b/ext/domxml/config.m4
index cbe6d9ad5c..bcd959645f 100644
--- a/ext/domxml/config.m4
+++ b/ext/domxml/config.m4
@@ -104,7 +104,7 @@ PHP_ARG_WITH(dom-xslt, for DOM XSLT support,
DIR is the libxslt install directory.])
PHP_ARG_WITH(dom-exslt, for DOM EXSLT support,
-[ --with-dom-exslt[=DIR] Include DOM EXSLT support (requires libxslt >= 1.0.3).
+[ --with-dom-exslt[=DIR] Include DOM EXSLT support (requires libxslt >= 1.0.3).
DIR is the libexslt install directory.])
if test "$PHP_DOM_XSLT" != "no"; then
diff --git a/ext/ext_skel b/ext/ext_skel
index 0cde813344..78c473920c 100755
--- a/ext/ext_skel
+++ b/ext/ext_skel
@@ -156,31 +156,17 @@ if test "\$PHP_$EXTNAME" != "no"; then
dnl
dnl PHP_SUBST(${EXTNAME}_SHARED_LIBADD)
- PHP_EXTENSION($extname, \$ext_shared)
+ PHP_NEW_EXTENSION($extname, $extname.c, \$ext_shared)
fi
eof
-$ECHO_N " Makefile.in$ECHO_C"
-cat >Makefile.in <<eof
-# \$Id\$
-
-LTLIBRARY_NAME = lib$extname.la
-LTLIBRARY_SOURCES = $extname.c
-LTLIBRARY_SHARED_NAME = $extname.la
-LTLIBRARY_SHARED_LIBADD = \$(${EXTNAME}_SHARED_LIBADD)
-
-include \$(top_srcdir)/build/dynlib.mk
-eof
-
$ECHO_N " .cvsignore$ECHO_C"
cat >.cvsignore <<eof
.deps
-Makefile
*.lo
*.la
.libs
-libs.mk
eof
$ECHO_N " $extname.c$ECHO_C"
diff --git a/ext/informix/Makefile.frag b/ext/informix/Makefile.frag
new file mode 100644
index 0000000000..815a9e2c3c
--- /dev/null
+++ b/ext/informix/Makefile.frag
@@ -0,0 +1,10 @@
+
+$(builddir)/ifx.c: $(srcdir)/ifx.ec $(builddir)/libphpifx.a
+ (if test -d $(INFORMIXDIR); then \
+ THREADLIB=POSIX $(INFORMIXDIR)/bin/esql -e $(IFX_ESQL_FLAGS) $(srcdir)/ifx.ec; mv ifx.c $@; \
+ else \
+ touch $@; \
+ fi)
+
+$(builddir)/libphpifx.a:
+ $(LINK) $(IFX_LIBOBJS)
diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4
index 5f1e268c9e..1a28ecd4fd 100644
--- a/ext/mysql/config.m4
+++ b/ext/mysql/config.m4
@@ -39,21 +39,32 @@ PHP_ARG_WITH(mysql, for MySQL support,
[ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base directory.
If unspecified, the bundled MySQL library will be used.], yes)
+if test "$PHP_MYSQL" = "yes"; then
+ sources="libmysql/libmysql.c libmysql/errmsg.c libmysql/net.c libmysql/violite.c libmysql/password.c \
+ libmysql/my_init.c libmysql/my_lib.c libmysql/my_static.c libmysql/my_malloc.c libmysql/my_realloc.c libmysql/my_create.c \
+ libmysql/my_delete.c libmysql/my_tempnam.c libmysql/my_open.c libmysql/mf_casecnv.c libmysql/my_read.c \
+ libmysql/my_write.c libmysql/errors.c libmysql/my_error.c libmysql/my_getwd.c libmysql/my_div.c libmysql/mf_pack.c \
+ libmysql/my_messnc.c libmysql/mf_dirname.c libmysql/mf_fn_ext.c libmysql/mf_wcomp.c libmysql/typelib.c libmysql/safemalloc.c \
+ libmysql/my_alloc.c libmysql/mf_format.c libmysql/mf_path.c libmysql/mf_unixpath.c libmysql/my_fopen.c libmysql/mf_loadpath.c \
+ libmysql/my_pthread.c libmysql/my_thr_init.c libmysql/thr_mutex.c libmysql/mulalloc.c libmysql/string.c libmysql/default.c \
+ libmysql/my_compress.c libmysql/array.c libmysql/my_once.c libmysql/list.c libmysql/my_net.c libmysql/dbug.c \
+ libmysql/strmov.c libmysql/strxmov.c libmysql/strnmov.c libmysql/strmake.c libmysql/strend.c libmysql/strfill.c \
+ libmysql/is_prefix.c libmysql/int2str.c libmysql/str2int.c libmysql/strinstr.c \
+ libmysql/strcont.c libmysql/strcend.c libmysql/bchange.c libmysql/bmove.c libmysql/bmove_upp.c \
+ libmysql/longlong2str.c libmysql/strtoull.c libmysql/strtoll.c libmysql/charset.c libmysql/ctype.c"
+else
+ sources=
+fi
+
if test "$PHP_MYSQL" != "no"; then
AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL])
- PHP_EXTENSION(mysql,$ext_shared)
+ PHP_NEW_EXTENSION(mysql,php_mysql.c $sources, $ext_shared,,-I@ext_srcdir@/libmysql)
fi
if test "$PHP_MYSQL" = "yes"; then
PHP_MYSQL_SOCK
MYSQL_CHECKS
- MYSQL_LIBADD=libmysql/libmysql_client.la
- MYSQL_SHARED_LIBADD=libmysql/libmysql_client.la
- MYSQL_SUBDIRS=libmysql
- PHP_SUBST(MYSQL_LIBADD)
- PHP_SUBST(MYSQL_SUBDIRS)
- LIB_BUILD($ext_builddir/libmysql,$ext_shared,yes)
- PHP_ADD_INCLUDE($ext_srcdir/libmysql)
+ PHP_ADD_BUILD_DIR($ext_builddir/libmysql)
MYSQL_MODULE_TYPE=builtin
elif test "$PHP_MYSQL" != "no"; then
for i in $PHP_MYSQL; do
diff --git a/ext/mysql/libmysql/mysql.m4 b/ext/mysql/libmysql/mysql.m4
index 36bba66e50..23143e36a8 100644
--- a/ext/mysql/libmysql/mysql.m4
+++ b/ext/mysql/libmysql/mysql.m4
@@ -13,6 +13,4 @@ MYSQL_CHECK_PTHREAD_GETSPECIFIC
MYSQL_CHECK_PTHREAD_MUTEX_INIT
MYSQL_CHECK_READDIR_R_ARGS
MYSQL_CHECK_SIGWAIT_STYLE
-
-PHP_FAST_OUTPUT($ext_builddir/libmysql/Makefile)
])
diff --git a/ext/pcre/config.m4 b/ext/pcre/config.m4
index cf973fe052..7f03ddd3df 100644
--- a/ext/pcre/config.m4
+++ b/ext/pcre/config.m4
@@ -12,16 +12,10 @@ PHP_ARG_WITH(pcre-regex,for PCRE support,
if not using bundled library.],yes)
if test "$PHP_PCRE_REGEX" != "no"; then
- PHP_EXTENSION(pcre, $ext_shared)
if test "$PHP_PCRE_REGEX" = "yes"; then
- PCRE_LIBADD=pcrelib/libpcre.la
- PCRE_SHARED_LIBADD=pcrelib/libpcre.la
- PCRE_SUBDIRS=pcrelib
- PHP_SUBST(PCRE_LIBADD)
- PHP_SUBST(PCRE_SUBDIRS)
+ PHP_NEW_EXTENSION(pcre, pcrelib/maketables.c pcrelib/get.c pcrelib/study.c pcrelib/pcre.c php_pcre.c, $ext_shared,,-DSUPPORT_UTF8 -I@ext_srcdir@/pcrelib)
+ PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
- PHP_FAST_OUTPUT($ext_builddir/pcrelib/Makefile)
- LIB_BUILD($ext_builddir/pcrelib,$ext_shared,yes)
else
test -f $PHP_PCRE_REGEX/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX
test -f $PHP_PCRE_REGEX/include/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX/include
@@ -52,8 +46,8 @@ if test "$PHP_PCRE_REGEX" != "no"; then
PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD)
- PHP_ADD_INCLUDE($PCRE_INCDIR)
AC_DEFINE(HAVE_PCRE, 1, [ ])
+ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,,-DSUPPORT_UTF8 -I$PCRE_INCDIR)
fi
fi
PHP_SUBST(PCRE_SHARED_LIBADD)
diff --git a/ext/pcre/config0.m4 b/ext/pcre/config0.m4
index cf973fe052..7f03ddd3df 100644
--- a/ext/pcre/config0.m4
+++ b/ext/pcre/config0.m4
@@ -12,16 +12,10 @@ PHP_ARG_WITH(pcre-regex,for PCRE support,
if not using bundled library.],yes)
if test "$PHP_PCRE_REGEX" != "no"; then
- PHP_EXTENSION(pcre, $ext_shared)
if test "$PHP_PCRE_REGEX" = "yes"; then
- PCRE_LIBADD=pcrelib/libpcre.la
- PCRE_SHARED_LIBADD=pcrelib/libpcre.la
- PCRE_SUBDIRS=pcrelib
- PHP_SUBST(PCRE_LIBADD)
- PHP_SUBST(PCRE_SUBDIRS)
+ PHP_NEW_EXTENSION(pcre, pcrelib/maketables.c pcrelib/get.c pcrelib/study.c pcrelib/pcre.c php_pcre.c, $ext_shared,,-DSUPPORT_UTF8 -I@ext_srcdir@/pcrelib)
+ PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
- PHP_FAST_OUTPUT($ext_builddir/pcrelib/Makefile)
- LIB_BUILD($ext_builddir/pcrelib,$ext_shared,yes)
else
test -f $PHP_PCRE_REGEX/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX
test -f $PHP_PCRE_REGEX/include/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX/include
@@ -52,8 +46,8 @@ if test "$PHP_PCRE_REGEX" != "no"; then
PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD)
- PHP_ADD_INCLUDE($PCRE_INCDIR)
AC_DEFINE(HAVE_PCRE, 1, [ ])
+ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,,-DSUPPORT_UTF8 -I$PCRE_INCDIR)
fi
fi
PHP_SUBST(PCRE_SHARED_LIBADD)
diff --git a/ext/pdf/config.m4 b/ext/pdf/config.m4
index b59cae49fa..1b13b86847 100644
--- a/ext/pdf/config.m4
+++ b/ext/pdf/config.m4
@@ -17,7 +17,8 @@ if test "$PHP_PDFLIB" != "no"; then
dnl # libjpeg
PHP_ARG_WITH(jpeg-dir, for the location of libjpeg,
- [ --with-jpeg-dir[=DIR] PDFLIB: define libjpeg install directory. (OPTIONAL for PDFlib v4)])
+ [ --with-jpeg-dir[=DIR] PDFLIB: define libjpeg install directory.
+ (OPTIONAL for PDFlib v4)])
if test "$PHP_JPEG_DIR" != "no"; then
PHP_CHECK_LIBRARY(jpeg,jpeg_read_header,
@@ -35,7 +36,8 @@ if test "$PHP_PDFLIB" != "no"; then
dnl # libpng
PHP_ARG_WITH(png-dir, for the location of libpng,
- [ --with-png-dir[=DIR] PDFLIB: define libpng install directory. (OPTIONAL for PDFlib v4)])
+ [ --with-png-dir[=DIR] PDFLIB: define libpng install directory.
+ (OPTIONAL for PDFlib v4)])
if test "$PHP_PNG_DIR" != "no"; then
PHP_CHECK_LIBRARY(png,png_create_info_struct,
@@ -53,7 +55,8 @@ if test "$PHP_PDFLIB" != "no"; then
dnl # libtiff
PHP_ARG_WITH(tiff-dir, for the location of libtiff,
- [ --with-tiff-dir[=DIR] PDFLIB: define libtiff install directory. (OPTIONAL for PDFlib v4)])
+ [ --with-tiff-dir[=DIR] PDFLIB: define libtiff install directory.
+ (OPTIONAL for PDFlib v4)])
if test "$PHP_TIFF_DIR" != "no"; then
PHP_CHECK_LIBRARY(tiff,TIFFOpen,
diff --git a/ext/rpc/xmlrpc/config.m4 b/ext/rpc/xmlrpc/config.m4
index 6462273cfe..c8f036282c 100644
--- a/ext/rpc/xmlrpc/config.m4
+++ b/ext/rpc/xmlrpc/config.m4
@@ -15,7 +15,6 @@ PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI,
if test "$PHP_XMLRPC" != "no"; then
- PHP_EXTENSION(xmlrpc, $ext_shared)
PHP_SUBST(XMLRPC_SHARED_LIBADD)
AC_DEFINE(HAVE_XMLRPC,1,[ ])
@@ -54,13 +53,14 @@ fi
if test "$PHP_XMLRPC" = "yes"; then
XMLRPC_CHECKS
- XMLRPC_LIBADD=libxmlrpc/libxmlrpc.la
- XMLRPC_SHARED_LIBADD=libxmlrpc/libxmlrpc.la
- XMLRPC_SUBDIRS=libxmlrpc
- PHP_SUBST(XMLRPC_LIBADD)
- PHP_SUBST(XMLRPC_SUBDIRS)
- LIB_BUILD($ext_builddir/libxmlrpc,$ext_shared,yes)
- PHP_ADD_INCLUDE($ext_srcdir/libxmlrpc)
+ PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c libxmlrpc/base64.c \
+ libxmlrpc/simplestring.c libxmlrpc/xml_to_dandarpc.c \
+ libxmlrpc/xmlrpc_introspection.c libxmlrpc/encodings.c \
+ libxmlrpc/system_methods.c libxmlrpc/xml_to_xmlrpc.c \
+ libxmlrpc/queue.c libxmlrpc/xml_element.c libxmlrpc/xmlrpc.c \
+ libxmlrpc/xml_to_soap.c,$ext_shared,,
+ -I@ext_srcdir@/libxmlrpc -DVERSION="0.50")
+ PHP_ADD_BUILD_DIR($ext_builddir/libxmlrpc)
XMLRPC_MODULE_TYPE=builtin
elif test "$PHP_XMLRPC" != "no"; then
diff --git a/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.m4 b/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.m4
index 7f797cb2a4..e89c245f02 100644
--- a/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.m4
+++ b/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.m4
@@ -9,6 +9,4 @@ AC_DEFINE(UNDEF_THREADS_HACK,,[ ])
XMLRPC_HEADER_CHECKS
XMLRPC_TYPE_CHECKS
XMLRPC_FUNCTION_CHECKS
-
-PHP_FAST_OUTPUT($ext_builddir/libxmlrpc/Makefile)
])
diff --git a/ext/session/Makefile.in b/ext/session/Makefile.in
deleted file mode 100644
index 2e1d76edb0..0000000000
--- a/ext/session/Makefile.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-LTLIBRARY_NAME = libsession.la
-LTLIBRARY_SOURCES = session.c mod_files.c mod_mm.c mod_user.c
-LTLIBRARY_SHARED_NAME = session.la
-LTLIBRARY_SHARED_LIBADD = $(SESSION_SHARED_LIBADD)
-
-include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/session/config.m4 b/ext/session/config.m4
index bf3f3b8105..098e271956 100644
--- a/ext/session/config.m4
+++ b/ext/session/config.m4
@@ -29,7 +29,7 @@ if test "$PHP_SESSION" != "no"; then
AC_CHECK_FUNCS(pread pwrite)
PHP_MISSING_PWRITE_DECL
PHP_MISSING_PREAD_DECL
- PHP_EXTENSION(session,$ext_shared)
+ PHP_NEW_EXTENSION(session, session.c mod_files.c mod_mm.c mod_user.c, $ext_shared)
PHP_SUBST(SESSION_SHARED_LIBADD)
AC_DEFINE(HAVE_PHP_SESSION,1,[ ])
fi
diff --git a/ext/standard/Makefile.frag b/ext/standard/Makefile.frag
new file mode 100644
index 0000000000..934f501e6c
--- /dev/null
+++ b/ext/standard/Makefile.frag
@@ -0,0 +1,8 @@
+
+$(srcdir)/parsedate.c: $(srcdir)/parsedate.y
+
+$(srcdir)/var_unserializer.c: $(srcdir)/var_unserializer.re
+ re2c -b $(srcdir)/var_unserializer.re > $@
+
+$(srcdir)/url_scanner_ex.c: $(srcdir)/url_scanner_ex.re
+ re2c -b $(srcdir)/url_scanner_ex.re > $@
diff --git a/ext/standard/Makefile.in b/ext/standard/Makefile.in
deleted file mode 100644
index 6f7e06dcb5..0000000000
--- a/ext/standard/Makefile.in
+++ /dev/null
@@ -1,22 +0,0 @@
-
-LTLIBRARY_NAME = libstandard.la
-LTLIBRARY_SOURCES=\
- array.c base64.c basic_functions.c browscap.c crc32.c crypt.c cyr_convert.c datetime.c \
- dir.c dl.c dns.c exec.c file.c filestat.c flock_compat.c \
- formatted_print.c fsock.c head.c html.c image.c info.c iptc.c lcg.c \
- link.c mail.c math.c md5.c metaphone.c microtime.c pack.c pageinfo.c \
- parsedate.c quot_print.c rand.c reg.c soundex.c string.c scanf.c \
- syslog.c type.c uniqid.c url.c url_scanner.c var.c versioning.c assert.c \
- strnatcmp.c levenshtein.c incomplete_class.c url_scanner_ex.c \
- ftp_fopen_wrapper.c http_fopen_wrapper.c php_fopen_wrapper.c credits.c \
- var_unserializer.c ftok.c aggregation.c
-
-include $(top_srcdir)/build/dynlib.mk
-
-parsedate.c: $(srcdir)/parsedate.y
-
-$(srcdir)/var_unserializer.c: $(srcdir)/var_unserializer.re
- re2c -b $(srcdir)/var_unserializer.re > $@
-
-$(srcdir)/url_scanner_ex.c: $(srcdir)/url_scanner_ex.re
- re2c -b $(srcdir)/url_scanner_ex.re > $@
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
index e0043d23a7..130664c361 100644
--- a/ext/standard/config.m4
+++ b/ext/standard/config.m4
@@ -233,4 +233,14 @@ if test "$PHP_SAPI" = "cgi"; then
AC_DEFINE(ENABLE_CHROOT_FUNC, 1, [Whether to enable chroot() function])
fi
-PHP_EXTENSION(standard)
+PHP_NEW_EXTENSION(standard, array.c base64.c basic_functions.c browscap.c crc32.c crypt.c cyr_convert.c datetime.c \
+ dir.c dl.c dns.c exec.c file.c filestat.c flock_compat.c \
+ formatted_print.c fsock.c head.c html.c image.c info.c iptc.c lcg.c \
+ link.c mail.c math.c md5.c metaphone.c microtime.c pack.c pageinfo.c \
+ parsedate.c quot_print.c rand.c reg.c soundex.c string.c scanf.c \
+ syslog.c type.c uniqid.c url.c url_scanner.c var.c versioning.c assert.c \
+ strnatcmp.c levenshtein.c incomplete_class.c url_scanner_ex.c \
+ ftp_fopen_wrapper.c http_fopen_wrapper.c php_fopen_wrapper.c credits.c \
+ var_unserializer.c ftok.c aggregation.c)
+
+PHP_ADD_MAKEFILE_FRAGMENT
diff --git a/ext/xml/config.m4 b/ext/xml/config.m4
index 56445663f9..42dd8182e2 100644
--- a/ext/xml/config.m4
+++ b/ext/xml/config.m4
@@ -3,7 +3,7 @@ dnl $Id$
dnl
dnl Fallback for --with-xml[=DIR]
-AC_ARG_WITH(xml,[],enable_xml=$withval)
+dnl PHP_ARG_WITH(xml,[],enable_xml=$withval)
AC_C_BIGENDIAN
@@ -20,27 +20,15 @@ PHP_ARG_WITH(expat-dir, external libexpat install dir,
[ --with-expat-dir=DIR XML: external libexpat install dir])
if test "$PHP_XML" = "yes"; then
+ AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
if test "$PHP_EXPAT_DIR" = "no"; then
- AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
AC_DEFINE(HAVE_LIBEXPAT_BUNDLED, 1, [ ])
- XML_CPPFLAGS=-DXML_BYTE_ORDER=$order
- EXPAT_INTERNAL_LIBADD=expat/libexpat.la
- PHP_SUBST(EXPAT_INTERNAL_LIBADD)
- PHP_SUBST(XML_CPPFLAGS)
- EXPAT_SUBDIRS=expat
- PHP_SUBST(EXPAT_SUBDIRS)
- PHP_SUBST(EXPAT_SHARED_LIBADD)
- PHP_EXTENSION(xml, $ext_shared)
- LIB_BUILD($ext_builddir/expat,$ext_shared,yes)
- PHP_ADD_INCLUDE($ext_srcdir/expat)
- PHP_FAST_OUTPUT($ext_builddir/expat/Makefile)
-
+ PHP_NEW_EXTENSION(xml, xml.c expat/xmlparse.c expat/xmlrole.c expat/xmltok.c, $ext_shared,, -I@ext_srcdir@/expat -DXML_BYTE_ORDER=$order)
+ PHP_ADD_BUILD_DIR($ext_builddir/expat)
else
- PHP_EXTENSION(xml, $ext_shared)
- PHP_SUBST(EXPAT_SHARED_LIBADD)
- AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
+ PHP_NEW_EXTENSION(xml, xml.c, $ext_shared)
for i in $PHP_XML $PHP_EXPAT_DIR; do
if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME ; then
@@ -54,5 +42,6 @@ else
PHP_ADD_INCLUDE($EXPAT_DIR/include)
PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/lib, EXPAT_SHARED_LIBADD)
+ PHP_SUBST(EXPAT_SHARED_LIBADD)
fi
fi
diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4
index 6462273cfe..c8f036282c 100644
--- a/ext/xmlrpc/config.m4
+++ b/ext/xmlrpc/config.m4
@@ -15,7 +15,6 @@ PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI,
if test "$PHP_XMLRPC" != "no"; then
- PHP_EXTENSION(xmlrpc, $ext_shared)
PHP_SUBST(XMLRPC_SHARED_LIBADD)
AC_DEFINE(HAVE_XMLRPC,1,[ ])
@@ -54,13 +53,14 @@ fi
if test "$PHP_XMLRPC" = "yes"; then
XMLRPC_CHECKS
- XMLRPC_LIBADD=libxmlrpc/libxmlrpc.la
- XMLRPC_SHARED_LIBADD=libxmlrpc/libxmlrpc.la
- XMLRPC_SUBDIRS=libxmlrpc
- PHP_SUBST(XMLRPC_LIBADD)
- PHP_SUBST(XMLRPC_SUBDIRS)
- LIB_BUILD($ext_builddir/libxmlrpc,$ext_shared,yes)
- PHP_ADD_INCLUDE($ext_srcdir/libxmlrpc)
+ PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c libxmlrpc/base64.c \
+ libxmlrpc/simplestring.c libxmlrpc/xml_to_dandarpc.c \
+ libxmlrpc/xmlrpc_introspection.c libxmlrpc/encodings.c \
+ libxmlrpc/system_methods.c libxmlrpc/xml_to_xmlrpc.c \
+ libxmlrpc/queue.c libxmlrpc/xml_element.c libxmlrpc/xmlrpc.c \
+ libxmlrpc/xml_to_soap.c,$ext_shared,,
+ -I@ext_srcdir@/libxmlrpc -DVERSION="0.50")
+ PHP_ADD_BUILD_DIR($ext_builddir/libxmlrpc)
XMLRPC_MODULE_TYPE=builtin
elif test "$PHP_XMLRPC" != "no"; then
diff --git a/ext/xmlrpc/libxmlrpc/xmlrpc.m4 b/ext/xmlrpc/libxmlrpc/xmlrpc.m4
index 7f797cb2a4..e89c245f02 100644
--- a/ext/xmlrpc/libxmlrpc/xmlrpc.m4
+++ b/ext/xmlrpc/libxmlrpc/xmlrpc.m4
@@ -9,6 +9,4 @@ AC_DEFINE(UNDEF_THREADS_HACK,,[ ])
XMLRPC_HEADER_CHECKS
XMLRPC_TYPE_CHECKS
XMLRPC_FUNCTION_CHECKS
-
-PHP_FAST_OUTPUT($ext_builddir/libxmlrpc/Makefile)
])
diff --git a/pear/Makefile.in b/pear/Makefile.frag
index 7e7d831f2b..bb35f75e7e 100644
--- a/pear/Makefile.in
+++ b/pear/Makefile.frag
@@ -1,12 +1,10 @@
-install_targets = \
+pear_install_targets = \
install-data-local \
install-headers \
install-build \
install-programs
-include $(top_srcdir)/build/rules.mk
-
peardir=$(PEAR_INSTALLDIR)
PEAR_SUBDIRS = \
@@ -112,17 +110,10 @@ phpbuilddir = $(prefix)/lib/php/build
BUILD_FILES = \
pear/pear.m4 \
- build/fastgen.sh \
- build/library.mk \
- build/ltlib.mk \
build/mkdep.awk \
- build/program.mk \
- build/rules.mk \
- build/rules_common.mk \
- build/rules_pear.mk \
- build/dynlib.mk \
build/shtool \
- dynlib.m4 \
+ Makefile.global \
+ scan_makefile_in.awk \
acinclude.m4
bin_SCRIPTS = phpize php-config pear pear-get pearize phptar
@@ -135,7 +126,7 @@ install-build:
install-programs:
@for prog in $(bin_SCRIPTS); do \
echo "Installing program: $$prog"; \
- $(INSTALL) -m 755 scripts/$$prog $(INSTALL_ROOT)$(bindir)/$$prog; \
+ $(INSTALL) -m 755 $(builddir)/scripts/$$prog $(INSTALL_ROOT)$(bindir)/$$prog; \
done; \
for prog in phpextdist; do \
echo "Installing program: $$prog"; \
@@ -169,20 +160,20 @@ install-headers:
cd $(top_builddir)/$$i && cp -p *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \
done
-scripts/pear: scripts/pear.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/pear CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/pear: $(srcdir)/scripts/pear.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
-scripts/pear-get: scripts/pear-get.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/pear-get CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/pear-get: $(srcdir)/scripts/pear-get.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
-scripts/phpize: scripts/phpize.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/phpize CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/phpize: $(srcdir)/scripts/phpize.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
-scripts/phptar: scripts/phptar.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/phptar CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/phptar: $(srcdir)/scripts/phptar.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
-scripts/pearize: scripts/pearize.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/pearize CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/pearize: $(srcdir)/scripts/pearize.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
-scripts/php-config: scripts/php-config.in $(top_builddir)/config.status
- (cd ..;CONFIG_FILES=pear/scripts/php-config CONFIG_HEADERS= $(top_builddir)/config.status)
+$(builddir)/scripts/php-config: $(srcdir)/scripts/php-config.in $(top_builddir)/config.status
+ (CONFIG_FILES=$@ CONFIG_HEADERS= $(top_builddir)/config.status)
diff --git a/pear/pear.m4 b/pear/pear.m4
index 9f12801611..879e34ee11 100644
--- a/pear/pear.m4
+++ b/pear/pear.m4
@@ -1,5 +1,8 @@
+dnl This file becomes configure.in for self-contained extensions.
-AC_INIT(Makefile.in)
+AC_INIT(config.m4)
+
+PHP_INIT_BUILD_SYSTEM
AC_DEFUN(PHP_WITH_PHP_CONFIG,[
AC_ARG_WITH(php-config,
@@ -25,6 +28,7 @@ AC_DEFUN(PHP_WITH_PHP_CONFIG,[
])
abs_srcdir=`(cd $srcdir && pwd)`
+abs_builddir=`pwd`
php_always_shared=yes
@@ -35,6 +39,8 @@ AC_PROG_CC_C_O
PHP_WITH_PHP_CONFIG
+PHP_BUILD_SHARED
+
AC_PREFIX_DEFAULT()
sinclude(config.m4)
@@ -44,14 +50,18 @@ enable_shared=yes
AC_PROG_LIBTOOL
-SHARED_LIBTOOL='$(LIBTOOL)'
-PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
+all_targets='$(PHP_MODULES)'
+install_targets=install-modules
phplibdir="`pwd`/modules"
CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H"
test "$prefix" = "NONE" && prefix="/usr/local"
test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
+PHP_SUBST(PHP_MODULES)
+PHP_SUBST(all_targets)
+PHP_SUBST(install_targets)
+
PHP_SUBST(prefix)
PHP_SUBST(exec_prefix)
PHP_SUBST(libdir)
@@ -76,10 +86,8 @@ PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(LIBTOOL)
PHP_SUBST(SHELL)
-PHP_FAST_OUTPUT(Makefile)
-
-PHP_GEN_CONFIG_VARS
-PHP_GEN_MAKEFILES($PHP_FAST_OUTPUT_FILES)
+PHP_GEN_BUILD_DIRS
+PHP_GEN_GLOBAL_MAKEFILE
test -d modules || mkdir modules
touch .deps
diff --git a/pear/scripts/phpize.in b/pear/scripts/phpize.in
index 33b5ad2cfb..537431ffad 100644
--- a/pear/scripts/phpize.in
+++ b/pear/scripts/phpize.in
@@ -3,8 +3,8 @@
prefix='@prefix@'
phpdir="$prefix/lib/php/build"
builddir="`pwd`"
-FILES_BUILD="dynlib.mk fastgen.sh library.mk ltlib.mk mkdep.awk program.mk rules.mk rules_common.mk rules_pear.mk shtool"
-FILES="acinclude.m4 dynlib.m4"
+FILES_BUILD="mkdep.awk shtool"
+FILES="acinclude.m4 Makefile.global scan_makefile_in.awk"
if test ! -r config.m4; then
echo "Cannot find config.m4. "
@@ -17,8 +17,6 @@ test -d build || mkdir build
(cd $phpdir && cp $FILES_BUILD $builddir/build)
(cd $phpdir && cp $FILES $builddir)
-mv build/rules_pear.mk build/rules.mk
-
sed \
-e "s#@prefix@#$prefix#" \
< $phpdir/pear.m4 > configure.in
diff --git a/sapi/Makefile.in b/sapi/Makefile.in
deleted file mode 100644
index 089a1e4a65..0000000000
--- a/sapi/Makefile.in
+++ /dev/null
@@ -1,4 +0,0 @@
-
-SUBDIRS = $(PHP_SAPI)
-
-include $(top_srcdir)/build/rules.mk
diff --git a/sapi/README b/sapi/README
deleted file mode 100644
index d9a759dd93..0000000000
--- a/sapi/README
+++ /dev/null
@@ -1,17 +0,0 @@
-Each SAPI backend has to contain:
-
-config.m4: just like for extensions, this file contains
-autoconf directives that end up in the configure script. The
-only difference is that the sapi config.m4 files are read in diversion
-(output block) 2 instead of 3. The sapi config.m4 files should set
-two variables: PHP_SAPI (which sapi backend to choose) and INSTALL_IT
-(the actions performed when "make install" is executed). If they are
-not specified, they will default to "cgi" and "do nothing,"
-respectively. Additionally, the following m4 macros can be used to
-influence what is created during "make":
-
-PHP_BUILD_SHARED -- build shared target $SAPI_SHARED
-PHP_BUILD_STATIC -- build static target $SAPI_STATIC
-PHP_BUILD_PROGRAM -- build executable $SAPI_PROGRAM
-
-(paths relative to top build dir)
diff --git a/sapi/aolserver/Makefile.in b/sapi/aolserver/Makefile.in
deleted file mode 100644
index 96a33af6bd..0000000000
--- a/sapi/aolserver/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = aolserver.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/aolserver/config.m4 b/sapi/aolserver/config.m4
index 5e2ee7ed29..2c905af2cc 100644
--- a/sapi/aolserver/config.m4
+++ b/sapi/aolserver/config.m4
@@ -24,8 +24,7 @@ if test "$PHP_AOLSERVER" != "no"; then
PHP_BUILD_THREAD_SAFE
PHP_ADD_INCLUDE($PHP_AOLSERVER_SRC/include)
AC_DEFINE(HAVE_AOLSERVER,1,[Whether you have AOLserver])
- PHP_SAPI=aolserver
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(aolserver, shared, aolserver.c)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)$PHP_AOLSERVER/bin/"
fi
diff --git a/sapi/apache/Makefile.in b/sapi/apache/Makefile.in
deleted file mode 100644
index 477b3a4762..0000000000
--- a/sapi/apache/Makefile.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = sapi_apache.c mod_php4.c php_apache.c
-
-EXTRA_INCLUDES = $(APACHE_INCLUDE)
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/apache/config.m4 b/sapi/apache/config.m4
index c098062e72..4a1f1ad216 100644
--- a/sapi/apache/config.m4
+++ b/sapi/apache/config.m4
@@ -39,7 +39,7 @@ AC_ARG_WITH(apxs,
esac
done
PHP_ADD_INCLUDE($APXS_INCLUDEDIR)
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, shared, sapi_apache.c mod_php4.c php_apache.c)
# Test whether apxs support -S option
$APXS -q -S CFLAGS="$APXS_CFLAGS" CFLAGS >/dev/null 2>&1
@@ -50,7 +50,6 @@ AC_ARG_WITH(apxs,
APACHE_INSTALL="\$(mkinstalldirs) \"\$(INSTALL_ROOT)`$APXS -q LIBEXECDIR`\" && $APXS -S LIBEXECDIR=\"\$(INSTALL_ROOT)`$APXS -q LIBEXECDIR`\" -i -a -n php4 $SAPI_SHARED"
fi
- PHP_BUILD_SHARED
if test -z "`$APXS -q LD_SHLIB`" || test "`$APXS -q LIBEXECDIR`" = "modules"; then
PHP_APXS_BROKEN=yes
fi
@@ -86,7 +85,7 @@ AC_ARG_WITH(apache,
if test -f $withval/src/httpd.h; then
APACHE_INCLUDE=-I$withval/src
APACHE_TARGET=$withval/src
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, static, sapi_apache.c mod_php4.c php_apache.c)
APACHE_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_INSTALL_FILES $APACHE_TARGET"
PHP_LIBS="-L. -lphp3"
AC_MSG_RESULT(yes - Apache 1.2.x)
@@ -103,7 +102,7 @@ AC_ARG_WITH(apache,
if test ! -d $APACHE_TARGET; then
mkdir $APACHE_TARGET
fi
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, static, sapi_apache.c mod_php4.c php_apache.c)
APACHE_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp4.a; cp $APACHE_INSTALL_FILES $APACHE_TARGET; cp $srcdir/sapi/apache/apMakefile.tmpl $APACHE_TARGET/Makefile.tmpl; cp $srcdir/sapi/apache/apMakefile.libdir $APACHE_TARGET/Makefile.libdir"
PHP_LIBS="-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4"
AC_MSG_RESULT(yes - Apache 2.0.X)
@@ -129,7 +128,7 @@ AC_ARG_WITH(apache,
if test ! -d $APACHE_TARGET; then
mkdir $APACHE_TARGET
fi
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, static, sapi_apache.c mod_php4.c php_apache.c)
APACHE_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp4.a; cp $APACHE_INSTALL_FILES $APACHE_TARGET; cp $srcdir/sapi/apache/apMakefile.tmpl $APACHE_TARGET/Makefile.tmpl; cp $srcdir/sapi/apache/apMakefile.libdir $APACHE_TARGET/Makefile.libdir"
PHP_LIBS="-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4"
AC_MSG_RESULT(yes - Apache 1.3.x)
@@ -155,7 +154,7 @@ AC_ARG_WITH(apache,
if test ! -d $APACHE_TARGET; then
mkdir $APACHE_TARGET
fi
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, static, sapi_apache.c mod_php4.c php_apache.c)
PHP_LIBS="-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4"
APACHE_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp4.a; cp $APACHE_INSTALL_FILES $APACHE_TARGET; cp $srcdir/sapi/apache/apMakefile.tmpl $APACHE_TARGET/Makefile.tmpl; cp $srcdir/sapi/apache/apMakefile.libdir $APACHE_TARGET/Makefile.libdir"
AC_MSG_RESULT(yes - Apache 1.3.x)
@@ -177,7 +176,7 @@ AC_ARG_WITH(apache,
elif test -f $withval/apache/httpd.h; then
APACHE_INCLUDE=-"I$withval/apache -I$withval/ssl/include"
APACHE_TARGET=$withval/apache
- PHP_SAPI=apache
+ PHP_SELECT_SAPI(apache, static, sapi_apache.c mod_php4.c php_apache.c)
PHP_LIBS="-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4"
APACHE_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp4.a; cp $APACHE_INSTALL_FILES $APACHE_TARGET"
STRONGHOLD=-DSTRONGHOLD=1
@@ -235,7 +234,6 @@ if test -n "$APACHE_MODULE"; then
PHP_TARGET_RDYNAMIC
$php_shtool mkdir -p sapi/apache
PHP_OUTPUT(sapi/apache/libphp4.module)
- PHP_BUILD_STATIC
fi
if test -n "$APACHE_INSTALL"; then
diff --git a/sapi/apache2filter/Makefile.in b/sapi/apache2filter/Makefile.in
deleted file mode 100644
index e4e876c904..0000000000
--- a/sapi/apache2filter/Makefile.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = sapi_apache2.c apache_config.c php_functions.c
-
-EXTRA_INCLUDES = $(APACHE_INCLUDE)
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/apache2filter/config.m4 b/sapi/apache2filter/config.m4
index ec0e36b0ce..07be909119 100644
--- a/sapi/apache2filter/config.m4
+++ b/sapi/apache2filter/config.m4
@@ -39,10 +39,9 @@ AC_ARG_WITH(apxs2,
esac
done
PHP_ADD_INCLUDE($APXS_INCLUDEDIR)
- PHP_SAPI=apache2filter
INSTALL_IT="$APXS -i -a -n php4 $SAPI_LIBTOOL"
- PHP_BUILD_SHARED
PHP_BUILD_THREAD_SAFE
+ PHP_SELECT_SAPI(apache2filter, shared, sapi_apache2.c apache_config.c php_functions.c)
AC_MSG_RESULT(yes)
case $host_alias in
*aix*)
diff --git a/sapi/caudium/Makefile.in b/sapi/caudium/Makefile.in
deleted file mode 100644
index 6063dd209b..0000000000
--- a/sapi/caudium/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = caudium.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/caudium/config.m4 b/sapi/caudium/config.m4
index 26f24202ba..a4f76db1b6 100644
--- a/sapi/caudium/config.m4
+++ b/sapi/caudium/config.m4
@@ -82,8 +82,7 @@ AC_ARG_WITH(caudium,
fi
PIKE_VERSION=`$PIKE -e 'string v; int rel;sscanf(version(), "Pike v%s release %d", v, rel); write(v+"."+rel);'`
AC_DEFINE(HAVE_CAUDIUM,1,[Whether to compile with Caudium support])
- PHP_SAPI=caudium
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(caudium, shared, caudium.c)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $withval/lib/$PIKE_VERSION/PHP4.so"
RESULT=" *** Pike binary used: $PIKE
*** Pike include dir(s) used: $PIKE_INCLUDE_DIR
diff --git a/sapi/cgi/Makefile.in b/sapi/cgi/Makefile.in
deleted file mode 100644
index 3b66c7d418..0000000000
--- a/sapi/cgi/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = cgi_main.c getopt.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/cgi/config.m4 b/sapi/cgi/config.m4
index 04519d404e..d3aa978264 100644
--- a/sapi/cgi/config.m4
+++ b/sapi/cgi/config.m4
@@ -31,7 +31,7 @@ main()
fi
])
-if test "$PHP_SAPI" = "cgi"; then
+if test "$PHP_SAPI" = "default"; then
PHP_TEST_WRITE_STDOUT
@@ -61,9 +61,6 @@ if test "$PHP_SAPI" = "cgi"; then
fi
AC_DEFINE_UNQUOTED(DISCARD_PATH, $DISCARD_PATH, [ ])
-fi
-
-if test "$PHP_SAPI" = "cgi" ; then
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(INSTALL_ROOT)\$(bindir)/php-cgi"
fi
diff --git a/sapi/cli/Makefile.in b/sapi/cli/Makefile.in
deleted file mode 100644
index 515c57fcbe..0000000000
--- a/sapi/cli/Makefile.in
+++ /dev/null
@@ -1,28 +0,0 @@
-LTLIBRARY_NAME = libphp4cli.la
-LTLIBRARY_SOURCES = php_cli.c getopt.c
-
-LTLIBRARY_DEPENDENCIES = \
- $(top_builddir)/Zend/libZend.la \
- $(top_builddir)/main/libmain_cli.la \
- $(top_builddir)/$(REGEX_LIB) \
- $(EXT_CLI_LTLIBS) \
- $(top_builddir)/$(TSRM_LIB)
-
-LTLIBRARY_LDFLAGS = -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
-LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
-
-
-PROGRAM_NAME = php
-PROGRAM_SOURCES =
-PROGRAM_LDADD = libphp4cli.la $(EXT_PROGRAM_LDADD)
-PROGRAM_LDFLAGS = -export-dynamic
-PROGRAM_DEPENDENCIES = $(PROGRAM_LDADD)
-
-targets = $(LTLIBRARY_NAME) $(PROGRAM_NAME)
-
-include $(top_srcdir)/build/rules.mk
-CFLAGS = $(CFLAGS_CLEAN) -prefer-non-pic -static
-PHP_COMPILE = $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c $< && touch $@
-CXX_PHP_COMPILE = $(CXX) $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c $< && touch $@
-include $(top_srcdir)/build/library.mk
-include $(top_srcdir)/build/program.mk
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
index 83aef7b2bb..724c759de7 100644
--- a/sapi/cli/config.m4
+++ b/sapi/cli/config.m4
@@ -17,7 +17,8 @@ AC_ARG_ENABLE(cli,
)
if test "$PHP_SAPI_CLI" != "no"; then
- INSTALL_IT="$INSTALL_IT; \$(INSTALL) -m 0755 sapi/cli/php \$(INSTALL_ROOT)\$(bindir)/php"
+ INSTALL_CLI="\$(INSTALL) -m 0755 sapi/cli/php \$(INSTALL_ROOT)\$(bindir)/php"
+ PHP_SUBST(INSTALL_CLI)
else
PHP_DISABLE_CLI
fi
diff --git a/sapi/fastcgi/Makefile.in b/sapi/fastcgi/Makefile.in
deleted file mode 100644
index 0bea9c31b1..0000000000
--- a/sapi/fastcgi/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = fastcgi.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/fastcgi/config.m4 b/sapi/fastcgi/config.m4
index b01070587a..444d6d8af5 100644
--- a/sapi/fastcgi/config.m4
+++ b/sapi/fastcgi/config.m4
@@ -12,7 +12,7 @@ AC_ARG_WITH(fastcgi,
fi
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_SAPI=fastcgi
+ PHP_SELECT_SAPI(fastcgi, programm, fastcgi.c)
PHP_LIBS=$FASTCGIPATH/lib/libfcgi.a
PHP_ADD_INCLUDE($FASTCGIPATH/include)
EXT_PROGRAM_LDADD="$EXT_PROGRAM_LDADD $FASTCGIPATH/lib/libfcgi.a"
diff --git a/sapi/isapi/Makefile.in b/sapi/isapi/Makefile.in
deleted file mode 100644
index 34d4bdc15c..0000000000
--- a/sapi/isapi/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = php4isapi.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/isapi/config.m4 b/sapi/isapi/config.m4
index 6bc7a4cc4a..ece730cef9 100644
--- a/sapi/isapi/config.m4
+++ b/sapi/isapi/config.m4
@@ -16,8 +16,7 @@ AC_ARG_WITH(isapi,
PHP_BUILD_THREAD_SAFE
AC_DEFINE(WITH_ZEUS,1,[ ])
PHP_ADD_INCLUDE($ZEUSPATH/web/include)
- PHP_SAPI=isapi
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(isapi, shared, php4isapi.c)
INSTALL_IT="\$(SHELL) \$(srcdir)/install-sh -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)$ZEUSPATH/web/bin/"
RESULT=yes
])
diff --git a/sapi/nsapi/Makefile.in b/sapi/nsapi/Makefile.in
deleted file mode 100644
index 8299911313..0000000000
--- a/sapi/nsapi/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = nsapi.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/nsapi/config.m4 b/sapi/nsapi/config.m4
index 1f4664d5b4..b7af1be4da 100644
--- a/sapi/nsapi/config.m4
+++ b/sapi/nsapi/config.m4
@@ -28,8 +28,7 @@ if test "$PHP_NSAPI" != "no"; then
PHP_ADD_INCLUDE($NSAPI_INCLUDE)
PHP_BUILD_THREAD_SAFE
AC_DEFINE(HAVE_NSAPI,1,[Whether you have a Netscape Server])
- PHP_SAPI=nsapi
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(nsapi, shared, nsapi.c)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)$PHP_NSAPI/bin/"
fi
diff --git a/sapi/phttpd/Makefile.in b/sapi/phttpd/Makefile.in
deleted file mode 100644
index 3fa62790f1..0000000000
--- a/sapi/phttpd/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = phttpd.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/phttpd/config.m4 b/sapi/phttpd/config.m4
index d3d3c6d665..75c6d66891 100644
--- a/sapi/phttpd/config.m4
+++ b/sapi/phttpd/config.m4
@@ -14,8 +14,7 @@ AC_ARG_WITH(phttpd,
PHTTPD_DIR=$withval
PHP_ADD_INCLUDE($PHTTPD_DIR/include)
AC_DEFINE(HAVE_PHTTPD,1,[Whether you have phttpd])
- PHP_SAPI=phttpd
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(phttpd, shared, phttpd.c)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)$PHTTPD_DIR/modules/"
RESULT=yes
])
diff --git a/sapi/pi3web/Makefile.in b/sapi/pi3web/Makefile.in
deleted file mode 100644
index 0195beb789..0000000000
--- a/sapi/pi3web/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = pi3web_sapi.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/pi3web/config.m4 b/sapi/pi3web/config.m4
index f4e54594ec..3541a9cf19 100644
--- a/sapi/pi3web/config.m4
+++ b/sapi/pi3web/config.m4
@@ -18,8 +18,7 @@ if test "$PHP_PI3WEB" != "no"; then
PHP_ADD_INCLUDE($PI3PATH/Pi2API)
PHP_ADD_INCLUDE($PI3PATH/Pi3API)
PHP_ADD_INCLUDE($PI3PATH/PHP4)
- PHP_SAPI=pi3web
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(pi3web, shared, pi3web_sapi.c)
INSTALL_IT="\$(SHELL) \$(srcdir)/install-sh -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)$PI3PATH/bin/"
fi
diff --git a/sapi/roxen/Makefile.in b/sapi/roxen/Makefile.in
deleted file mode 100644
index c49bf97ead..0000000000
--- a/sapi/roxen/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = roxen.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/roxen/config.m4 b/sapi/roxen/config.m4
index 67eac5c5a1..cf2726b51b 100644
--- a/sapi/roxen/config.m4
+++ b/sapi/roxen/config.m4
@@ -30,8 +30,7 @@ AC_ARG_WITH(roxen,
PHP_ADD_INCLUDE($PIKE_INCLUDE_DIR)
AC_DEFINE(HAVE_ROXEN,1,[Whether you use Roxen])
- PHP_SAPI=roxen
- PHP_BUILD_SHARED
+ PHP_SELECT_SAPI(roxen, shared, roxen.c)
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $PIKE_MODULE_DIR/PHP4.so"
RESULT="yes
Pike binary used: $PIKE
diff --git a/sapi/servlet/Makefile.frag b/sapi/servlet/Makefile.frag
new file mode 100644
index 0000000000..6570d92bde
--- /dev/null
+++ b/sapi/servlet/Makefile.frag
@@ -0,0 +1,19 @@
+
+$(builddir)/java.c : $(srcdir)/../../ext/java/java.c
+ @cp $(srcdir)/../../ext/java/java.c $(builddir)
+
+$(builddir)/phpsrvlt.jar : $(srcdir)/servlet.java $(srcdir)/../../ext/java/reflect.java
+ $(mkinstalldirs) $(builddir)/net/php
+ @echo library=php4 > $(builddir)/net/php/reflect.properties
+ @echo library=php4 > $(builddir)/net/php/servlet.properties
+ @cp $(builddir)/formatter.java $(builddir)/net/php
+ @cp $(builddir)/servlet.java $(builddir)/net/php
+ @cp $(srcdir)/../../ext/java/reflect.java $(builddir)/net/php
+ cd $(builddir) && javac net/php/reflect.java
+ @test ! -f $(builddir)/reflect.class || mv $(builddir)/reflect.class $(builddir)/net/php # bug in KJC javac
+ javac -classpath .:$(SERVLET_CLASSPATH):$(CLASSPATH) $(builddir)/net/php/servlet.java
+ @test ! -f $(builddir)/servlet.class || mv $(builddir)/servlet.class $(builddir)/net/php # bug in KJC javac
+ javac -classpath .:$(SERVLET_CLASSPATH):$(CLASSPATH) $(builddir)/net/php/formatter.java
+ @test ! -f $(builddir)/formatter.class || mv $(builddir)/formatter.class $(builddir)/net/php # bug in KJC javac
+ cd $(builddir)/ && $(JAVA_JAR) phpsrvlt.jar net/php/*.class net/php/*.properties
+ @rm -rf $(builddir)/net
diff --git a/sapi/servlet/Makefile.in b/sapi/servlet/Makefile.in
deleted file mode 100644
index 940866b7fc..0000000000
--- a/sapi/servlet/Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = servlet.c java.c
-LTLIBRARY_DEPENDENCIES = phpsrvlt.jar
-
-EXTRA_CFLAGS = $(JAVA_CFLAGS)
-EXTRA_INCLUDES = $(JAVA_INCLUDE)
-
-include $(top_srcdir)/build/ltlib.mk
-
-java.c : ../../ext/java/java.c
- @cp ../../ext/java/java.c .
-
-phpsrvlt.jar : servlet.java ../../ext/java/reflect.java
- $(mkinstalldirs) net/php
- @echo library=php4>net/php/reflect.properties
- @echo library=php4>net/php/servlet.properties
- @cp formatter.java net/php
- @cp servlet.java net/php
- @cp ../../ext/java/reflect.java net/php
- javac net/php/reflect.java
- @test ! -f reflect.class || mv reflect.class net/php # bug in KJC javac
- javac -classpath .:$(SERVLET_CLASSPATH):$(CLASSPATH) net/php/servlet.java
- @test ! -f servlet.class || mv servlet.class net/php # bug in KJC javac
- javac -classpath .:$(SERVLET_CLASSPATH):$(CLASSPATH) net/php/formatter.java
- @test ! -f formatter.class || mv formatter.class net/php # bug in KJC javac
- $(JAVA_JAR) phpsrvlt.jar net/php/*.class net/php/*.properties
- @rm net/php/servlet.* net/php/reflect.* net/php/formatter.*
- @rmdir net/php
- @rmdir net
diff --git a/sapi/servlet/config.m4 b/sapi/servlet/config.m4
index 8be5d17199..46219bee00 100644
--- a/sapi/servlet/config.m4
+++ b/sapi/servlet/config.m4
@@ -37,8 +37,10 @@ AC_ARG_WITH(servlet,
INSTALL_IT="$INSTALL_IT; \$(INSTALL) -m 0755 \$(srcdir)/sapi/servlet/phpsrvlt.jar \$(libdir)"
INSTALL_IT="$INSTALL_IT; \$(INSTALL) -m 0755 $SAPI_SHARED \$(libdir)"
PHP_SAPI=servlet
- PHP_BUILD_SHARED
PHP_BUILD_THREAD_SAFE
+ PHP_SELECT_SAPI(servlet, shared, servlet.c)
+ PHP_ADD_SOURCES(/sapi/servlet, java.c,,sapi)
+ PHP_ADD_MAKEFILE_FRAGMENT(sapi/servlet/Makefile.frag)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
diff --git a/sapi/thttpd/Makefile.in b/sapi/thttpd/Makefile.in
deleted file mode 100644
index a18d0f8d18..0000000000
--- a/sapi/thttpd/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = stub.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/thttpd/config.m4 b/sapi/thttpd/config.m4
index 99497efcf1..cb3764152b 100644
--- a/sapi/thttpd/config.m4
+++ b/sapi/thttpd/config.m4
@@ -18,8 +18,7 @@ AC_ARG_WITH(thttpd,
(cd $THTTPD && patch < $abs_srcdir/sapi/thttpd/thttpd_patch && touch php_patched)"
PHP_THTTPD="yes, using $THTTPD"
PHP_ADD_INCLUDE($THTTPD)
- PHP_BUILD_STATIC
- PHP_SAPI=thttpd
+ PHP_SELECT_SAPI(thttpd, static)
],[
PHP_THTTPD=no
])
diff --git a/sapi/tux/Makefile.in b/sapi/tux/Makefile.in
deleted file mode 100644
index 221f50d8c1..0000000000
--- a/sapi/tux/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = php_tux.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/tux/config.m4 b/sapi/tux/config.m4
index dc22a72ad1..ea12e67c4b 100644
--- a/sapi/tux/config.m4
+++ b/sapi/tux/config.m4
@@ -8,8 +8,7 @@ AC_ARG_WITH(tux,
[ --with-tux=MODULEDIR Build PHP as a TUX module (Linux only)],[
INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $withval/php4.tux.so"
AC_CHECK_HEADERS(tuxmodule.h,[:],[AC_MSG_ERROR([Cannot find tuxmodule.h])])
- PHP_BUILD_SHARED
- PHP_SAPI=tux
+ PHP_SELECT_SAPI(tux, shared, php_tux.c)
PHP_TUX=yes
])
diff --git a/sapi/webjames/Makefile.in b/sapi/webjames/Makefile.in
deleted file mode 100644
index b0dc7f1162..0000000000
--- a/sapi/webjames/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-LTLIBRARY_NAME = libsapi.la
-LTLIBRARY_SOURCES = webjames.c
-
-include $(top_srcdir)/build/ltlib.mk
diff --git a/sapi/webjames/config.m4 b/sapi/webjames/config.m4
index 1e6de60bf5..b7bc225fb2 100644
--- a/sapi/webjames/config.m4
+++ b/sapi/webjames/config.m4
@@ -12,8 +12,7 @@ AC_ARG_WITH(webjames,
echo 'PHP_CFLAGS = -DPHP \$(COMMON_FLAGS) \$(EXTRA_CFLAGS) -I$abs_srcdir/sapi/webjames' >> $WEBJAMES/build/php;"
PHP_WEBJAMES="yes, using $WEBJAMES"
PHP_ADD_INCLUDE($WEBJAMES)
- PHP_BUILD_STATIC
- PHP_SAPI=webjames
+ PHP_SELECT_SAPI(webjames, static, webjames.c)
],[
PHP_WEBJAMES="no"
])
diff --git a/scan_makefile_in.awk b/scan_makefile_in.awk
new file mode 100644
index 0000000000..0c6d20398f
--- /dev/null
+++ b/scan_makefile_in.awk
@@ -0,0 +1,32 @@
+BEGIN {
+ mode=0
+ sources=""
+}
+
+mode == 0 && /^LTLIBRARY_SOURCES.*\\$/ {
+ if (match($0, "[^=]*$")) {
+ sources=substr($0, RSTART, RLENGTH-1)
+ }
+ mode=1
+ next
+}
+
+mode == 0 && /^LTLIBRARY_SOURCES.*/ {
+ if (match($0, "[^=]*$")) {
+ sources=substr($0, RSTART, RLENGTH)
+ }
+}
+
+mode == 1 && /.*\\$/ {
+ sources=sources substr($0, 0, length - 1)
+ next
+}
+
+mode == 1 {
+ sources=sources $0
+ mode=0
+}
+
+END {
+ print sources
+}