diff --git a/.cvsignore b/.cvsignore index 47d9986cfc..14eb8f1c42 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,7 +1,4 @@ -TSRM -Zend Makefile -Makefile.in acconfig.h aclocal.m4 build-defs.h @@ -10,17 +7,19 @@ buildconf.stamp config.cache config.log config.status +config_vars.mk configuration-parser.c configuration-parser.h configuration-parser.output configuration-scanner.c configure generated_lists +mkinstalldirs +missing install-sh internal_functions.c libtool -missing -mkinstalldirs +shlibtool php php4.spec php_config.h @@ -34,3 +33,4 @@ libs modules php-*.tar.gz want_dependencies +.deps diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 134a8b6cb2..0000000000 --- a/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -AUTOMAKE_OPTIONS = foreign - -ZEND_DIR = $(srcdir)/Zend -SUBDIRS = Zend ext sapi $(TSRM_DIR) $(REGEX_DIR) . $(PEAR_DIR) - -BUILDLDFLAGS = $(EXTRA_LDFLAGS) $(LDFLAGS) - -phptemp_LTLIBRARIES = libphp4.la -libphp4_la_SOURCES = \ - main.c internal_functions.c snprintf.c php_sprintf.c \ - configuration-parser.y configuration-scanner.l request_info.c \ - safe_mode.c fopen-wrappers.c php_realpath.c alloca.c \ - php_ini.c SAPI.c rfc1867.c dlist.c php_content_types.c strlcpy.c \ - strlcat.c mergesort.c reentrancy.c - -libphp4_la_DEPENDENCIES = \ - Zend/libZend.la \ - sapi/$(PHP_SAPI)/libphpsapi_$(PHP_SAPI).la \ - $(REGEX_LIB) \ - $(EXT_LTLIBS) \ - $(TSRM_LIB) - -libphp4_la_LIBADD = $(libphp4_la_DEPENDENCIES) $(EXTRA_LIBS) - -libphp4_la_LDFLAGS = $(BUILDLDFLAGS) $(PHP_RPATHS) - -configuration-parser.h configuration-parser.c: configuration-parser.y - $(YACC) -p cfg -v -d $< -o configuration-parser.c - -configuration-scanner.c: configuration-scanner.l - $(LEX) -Pcfg -o$@ -i $< - -EXTRA_PROGRAMS = php - -noinst_PROGRAMS = $(PHP_PROGRAM) -php_SOURCES = stub.c -php_LDADD = libphp4.la -php_LDFLAGS = -export-dynamic - -install-data-local: - $(INSTALL_IT) diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000000..68599409af --- /dev/null +++ b/Makefile.in @@ -0,0 +1,54 @@ + +DEPTH = . +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +ZEND_DIR = $(srcdir)/Zend +SUBDIRS = Zend ext sapi $(TSRM_DIR) $(REGEX_DIR) . $(PEAR_DIR) + +LTLIBRARY_NAME = libphp4.la + +LTLIBRARY_SOURCES = \ + main.c internal_functions.c snprintf.c php_sprintf.c \ + configuration-parser.c configuration-scanner.c request_info.c \ + safe_mode.c fopen-wrappers.c php_realpath.c alloca.c \ + php_ini.c SAPI.c rfc1867.c dlist.c php_content_types.c strlcpy.c \ + strlcat.c mergesort.c reentrancy.c + +LTLIBRARY_DEPENDENCIES = \ + Zend/libZend.la \ + sapi/$(PHP_SAPI)/libsapi.la \ + $(REGEX_LIB) \ + $(EXT_LTLIBS) \ + $(TSRM_LIB) + +LTLIBRARY_LDFLAGS = -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) +LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS) + +PROGRAM_NAME = $(PHP_PROGRAM) +PROGRAM_SOURCES = stub.c +PROGRAM_LDADD = libphp4.la +PROGRAM_LDFLAGS = -export-dynamic +PROGRAM_DEPENDENCIES = $(PROGRAM_LDADD) + +targets = $(LTLIBRARY_NAME) $(PROGRAM_NAME) + +install_targets = install-local install-modules + +include $(topsrcdir)/build/rules.mk +include $(topsrcdir)/build/library.mk +include $(topsrcdir)/build/program.mk + +install-local: + @$(LIBTOOL) --silent --mode=install install libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1 + -@$(mkinstalldirs) $(bindir) + $(INSTALL_IT) + +configuration-parser.h configuration-parser.c: configuration-parser.y + $(YACC) -p cfg -v -d $< -o configuration-parser.c + +configuration-scanner.c: configuration-scanner.l + $(LEX) -Pcfg -o$@ -i $< + +.NOEXPORT: diff --git a/acinclude.m4 b/acinclude.m4 index e09f2041b1..2789ff1c33 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,7 +1,127 @@ -dnl $Id: acinclude.m4,v 1.52 1999/12/21 00:15:51 sas Exp $ +dnl $Id: acinclude.m4,v 1.53 1999/12/21 02:34:26 sas Exp $ dnl dnl This file contains local autoconf functions. +AC_DEFUN(PHP_SUBST,[ + PHP_VAR_SUBST="$PHP_VAR_SUBST $1" + 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 + mkdir -p conftestdir/somedir >/dev/null 2>&1 + if test -d conftestdir/somedir; then + ac_cv_mkdir_p=yes + else + ac_cv_mkdir_p=no + fi + rm -rf conftestdir + ]) +]) + +AC_DEFUN(PHP_FAST_GENERATE,[ + PHP_MKDIR_P_CHECK + echo creating config_vars.mk + > config_vars.mk + for i in $PHP_VAR_SUBST; do + eval echo "$i = \$$i" >> config_vars.mk + done + $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $PHP_FAST_OUTPUT_FILES +]) + +AC_DEFUN(PHP_TM_GMTOFF,[ +AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, +[AC_TRY_COMPILE([#include +#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;], + ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)]) + +if test "$ac_cv_struct_tm_gmtoff" = yes; then + AC_DEFINE(HAVE_TM_GMTOFF) +fi +]) + +dnl PHP_CONFIGURE_PART(MESSAGE) +dnl Idea borrowed from mm +AC_DEFUN(PHP_CONFIGURE_PART,[ + AC_MSG_RESULT() + AC_MSG_RESULT(${T_MD}$1${T_ME}) +]) + +AC_DEFUN(PHP_PROG_SENDMAIL,[ +AC_PATH_PROG(PROG_SENDMAIL, sendmail, /usr/lib/sendmail, $PATH /usr/bin /usr/sbin /usr/etc /etc /usr/ucblib) +if test -n "$PROG_SENDMAIL"; then + AC_DEFINE(HAVE_SENDMAIL) +fi +]) + +AC_DEFUN(PHP_RUNPATH_SWITCH,[ +dnl check for -R, etc. switch +AC_MSG_CHECKING(if compiler supports -R) +AC_CACHE_VAL(php_cv_cc_dashr,[ + SAVE_LIBS="${LIBS}" + LIBS="-R /usr/lib ${LIBS}" + AC_TRY_LINK([], [], php_cv_cc_dashr=yes, php_cv_cc_dashr=no) + LIBS="${SAVE_LIBS}"]) +AC_MSG_RESULT($php_cv_cc_dashr) +if test $php_cv_cc_dashr = "yes"; then + ld_runpath_switch="-R" +else + AC_MSG_CHECKING([if compiler supports -Wl,-rpath,]) + AC_CACHE_VAL(php_cv_cc_rpath,[ + SAVE_LIBS="${LIBS}" + LIBS="-Wl,-rpath,/usr/lib ${LIBS}" + AC_TRY_LINK([], [], php_cv_cc_rpath=yes, php_cv_cc_rpath=no) + LIBS="${SAVE_LIBS}"]) + AC_MSG_RESULT($php_cv_cc_rpath) + if test $php_cv_cc_rpath = "yes"; then + ld_runpath_switch="-Wl,-rpath," + else + dnl something innocuous + ld_runpath_switch="-L" + fi +fi +]) + +AC_DEFUN(PHP_STRUCT_FLOCK,[ +AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock, + AC_TRY_COMPILE([ +#include +#include + ], + [struct flock x;], + [ + ac_cv_struct_flock=yes + ],[ + ac_cv_struct_flock=no + ]) +) +if test "$ac_cv_struct_flock" = "yes" ; then + AC_DEFINE(HAVE_STRUCT_FLOCK, 1) +fi +]) + +AC_DEFUN(PHP_SOCKLEN_T,[ +AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t, + AC_TRY_COMPILE([ +#include +#include +],[ +socklen_t x; +],[ + ac_cv_socklen_t=yes +],[ + ac_cv_socklen_t=no +])) +if test "$ac_cv_socklen_t" = "no"; then + AC_DEFINE(socklen_t, unsigned int) +fi +]) + dnl dnl PHP_SET_SYM_FILE(path) dnl @@ -176,7 +296,7 @@ if test "$REGEX_TYPE" = "php"; then REGEX_DIR=regex AC_DEFINE(HSREGEX) AC_DEFINE(REGEX,1) - PHP_OUTPUT(regex/Makefile) + PHP_FAST_OUTPUT(regex/Makefile) elif test "$REGEX_TYPE" = "system"; then AC_DEFINE(REGEX,0) elif test "$REGEX_TYPE" = "apache"; then @@ -186,9 +306,9 @@ fi AC_MSG_CHECKING(which regex library to use) AC_MSG_RESULT($REGEX_TYPE) -AC_SUBST(REGEX_DIR) -AC_SUBST(REGEX_LIB) -AC_SUBST(HSREGEX) +PHP_SUBST(REGEX_DIR) +PHP_SUBST(REGEX_LIB) +PHP_SUBST(HSREGEX) ]) dnl @@ -209,17 +329,20 @@ dnl dnl Check for broken sprintf() dnl AC_DEFUN(AC_BROKEN_SPRINTF,[ - AC_MSG_CHECKING([for broken sprintf]) - AC_TRY_RUN([main() { char buf[20]; exit (sprintf(buf,"testing 123")!=11); }],[ - AC_DEFINE(BROKEN_SPRINTF,0) - AC_MSG_RESULT(ok) - ],[ - AC_DEFINE(BROKEN_SPRINTF,1) - AC_MSG_RESULT(broken) - ],[ - AC_DEFINE(BROKEN_SPRINTF,0) - AC_MSG_RESULT(cannot check, guessing ok) + AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[ + AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[ + ac_cv_broken_sprintf=no + ],[ + ac_cv_broken_sprintf=yes + ],[ + ac_cv_broken_sprintf=no + ]) ]) + if test "$ac_cv_broken_sprintf" = "yes"; then + AC_DEFINE(BROKEN_SPRINTF, 1) + else + AC_DEFINE(BROKEN_SPRINTF, 0) + fi ]) dnl @@ -234,24 +357,24 @@ dnl AC_DEFUN(PHP_EXTENSION,[ if test -d "$cwd/$srcdir/ext/$1" ; then EXT_SUBDIRS="$EXT_SUBDIRS $1" - if test "$2" != "shared" -a "$2" != "yes"; then - _extlib="libphpext_$1.a" - EXT_LTLIBS="$EXT_LTLIBS ext/$1/libphpext_$1.la" + if test "$2" != "shared" && test "$2" != "yes" && test -z "$php_always_shared"; then + _extlib="lib$1.a" + EXT_LTLIBS="$EXT_LTLIBS ext/$1/lib$1.la" EXT_LIBS="$EXT_LIBS $1/$_extlib" EXT_STATIC="$EXT_STATIC $1" else - AC_DEFINE_UNQUOTED(COMPILE_DL_`echo $1|tr a-z A-Z`, 1, Whether to build $1 as dynamic module) + AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z,A-Z), 1, Whether to build $1 as dynamic module) EXT_SHARED="$EXT_SHARED $1" fi - PHP_OUTPUT(ext/$1/Makefile) + PHP_FAST_OUTPUT(ext/$1/Makefile) fi ]) -AC_SUBST(EXT_SUBDIRS) -AC_SUBST(EXT_STATIC) -AC_SUBST(EXT_SHARED) -AC_SUBST(EXT_LIBS) -AC_SUBST(EXT_LTLIBS) +PHP_SUBST(EXT_SUBDIRS) +PHP_SUBST(EXT_STATIC) +PHP_SUBST(EXT_SHARED) +PHP_SUBST(EXT_LIBS) +PHP_SUBST(EXT_LTLIBS) dnl dnl Solaris requires main code to be position independent in order @@ -298,6 +421,9 @@ AC_DEFUN(PHP_WITH_SHARED,[ shared=no ;; esac + if test -n "$php_always_shared"; then + shared=yes + fi ]) dnl The problem is that the default compilation flags in Solaris 2.6 won't @@ -354,9 +480,11 @@ AC_DEFUN(AC_SOCKADDR_SA_LEN,[ ]) ]) + dnl ## PHP_AC_OUTPUT(file) dnl ## adds "file" to the list of files generated by AC_OUTPUT dnl ## This macro can be used several times. AC_DEFUN(PHP_OUTPUT,[ PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1" ]) + diff --git a/build.mk b/build.mk deleted file mode 100644 index 2e167053b8..0000000000 --- a/build.mk +++ /dev/null @@ -1,49 +0,0 @@ -# Makefile to generate build tools -# -# Standard usage: -# make -f build.mk -# -# To prepare a self-contained distribution: -# make -f build.mk dist -# -# -# Written by Sascha Schumann -# -# $Id$ - - -SUBDIRS = Zend TSRM - -STAMP = buildmk.stamp - -ALWAYS = generated_lists - -all: $(STAMP) $(ALWAYS) - @$(MAKE) -s -f build2.mk - -generated_lists: - @echo makefile_am_files = Makefile.am Zend/Makefile.am \ - TSRM/Makefile.am `find ext sapi regex pear -name Makefile.am` > $@ - @echo config_h_files = Zend/acconfig.h TSRM/acconfig.h \ - ext/*/config.h.stub >> $@ - @echo config_m4_files = Zend/Zend.m4 TSRM/tsrm.m4 \ - Zend/acinclude.m4 ext/*/config.m4 sapi/*/config.m4 >> $@ - -$(STAMP): buildcheck.sh - @./buildcheck.sh && touch $(STAMP) - -dist: - @rm -f $(SUBDIRS) 2>/dev/null || true - @for i in $(SUBDIRS); do \ - test -d $$i || (test -d ../$$i && cp -rp ../$$i $$i); \ - done - @find . -type l -exec rm {} \; - $(MAKE) AMFLAGS=--copy -f build.mk - -cvsclean: - @for i in `find . -follow -name .cvsignore`; do \ - (cd `dirname $$i` 2>/dev/null && (rm -f `cat .cvsignore` *.o *.a; rm -rf .libs .deps) || true); \ - done - @rm -f $(SUBDIRS) 2>/dev/null || true - -.PHONY: $(ALWAYS) diff --git a/build/build.mk b/build/build.mk new file mode 100644 index 0000000000..74b9ef212c --- /dev/null +++ b/build/build.mk @@ -0,0 +1,78 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# +# Makefile to generate build tools +# + +SUBDIRS = Zend TSRM + +STAMP = buildmk.stamp + +ALWAYS = generated_lists + +all: $(STAMP) $(ALWAYS) + @$(MAKE) AMFLAGS=$(AMFLAGS) -s -f build/build2.mk + +generated_lists: + @echo makefile_am_files = Zend/Makefile.am \ + TSRM/Makefile.am > $@ + @echo config_h_files = Zend/acconfig.h TSRM/acconfig.h \ + ext/*/config.h.stub >> $@ + @echo config_m4_files = Zend/Zend.m4 TSRM/tsrm.m4 \ + Zend/acinclude.m4 ext/*/config.m4 sapi/*/config.m4 >> $@ + +$(STAMP): build/buildcheck.sh + @build/buildcheck.sh && touch $(STAMP) + +snapshot: + distname='$(DISTNAME)'; \ + if test -z "$$distname"; then \ + distname='php4-snapshot'; \ + fi; \ + myname=`basename \`pwd\`` ; \ + cd .. && cp -rp $$myname $$distname; \ + cd $$distname; \ + rm -f $(SUBDIRS) 2>/dev/null || true; \ + for i in $(SUBDIRS); do \ + test -d $$i || (test -d ../$$i && cp -rp ../$$i $$i); \ + done; \ + find . -type l -exec rm {} \; ; \ + $(MAKE) AMFLAGS=--copy -f build/build.mk; \ + cd ..; \ + tar cf $$distname.tar $$distname; \ + rm -rf $$distname $$distname.tar.*; \ + bzip2 -9 $$distname.tar; \ + md5sum $$distname.tar.bz2; \ + sync; sleep 2; \ + md5sum $$distname.tar.bz2; \ + bzip2 -t $$distname.tar.bz2 + +cvsclean: + @for i in `find . -follow -name .cvsignore`; do \ + (cd `dirname $$i` 2>/dev/null && rm -rf `cat .cvsignore` *.o *.a || true); \ + done + @rm -f $(SUBDIRS) 2>/dev/null || true + +.PHONY: $(ALWAYS) snapshot cvsclean diff --git a/build/build2.mk b/build/build2.mk new file mode 100644 index 0000000000..76f3f02c68 --- /dev/null +++ b/build/build2.mk @@ -0,0 +1,88 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ + +include generated_lists + +TOUCH_FILES = mkinstalldirs install-sh missing + +LT_TARGETS = ltconfig ltmain.sh config.guess config.sub + +makefile_in_files = $(makefile_am_files:.am=.in) +makefile_files = $(makefile_am_files:e.am=e) + +config_h_in = php_config.h.in + +acconfig_h_SOURCES = acconfig.h.in $(config_h_files) + +targets = $(makefile_in_files) configure $(config_h_in) $(TOUCH_FILES) + + +all: .deps Zend/Makefile.am TSRM/Makefile.am $(targets) + +.deps: + @echo creating empty dependencies + find ext sapi -type d \! -name \*CVS -exec touch {}/.deps {} \; + touch pear/.deps + touch $@ + +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) + +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.in\'s + @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) \ + || true >&2 + @for i in $(LT_TARGETS); do mv $$i.bak $$i; done + +aclocal.m4: configure.in acinclude.m4 + aclocal + +$(config_h_in): configure.in acconfig.h +# explicitly remove target since autoheader does not seem to work +# correctly otherwise (timestamps are not updated) + @echo rebuilding $@ + @rm -f $@ + autoheader + +$(TOUCH_FILES): + touch $(TOUCH_FILES) + +configure: aclocal.m4 configure.in $(config_m4_files) + @echo rebuilding $@ + autoconf diff --git a/buildcheck.sh b/build/buildcheck.sh similarity index 100% rename from buildcheck.sh rename to build/buildcheck.sh diff --git a/build/fastgen.sh b/build/fastgen.sh new file mode 100755 index 0000000000..5e9367f4fc --- /dev/null +++ b/build/fastgen.sh @@ -0,0 +1,51 @@ +#! /bin/sh +# +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +srcdir=$1 +shift + +topsrcdir=`(cd $srcdir; pwd)` + +mkdir_p=$1 +shift + +if test "$mkdir_p" = "yes"; then + mkdir_p="mkdir -p" +else + mkdir_p="$topsrcdir/build/shtool mkdir -f -p" +fi + +for i in $@ ; do + echo "creating $i" + dir=`dirname $i` + $mkdir_p $dir + sed \ + -e s#@topsrcdir@#$topsrcdir# \ + -e s#@srcdir@#$topsrcdir/$dir# \ + < $topsrcdir/$i.in > $i +done diff --git a/build/library.mk b/build/library.mk new file mode 100644 index 0000000000..0a0ad7e9c9 --- /dev/null +++ b/build/library.mk @@ -0,0 +1,42 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) + +$(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES) + $(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD) + +$(LTLIBRARY_SHARED_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES) + @test -d $(phplibdir) || $(mkinstalldirs) $(phplibdir) + $(LINK) -avoid-version -module -rpath $(phplibdir) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_SHARED_LIBADD) + $(SHLIBTOOL) --mode=install install $@ $(phplibdir) + +shared: + @if test '$(SHLIBTOOL)' != '$(LIBTOOL)'; then \ + $(MAKE) 'LIBTOOL=$(SHLIBTOOL)' $(LTLIBRARY_SHARED_NAME); \ + else \ + $(MAKE) $(LTLIBRARY_SHARED_NAME); \ + fi; \ diff --git a/build/ltlib.mk b/build/ltlib.mk new file mode 100644 index 0000000000..1474621afa --- /dev/null +++ b/build/ltlib.mk @@ -0,0 +1,31 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +targets = $(LTLIBRARY_NAME) + +include $(topsrcdir)/build/rules.mk +include $(topsrcdir)/build/library.mk + diff --git a/build/mkdep.perl b/build/mkdep.perl new file mode 100644 index 0000000000..fdac834c20 --- /dev/null +++ b/build/mkdep.perl @@ -0,0 +1,91 @@ +#!/usr/bin/perl +# +# $Id$ +# +# Created: Thu Aug 15 11:57:33 1996 too +# Last modified: Mon Dec 27 09:23:56 1999 too +# +# Copyright (c) 1996-1999 Tomi Ollila. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +die "Usage: mkdep CPP-command [CPP options] file1 [file2...]\n" + if ($#ARGV < 1); + +$cmdl = shift(@ARGV); + +$cmdl = "$cmdl " . shift (@ARGV) while ($ARGV[0] =~ /^-[A-Z]/); + +while ($file = shift(@ARGV)) +{ + $file =~ s/\.o$/.c/; + + open(F, "$cmdl $file|"); + + &parseout; + + close(F); +} + + +sub initinit +{ + %used = (); + $of = $file; + $of =~ s/\.c$/.lo/; + $str = "$of:\t$file"; + $len = length $str; +} + +sub initstr +{ + $str = "\t"; + $len = length $str; +} + +sub parseout +{ + &initinit; + while () + { + next unless (/^# [0-9]* "(.*\.h)"/); + + next if ($1 =~ /^\//); + + next if $used{$1}; + + $used{$1} = 1; + + $nlen = length($1) + 1; + + if ($len + $nlen > 72) + { + print $str, "\\\n"; + &initstr; + $str = $str . $1; + } + else { $str = $str . " " . $1; } + + $len += $nlen; + + } + print $str, "\n"; +} diff --git a/build/program.mk b/build/program.mk new file mode 100644 index 0000000000..6365f63cfd --- /dev/null +++ b/build/program.mk @@ -0,0 +1,30 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +PROGRAM_OBJECTS = $(PROGRAM_SOURCES:.c=.lo) + +$(PROGRAM_NAME): $(PROGRAM_DEPENDENCIES) $(PROGRAM_OBJECTS) + $(LINK) $(PROGRAM_LDFLAGS) $(PROGRAM_OBJECTS) $(PROGRAM_LDADD) diff --git a/build/rules.mk b/build/rules.mk new file mode 100644 index 0000000000..f589dc5da7 --- /dev/null +++ b/build/rules.mk @@ -0,0 +1,106 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +include $(DEPTH)/config_vars.mk + +INCLUDES += $(EXTRA_INCLUDES) +CFLAGS += $(EXTRA_CFLAGS) +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@ +mkinstalldirs = $(top_srcdir)/build/shtool mkdir -f -p +INSTALL = $(top_srcdir)/build/shtool install -c +INSTALL_DATA = $(INSTALL) -m 644 + +DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I$(DEPTH) + +moduledir = $(libdir)/php/modules +top_srcdir = $(topsrcdir) +top_builddir = $(DEPTH) + +.SUFFIXES: +.SUFFIXES: .S .c .lo .o .s .y .l + +.c.o: + $(COMPILE) -c $< + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +.c.lo: + $(PHP_COMPILE) + +.s.lo: + $(PHP_COMPILE) + +.S.lo: + $(PHP_COMPILE) + +.y.c: + $(YACC) $(YFLAGS) $< && mv y.tab.c $*.c + if test -f y.tab.h; then \ + if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ + else :; fi + +.l.c: + $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ + + +all: all-recursive $(targets) + +depend-recursive clean-recursive all-recursive install-recursive: + @target=`echo $@|sed s/-recursive//`; \ + if test '$(NO_RECURSION)' != "$$target"; then \ + list='$(SUBDIRS)'; for i in $$list; do \ + echo "Making $$target in $$i"; \ + test "$$i" = "." || (cd $$i && $(MAKE) $$target) || exit 1; \ + done; \ + fi; + +depend: depend-recursive + test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) *.c > .deps + +clean: clean-recursive + rm -f $(targets) *.lo *.la *.o $(CLEANFILES) + rm -rf .libs + +install: install-recursive $(targets) $(install_targets) + +install-modules: + @test -d modules && \ + $(mkinstalldirs) $(moduledir) && \ + echo "installing shared modules into $(moduledir)" && \ + rm -f modules/*.la && \ + cp modules/* $(moduledir) || true + +include $(srcdir)/.deps + +.PHONY: all-recursive clean-recursive install-recursive \ +$(install_targets) install all clean depend depend-recursive shared diff --git a/build/rules_pear.mk b/build/rules_pear.mk new file mode 100644 index 0000000000..72fab825aa --- /dev/null +++ b/build/rules_pear.mk @@ -0,0 +1,114 @@ +# Copyright (c) 1999 Sascha Schumann. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## +# $Id$ +# + +include $(DEPTH)/config_vars.mk + +INCLUDES += $(EXTRA_INCLUDES) +CFLAGS += $(EXTRA_CFLAGS) +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@ +mkinstalldirs = $(top_srcdir)/build/shtool mkdir -f -p +INSTALL = $(top_srcdir)/build/shtool install -c +INSTALL_DATA = $(INSTALL) -m 644 + +DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I$(DEPTH) + +moduledir = $(libdir)/php/modules +top_srcdir = $(topsrcdir) +top_builddir = $(DEPTH) + +.SUFFIXES: +.SUFFIXES: .S .c .lo .o .s .y .l + +.c.o: + $(COMPILE) -c $< + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +.c.lo: + $(PHP_COMPILE) + +.s.lo: + $(PHP_COMPILE) + +.S.lo: + $(PHP_COMPILE) + +.y.c: + $(YACC) $(YFLAGS) $< && mv y.tab.c $*.c + if test -f y.tab.h; then \ + if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ + else :; fi + +.l.c: + $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ + + +################################# +# Simplified Makefile + +all: shared +install: shared install-modules + +################################# + +#all: all-recursive $(targets) + +depend-recursive clean-recursive all-recursive install-recursive: + @target=`echo $@|sed s/-recursive//`; \ + if test '$(NO_RECURSION)' != "$$target"; then \ + list='$(SUBDIRS)'; for i in $$list; do \ + echo "Making $$target in $$i"; \ + test "$$i" = "." || (cd $$i && $(MAKE) $$target) || exit 1; \ + done; \ + fi; + +depend: depend-recursive + test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) *.c > .deps + +clean: clean-recursive + rm -f $(targets) *.lo *.la *.o $(CLEANFILES) + rm -rf .libs + +#install: install-recursive $(targets) $(install_targets) + +install-modules: + @test -d modules && \ + $(mkinstalldirs) $(moduledir) && \ + echo "installing shared modules into $(moduledir)" && \ + rm -f modules/*.la && \ + cp modules/* $(moduledir) || true + +include $(srcdir)/.deps + +.PHONY: all-recursive clean-recursive install-recursive \ +$(install_targets) install all clean depend depend-recursive shared diff --git a/build/shtool b/build/shtool new file mode 100755 index 0000000000..0f2ab5552b --- /dev/null +++ b/build/shtool @@ -0,0 +1,707 @@ +#!/bin/sh +## +## GNU shtool -- The GNU Portable Shell Tool +## Copyright (c) 1994-1999 Ralf S. Engelschall +## +## See http://www.gnu.org/software/shtool/ for more information. +## See ftp://ftp.gnu.org/gnu/shtool/ for latest version. +## +## Version 1.4.7 (24-Dec-1999) +## Ingredients: 3/17 available modules +## + +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +## USA, or contact Ralf S. Engelschall . +## +## 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 +## package itself is licensed under the GNU General Public License in +## order to take advantage of GNU shtool. +## + +## +## Usage: shtool [] [ [] []] +## +## Available commands: +## echo Print string with optional construct expansion +## install Install a program, script or datafile +## mkdir Make one or more directories +## +## Not available commands (because module was not built-in): +## mdate Pretty-print modification time of a file or dir +## table Pretty print a field-separated list as a table +## prop Display progress with a running propeller +## move Move files with simultan substitution +## mkln Make link with calculation of relative paths +## mkshadow Make a shadow tree +## fixperm Fix file permissions inside a source tree +## tarball Roll distribution tarballs +## guessos Simple OS/platform guesser +## arx Extended archive command +## slo Separate linker options by library class +## scpp Sharing C Pre-Processor +## version Generate and maintain a version information file +## path Deal with program paths +## + +if [ $# -eq 0 ]; then + echo "$0:Error: invalid command line" 1>&2 + echo "$0:Hint: run \`$0 -h' for usage" 1>&2 + exit 1 +fi +if [ ".$1" = ".-h" -o ".$1" = ".--help" ]; then + echo "This is GNU shtool, version 1.4.7 (24-Dec-1999)" + echo "Copyright (c) 1994-1999 Ralf S. Engelschall " + echo "Report bugs to " + echo '' + echo "Usage: shtool [] [ [] []]" + echo '' + echo 'Available global :' + 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 '' + echo 'Available [] []:' + echo ' echo [-n] [-e] [ ...]' + echo ' install [-v] [-t] [-c] [-C] [-s] [-m] [-o] [-g]' + echo ' [-e] ' + echo ' mkdir [-t] [-f] [-p] [-m] [ ...]' + echo '' + echo 'Not available (because module was not built-in):' + echo ' mdate [-n] [-z] [-s] [-d] [-f] [-o] ' + echo ' table [-F] [-w] [-c] [-s] ...' + echo ' prop [-p]' + echo ' move [-v] [-t] [-e] [-p] ' + echo ' mkln [-t] [-f] [-s] [ ...] ' + echo ' mkshadow [-v] [-t] [-a] ' + echo ' fixperm [-v] [-t] [ ...]' + echo ' tarball [-t] [-v] [-o ] [-c ] [-d ] [-u' + echo ' ] [-g ] [-e ] [ ...]' + echo ' guessos ' + echo ' arx [-t] [-C] [ ...]' + echo ' slo -- -L -l [ -L -l ... ]' + echo ' scpp [-v] [-p] [-o] [-t] [-M] [-D]' + echo ' [-C] [ ...]' + echo ' version [-l] [-n] [-p] [-s] [-i]' + echo ' [-d] ' + echo ' path [-s] [-r] [-d] [-b] [-m] [-p] [ ...]' + echo '' + exit 0 +fi +if [ ".$1" = ".-v" -o ".$1" = ."--version" ]; then + echo "GNU shtool 1.4.7 (24-Dec-1999)" + exit 0 +fi +if [ ".$1" = ".-d" -o ".$1" = ."--debug" ]; then + shift + set -x +fi +name=`echo "$0" | sed -e 's;.*/\([^/]*\)$;\1;' -e 's;-sh$;;' -e 's;\.sh$;;'` +case "$name" in + echo|install|mkdir ) + # implicit tool command selection + tool="$name" + ;; + * ) + # explicit tool command selection + tool="$1" + shift + ;; +esac +arg_spec="" +opt_spec="" +gen_tmpfile=no + +## +## DISPATCH INTO SCRIPT PROLOG +## + +case $tool in + echo ) + str_tool="echo" + str_usage="[-n] [-e] [ ...]" + arg_spec="0+" + opt_spec="ne" + ;; + install ) + str_tool="install" + str_usage="[-v] [-t] [-c] [-C] [-s] [-m] [-o] [-g] [-e] " + arg_spec="2" + opt_spec="vtcCsm:o:g:e:" + opt_m="" + opt_o="" + opt_g="" + opt_e="" + ;; + mkdir ) + str_tool="mkdir" + str_usage="[-t] [-f] [-p] [-m] [ ...]" + arg_spec="1+" + opt_spec="tfpm:" + opt_m="" + ;; + * ) + echo "$0:Error: unknown command \`$tool'" 2>&1 + echo "$0:Hint: run \`$0 -h' for usage" 2>&1 + exit 1 + ;; +esac + +## +## COMMON UTILITY CODE +## + +# determine name of tool +if [ ".$tool" != . ]; then + # inside shtool + toolcmd="$0 $tool" + toolcmdhelp="shtool $tool" + msgprefix="shtool:$tool" +else + # standalone + toolcmd="$0" + toolcmdhelp="sh.$tool" + msgprefix="$str_tool" +fi + +# parse argument specification string +eval `echo $arg_spec | sed -e 's/^\([0-9]*\)\(.*\)/arg_NUMS="\1"; arg_MODE="\2"/'` +test ".$arg_MODE" = . && arg_MODE="=" + +# parse option specification string +for opt in `echo "h$opt_spec" | sed -e 's/\([a-zA-Z0-9][:+]*\)/\1 /g'`; do + opt_MODE="." + eval `echo $opt |\ + sed -e 's/^\([a-zA-Z0-9]\)/opt_THIS="\1";/' \ + -e 's/";\([:+]\)/"; opt_MODE="\1";/'` + eval "opt_MODE_${opt_THIS}=${opt_MODE}" + test "$opt_MODE" = . && eval "opt_${opt_THIS}=no" +done + +# interate over argument line +opt_PREV='' +while [ $# -gt 0 ]; do + # special option stops processing + if [ ".$1" = ".--" ]; then + shift + break + fi + + # determine option and argument + opt_ARG_OK=no + if [ ".$opt_PREV" != . ]; then + # merge previous seen option with argument + opt_OPT="$opt_PREV" + opt_ARG="$1" + opt_ARG_OK=yes + opt_PREV="" + else + # split argument into option and argument + case "$1" in + -[a-zA-Z0-9]*) + eval `echo "x$1" |\ + sed -e 's/^x-\([a-zA-Z0-9]\)/opt_OPT="\1";/' \ + -e 's/";\(.*\)$/"; opt_ARG="\1"/'` + ;; + -[a-zA-Z0-9]) + opt_OPT=`awk 'BEGIN { printf("%s", substr(OPT, 2)); }' \ + "OPT=$1" &2 + echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2 + exit 1 + ;; + esac +done +if [ ".$opt_PREV" != . ]; then + echo "$msgprefix:Error: missing argument to option \`-$opt_PREV'" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2 + exit 1 +fi + +# process help option +if [ ".$opt_h" = .yes ]; then + echo "Usage: $toolcmdhelp $str_usage" + exit 0 +fi + +# complain about incorrect number of arguments +case $arg_MODE in + "=" ) + if [ $# -ne $arg_NUMS ]; then + echo "$msgprefix:Error: invalid number of arguments (exactly $arg_NUMS expected)" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2 + exit 1 + fi + ;; + "+" ) + if [ $# -lt $arg_NUMS ]; then + echo "$msgprefix:Error: invalid number of arguments (at least $arg_NUMS expected)" 1>&2 + echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2 + exit 1 + fi + ;; +esac + +# establish a temporary file on request +if [ ".$gen_tmpfile" = .yes ]; then + tmpdir="/tmp" + if [ ".$TMPDIR" != . ]; then + tmpdir="$TMPDIR" + else + if [ ".$TEMPDIR" != . ]; then + tmpdir="$TEMPDIR" + fi + fi + tmpfile="$tmpdir/.shtool.$$" + rm -f $tmpfile >/dev/null 2>&1 + touch $tmpfile +fi + +## +## DISPATCH INTO SCRIPT BODY +## + +case $tool in + +echo ) + ## + ## echo -- Print string with optional construct expansion + ## Copyright (c) 1998-1999 Ralf S. Engelschall + ## Originally written for WML as buildinfo + ## + + text="$*" + + # check for broken escape sequence expansion + seo='' + bytes=`echo '\1' | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" != .3 ]; then + bytes=`echo -E '\1' | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" = .3 ]; then + seo='-E' + fi + fi + + # check for existing -n option (to suppress newline) + minusn='' + bytes=`echo -n 123 2>/dev/null | wc -c | awk '{ printf("%s", $1); }'` + if [ ".$bytes" = .3 ]; then + minusn='-n' + fi + + # determine terminal bold sequence + term_bold='' + term_norm='' + if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[Bb]'`" != . ]; then + # the most important terminals we directly know + case $TERM in + xterm|xterm*|vt220|vt220*) + term_bold=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + term_norm=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*) + term_bold=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + term_norm=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + esac + # then try a possibly existing "tput" or "tcout" utility + paths=`echo $PATH | sed -e 's/:/ /g'` + for tool in tput tcout; do + for dir in $paths; do + if [ -r "$dir/$tool" ]; then + for seq in bold md smso; do # smso is last + bold="`$dir/$tool $seq 2>/dev/null`" + if [ ".$bold" != . ]; then + term_bold="$bold" + break + fi + done + if [ ".$term_bold" != . ]; then + for seq in sgr0 me rmso reset; do # 'reset' is last + norm="`$dir/$tool $seq 2>/dev/null`" + if [ ".$norm" != . ]; then + term_norm="$norm" + break + fi + done + fi + break + fi + done + if [ ".$term_bold" != . -a ".$term_norm" != . ]; then + break; + fi + done + if [ ".$term_bold" = . -o ".$term_norm" = . ]; then + echo "$msgprefix:Warning: unable to determine terminal sequence for bold mode" 1>&2 + fi + fi + + # determine user name + username='' + if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[uU]'`" != . ]; then + username="$LOGNAME" + if [ ".$username" = . ]; then + username="$USER" + if [ ".$username" = . ]; then + username="`(whoami) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$username" = . ]; then + username="`(who am i) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$username" = . ]; then + username='unknown' + fi + fi + fi + fi + fi + + # determine user id + userid='' + if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%U'`" != . ]; then + userid="`(id -u) 2>/dev/null`" + if [ ".$userid" = . ]; then + str="`(id) 2>/dev/null`" + if [ ".`echo $str | grep '^uid[ ]*=[ ]*[0-9]*('`" != . ]; then + userid=`echo $str | sed -e 's/^uid[ ]*=[ ]*//' -e 's/(.*//'` + fi + if [ ".$userid" = . ]; then + userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \ + sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$userid" = . ]; then + userid=`(ypcat passwd) 2>/dev/null | + egrep "^${username}:" | \ + sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'` + if [ ".$userid" = . ]; then + userid='?' + fi + fi + fi + fi + fi + + # determine host name + hostname='' + if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%h'`" != . ]; then + hostname="`(uname -n) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$hostname" = . ]; then + hostname="`(hostname) 2>/dev/null |\ + awk '{ printf("%s", $1); }'`" + if [ ".$hostname" = . ]; then + hostname='unknown' + fi + fi + case $hostname in + *.* ) + domainname=".`echo $hostname | cut -d. -f2-`" + hostname="`echo $hostname | cut -d. -f1`" + ;; + 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 + domainname="`egrep '^[ ]*domain' /etc/resolv.conf | head -1 |\ + sed -e 's/.*domain//' \ + -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ + -e 's/^\.//' -e 's/^/./' |\ + awk '{ printf("%s", $1); }'`" + if [ ".$domainname" = . ]; then + domainname="`egrep '^[ ]*search' /etc/resolv.conf | head -1 |\ + sed -e 's/.*search//' \ + -e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \ + -e 's/ .*//' -e 's/ .*//' \ + -e 's/^\.//' -e 's/^/./' |\ + awk '{ printf("%s", $1); }'`" + fi + fi + fi + fi + + # determine current time + time_day='' + time_month='' + time_year='' + time_monthname='' + if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[DMYm]'`" != . ]; then + time_day=`date '+%d'` + time_month=`date '+%m'` + time_year=`date '+%Y' 2>/dev/null` + if [ ".$time_year" = . ]; then + time_year=`date '+%y'` + case $time_year in + [5-9][0-9]) time_year="19$time_year" ;; + [0-4][0-9]) time_year="20$time_year" ;; + esac + fi + case $time_month in + 1|01) time_monthname='Jan' ;; + 2|02) time_monthname='Feb' ;; + 3|03) time_monthname='Mar' ;; + 4|04) time_monthname='Apr' ;; + 5|05) time_monthname='May' ;; + 6|06) time_monthname='Jun' ;; + 7|07) time_monthname='Jul' ;; + 8|08) time_monthname='Aug' ;; + 9|09) time_monthname='Sep' ;; + 10) time_monthname='Oct' ;; + 11) time_monthname='Nov' ;; + 12) time_monthname='Dec' ;; + esac + fi + + # expand special ``%x'' constructs + if [ ".$opt_e" = .yes ]; then + text=`echo $seo "$text" |\ + sed -e "s/%B/${term_bold}/g" \ + -e "s/%b/${term_norm}/g" \ + -e "s/%u/${username}/g" \ + -e "s/%U/${userid}/g" \ + -e "s/%h/${hostname}/g" \ + -e "s/%d/${domainname}/g" \ + -e "s/%D/${time_day}/g" \ + -e "s/%M/${time_month}/g" \ + -e "s/%Y/${time_year}/g" \ + -e "s/%m/${time_monthname}/g" 2>/dev/null` + fi + + # create output + if [ .$opt_n = .no ]; then + echo $seo "$text" + else + # the harder part: echo -n is best, because + # awk complains about some \xx sequences. + if [ ".$minusn" != . ]; then + echo $seo $minusn "$text" + else + echo dummy | awk '{ printf("%s", TEXT); }' TEXT="$text" + fi + fi + ;; + +install ) + ## + ## install -- Install a program, script or datafile + ## Copyright (c) 1997-1999 Ralf S. Engelschall + ## 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 + + # Add a possible extension to src and dst + if [ ".$opt_e" != . ]; then + src="$src$opt_e" + dst="$dst$opt_e" + fi + + # Check for correct arguments + if [ ".$src" = ".$dst" ]; then + echo "$msgprefix:Error: source and destination are the same" 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@$$#" + + # Verbosity + if [ ".$opt_v" = .yes ]; then + echo "$src -> $dst" 1>&2 + 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 + fi + cp $src $dsttmp || exit $? + else + if [ ".$opt_t" = .yes ]; then + echo "mv $src $dsttmp" 1>&2 + 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 + 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 + + # 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 + + # 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 + ;; + +mkdir ) + ## + ## mkdir -- Make one or more directories + ## Copyright (c) 1996-1999 Ralf S. Engelschall + ## Originally written for public domain by Noah Friedman + ## Cleaned up and enhanced for shtool + ## + + errstatus=0 + for p in ${1+"$@"}; do + # when the directory already exists... + if [ -d "$p" ]; then + if [ ".$opt_f" = .no ]; then + echo "$msgprefix:Error: file exists: $p" 1>&2 + errstatus=1 + break + else + continue + fi + fi + # when the directory has to be created + if [ ".$opt_p" = .no ]; then + if [ ".$opt_t" = .yes ]; then + echo "mkdir $p" 1>&2 + fi + mkdir $p || errstatus=$? + else + # the smart situation + set fnord `echo ":$p" |\ + sed -e 's/^:\//%/' \ + -e 's/^://' \ + -e 's/\// /g' \ + -e 's/^%/\//'` + shift + pathcomp= + for d in ${1+"$@"}; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp="./$pathcomp" ;; + esac + if [ ! -d "$pathcomp" ]; then + if [ ".$opt_t" = .yes ]; then + echo "mkdir $pathcomp" 1>&2 + fi + mkdir $pathcomp || errstatus=$? + if [ ".$opt_m" != . ]; then + if [ ".$opt_t" = .yes ]; then + echo "chmod $opt_m $pathcomp" 1>&2 + fi + chmod $opt_m $pathcomp || errstatus=$? + fi + fi + pathcomp="$pathcomp/" + done + fi + done + exit $errstatus + ;; + +esac + +exit 0 + +##EOF## diff --git a/build2.mk b/build2.mk deleted file mode 100644 index fdbfd2c850..0000000000 --- a/build2.mk +++ /dev/null @@ -1,56 +0,0 @@ -# Workhorse for build.mk -# -# $Id$ - -include generated_lists - -LT_TARGETS = ltconfig ltmain.sh config.guess config.sub - -makefile_in_files = $(makefile_am_files:.am=.in) -makefile_files = $(makefile_am_files:e.am=e) - -config_h_in = php_config.h.in - -acconfig_h_SOURCES = acconfig.h.in $(config_h_files) - -targets = $(makefile_in_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) - -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.in\'s - @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 \ - | grep -v PHP_OUTPUT_FILES || true >&2 - @for i in $(LT_TARGETS); do mv $$i.bak $$i; done - -aclocal.m4: configure.in acinclude.m4 - aclocal - -$(config_h_in): configure.in acconfig.h -# explicitly remove target since autoheader does not seem to work -# correctly otherwise (timestamps are not updated) - @echo rebuilding $@ - @rm -f $@ - autoheader - -configure: aclocal.m4 configure.in $(config_m4_files) - @echo rebuilding $@ - autoconf diff --git a/buildconf b/buildconf index 0dd249756b..63ad650af1 100755 --- a/buildconf +++ b/buildconf @@ -26,4 +26,4 @@ else subdirs='' fi -${MAKE:-make} -s -f build.mk AMFLAGS="$automake_flags" $subdirs +${MAKE:-make} -s -f build/build.mk AMFLAGS="$automake_flags" diff --git a/configure.in b/configure.in index 261959af3e..a38c564f45 100644 --- a/configure.in +++ b/configure.in @@ -1,10 +1,12 @@ dnl ## $Id$ -*- sh -*- dnl ## Process this file with autoconf to produce a configure script. -divert(0) +divert(1) AC_INIT(main.c) +PHP_FAST_OUTPUT(sapi/Makefile ext/Makefile Makefile pear/Makefile) + dnl Because ``make install'' is often performed by the superuser, dnl we create the libs subdirectory as the user who configures PHP. dnl Otherwise, the current user will not be able to delete libs @@ -25,25 +27,30 @@ CONFIGURE_COMMAND=$0 for arg in "$@"; do CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$arg'" done -AC_SUBST(CONFIGURE_COMMAND) -dnl ## Diversion 1 is the initial checking of OS features, programs, +php_shtool="$srcdir/build/shtool" +T_MD=`$php_shtool echo -n -e %B` +T_ME=`$php_shtool echo -n -e %b` + +dnl ## Diversion 2 is the initial checking of OS features, programs, dnl ## libraries and so on. -dnl ## In diversion 2 we check for compile-time options to the PHP +dnl ## In diversion 3 we check for compile-time options to the PHP dnl ## core and how to deal with different system dependencies. This dnl ## includes what regex library is used and whether debugging or short dnl ## tags are enabled, and the default behaviour of php.ini options. dnl ## This is also where an SAPI interface is selected (choosing between dnl ## Apache module, CGI etc.) -dnl ## In diversion 3 we check which extensions should be compiled. +dnl ## In diversion 4 we check which extensions should be compiled. dnl ## All of these are normally in the extension directories. -dnl ## Diversion 4 is the last one. Here we generate files and clean up. +dnl ## Diversion 5 is the last one. Here we generate files and clean up. -divert(1) +divert(2) +PHP_CONFIGURE_PART(Running system checks) + dnl ## This is where the version number is changed from now on! AM_INIT_AUTOMAKE(php, 4.0b4-dev) @@ -62,10 +69,6 @@ fi AM_CONFIG_HEADER(php_config.h) AM_MAINTAINER_MODE -phplibdir=$libdir/php -AC_SUBST(phplibdir) -AC_SUBST(PHP_VERSION) - dnl We want this one before the checks, so the checks can modify CFLAGS. test -z "$CFLAGS" && auto_cflags=1 @@ -109,14 +112,13 @@ AC_C_CONST if test "$ac_cv_c_const" = "yes" ; then LEX_CFLAGS="-DYY_USE_CONST" fi -AC_SUBST(LEX_CFLAGS) sinclude(Zend/acinclude.m4) sinclude(Zend/Zend.m4) sinclude(TSRM/tsrm.m4) dnl check for -R, etc. switch -AC_MSG_CHECKING(if compiler supports -R) +AC_MSG_CHECKING(whether compiler supports -R) AC_CACHE_VAL(php_cv_cc_dashr,[ SAVE_LIBS="${LIBS}" LIBS="-R /usr/lib ${LIBS}" @@ -126,7 +128,7 @@ AC_MSG_RESULT($php_cv_cc_dashr) if test $php_cv_cc_dashr = "yes"; then ld_runpath_switch="-R" else - AC_MSG_CHECKING([if compiler supports -Wl,-rpath,]) + AC_MSG_CHECKING([whether compiler supports -Wl,-rpath,]) AC_CACHE_VAL(php_cv_cc_rpath,[ SAVE_LIBS="${LIBS}" LIBS="-Wl,-rpath,/usr/lib ${LIBS}" @@ -157,7 +159,6 @@ if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then fi INCLUDES="-I\$(top_builddir)/Zend -I\$(top_srcdir)" -AC_SUBST(INCLUDES) AC_CHECK_LIB(nsl, gethostname, [ AC_ADD_LIBRARY(nsl) @@ -250,48 +251,9 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_STRUCT_TM AC_STRUCT_TIMEZONE -AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, -[AC_TRY_COMPILE([#include -#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;], - ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)]) - -if test "$ac_cv_struct_tm_gmtoff" = yes; then - AC_DEFINE(HAVE_TM_GMTOFF) -fi - -AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock, - AC_TRY_COMPILE([ -#include -#include - ], - [struct flock x;], - [ - ac_cv_struct_flock=yes - ],[ - ac_cv_struct_flock=no - ]) -) - -AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t, - AC_TRY_COMPILE([ -#include -#include -],[ -socklen_t x; -],[ - ac_cv_socklen_t=yes -],[ - ac_cv_socklen_t=no -])) - - -if test "$ac_cv_struct_flock" = "yes" ; then - AC_DEFINE(HAVE_STRUCT_FLOCK, 1) -fi - -if test "$ac_cv_socklen_t" = "no"; then - AC_CHECK_TYPE(socklen_t, unsigned int) -fi +PHP_TM_GMTOFF +PHP_STRUCT_FLOCK +PHP_SOCKLEN_T AC_CHECK_SIZEOF(long, 8) AC_CHECK_SIZEOF(int, 4) @@ -307,7 +269,6 @@ if test "`uname -s 2>/dev/null`" != "QNX"; then else AC_MSG_WARN(warnings level for cc set to 0) WARNING_LEVEL=0 - AC_SUBST(WARNING_LEVEL) fi AC_STRUCT_ST_RDEV @@ -395,12 +356,12 @@ if test $ac_cv_type_in_addr_t = no; then AC_DEFINE(in_addr_t, u_int) fi -divert(2) +divert(3) + + abs_srcdir=`(cd $srcdir; pwd)` abs_builddir=`pwd` -AC_SUBST(abs_srcdir) -AC_SUBST(abs_builddir) AC_MSG_CHECKING(whether to use a configuration file) AC_ARG_WITH(config-file-path, @@ -451,7 +412,6 @@ else fi -AC_SUBST(DEBUG_CFLAGS) test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS" @@ -606,26 +566,30 @@ if test "$PHP_PEAR" = "yes"; then PEAR_DIR=pear fi -AC_SUBST(PEAR_DIR) PHP_SAPI=cgi PHP_BUILD_PROGRAM dnl paths to the targets relative to the build directory SAPI_PROGRAM=php +dnl on HP-UX, the extension is .sl. Need to improve this SAPI_SHARED=libs/libphp4.so SAPI_STATIC=libs/libphp4.a -esyscmd(./scripts/config-stubs sapi) +PHP_CONFIGURE_PART(Configuring SAPI modules) -divert(3) +esyscmd(./scripts/config-stubs sapi) -AC_SUBST(EXTRA_LIBS) -AC_SUBST(EXTRA_LDFLAGS) +AC_MSG_CHECKING(for chosen SAPI module) +AC_MSG_RESULT($PHP_SAPI) + +divert(4) +PHP_CONFIGURE_PART(Configuring extensions) + # reading config stubs esyscmd(./scripts/config-stubs ext) -PHP_OUTPUT(sapi/$PHP_SAPI/Makefile) +PHP_FAST_OUTPUT(sapi/$PHP_SAPI/Makefile) AC_MSG_CHECKING(whether to enable versioning) AC_ARG_ENABLE(versioning, @@ -644,7 +608,7 @@ if test "$PHP_VERSIONING" = "yes"; then fi fi -divert(4) +divert(5) enable_shared=yes enable_static=yes @@ -663,13 +627,6 @@ static) ;; esac - - -AM_PROG_LIBTOOL -if test "$enable_debug" != "yes"; then - AM_SET_LIBTOOL_VARIABLE([--silent]) -fi - PHP_REGEX case "`uname -s`" in @@ -679,6 +636,7 @@ esac CPPFLAGS="$CPPFLAGS -D_REENTRANT" +PHP_CONFIGURE_PART(Configuring Zend) LIBZEND_BASIC_CHECKS LIBZEND_OTHER_CHECKS @@ -688,7 +646,6 @@ if test "$ZEND_EXPERIMENTAL_ZTS" = "yes"; then AC_DEFINE(ZTS) INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM" PHP_THREAD_SAFETY=yes - PHP_OUTPUT(TSRM/Makefile) else PHP_THREAD_SAFETY=no fi @@ -700,9 +657,6 @@ if test "$abs_srcdir" != "$abs_builddir"; then fi fi -AC_SUBST(TSRM_DIR) -AC_SUBST(TSRM_LIB) - dnl *** Commented out - generates slow code and consumes a lot of dnl *** resources during compilation - we need to figure out how dnl *** to supply it only when absolutely necessary @@ -716,47 +670,109 @@ EXTRA_LIBS="$EXTRA_LIBS $LIBS" LIBS="" LDFLAGS="" if test "$PHP_THREAD_SAFETY" = "yes"; then + PHP_CONFIGURE_PART(Configuring TSRM) TSRM_BASIC_CHECKS TSRM_OTHER_CHECKS EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS" EXTRA_LIBS="$EXTRA_LIBS $LIBS" LDFLAGS="" LIBS="" + PHP_OUTPUT(TSRM/Makefile) fi phplibdir="`pwd`/modules" phptempdir="`pwd`/libs" -AC_SUBST(phplibdir) -AC_SUBST(phptempdir) AC_BUILD_RPATH EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS" - -AC_SUBST(CFLAGS) -AC_SUBST(PROG_SENDMAIL) -AC_SUBST(PHP_RPATHS) -AC_SUBST(NATIVE_RPATHS) -AC_SUBST(PHP_PROGRAM) PHP_BUILD_DATE=`date '+%Y-%m-%d'` -AC_SUBST(PHP_BUILD_DATE) AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE") PHP_UNAME=`uname -a` AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME") PHP_OS=`uname` AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS") -AC_SUBST(PHP_LDFLAGS) -AC_SUBST(PHP_LIBS) -AC_SUBST(PHP_SAPI) -AC_SUBST(INSTALL_IT) + +PHP_SUBST(abs_builddir) +PHP_SUBST(abs_srcdir) +PHP_SUBST(bindir) +PHP_SUBST(exec_prefix) +PHP_SUBST(includedir) +PHP_SUBST(libdir) +PHP_SUBST(phplibdir) +PHP_SUBST(phptempdir) +PHP_SUBST(prefix) + +PHP_SUBST(CC) +PHP_SUBST(CFLAGS) +PHP_SUBST(CONFIGURE_COMMAND) +PHP_SUBST(CPP) +PHP_SUBST(CPPFLAGS) +PHP_SUBST(CXX) +PHP_SUBST(DEBUG_CFLAGS) +PHP_SUBST(DEFS) +PHP_SUBST(EXTRA_LDFLAGS) +PHP_SUBST(EXTRA_LIBS) +PHP_SUBST(INCLUDES) +PHP_SUBST(INSTALL_IT) +PHP_SUBST(LEX) +PHP_SUBST(LEX_OUTPUT_ROOT) +PHP_SUBST(LFLAGS) +PHP_SUBST(LIBTOOL) +PHP_SUBST(NATIVE_RPATHS) +PHP_SUBST(PEAR_DIR) +PHP_SUBST(PHP_BUILD_DATE) +PHP_SUBST(PHP_COMPILE) +PHP_SUBST(PHP_LDFLAGS) +PHP_SUBST(PHP_LIBS) +PHP_SUBST(PHP_PROGRAM) +PHP_SUBST(PHP_RPATHS) +PHP_SUBST(PHP_SAPI) +PHP_SUBST(PHP_VERSION) +PHP_SUBST(PROG_SENDMAIL) +PHP_SUBST(SHELL) +PHP_SUBST(SHLIBTOOL) +PHP_SUBST(TSRM_DIR) +PHP_SUBST(TSRM_LIB) +PHP_SUBST(WARNING_LEVEL) +PHP_SUBST(YACC) + +PHP_CONFIGURE_PART(Configuring libtool) +AM_PROG_LIBTOOL +if test "$enable_debug" != "yes"; then + AM_SET_LIBTOOL_VARIABLE([--silent]) +fi + +PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' + +if test "$enable_shared" = "yes"; then + SHLIBTOOL='$(LIBTOOL)' +else + if test -n "$EXT_SHARED"; then + PHP_CONFIGURE_PART(Configuring shared libtool) + $SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh + SHLIBTOOL='$(SHELL) $(top_builddir)/shlibtool' + else + PHP_COMPILE='$(COMPILE) -c $< && touch $@' + fi +fi + +test "$prefix" = "NONE" && prefix="/usr/local" +test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' + +PHP_CONFIGURE_PART(Generating files) + +PHP_FAST_GENERATE + #libphp4.module -AC_OUTPUT([Makefile php4.spec Zend/Makefile ext/Makefile sapi/Makefile pear/Makefile - $PHP_OUTPUT_FILES - scripts/mkextlib build-defs.h], [], [ +AC_OUTPUT([php4.spec Zend/Makefile + scripts/mkextlib build-defs.h + $PHP_OUTPUT_FILES + ], [], [ if test ! -f $srcdir/ext/bcmath/number.c; then echo "creating number.c" @@ -817,11 +833,8 @@ if true; then echo "+--------------------------------------------------------------------+" fi - ]) -divert - dnl ## Local Variables: dnl ## tab-width: 4 dnl ## End: diff --git a/ext/.cvsignore b/ext/.cvsignore index e995588475..72ad046a51 100644 --- a/ext/.cvsignore +++ b/ext/.cvsignore @@ -1,3 +1,3 @@ -.deps Makefile -Makefile.in +Makefile.am +.deps diff --git a/ext/Makefile.am b/ext/Makefile.am deleted file mode 100644 index 6bad8560f8..0000000000 --- a/ext/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -SUBDIRS = @EXT_SUBDIRS@ - diff --git a/ext/Makefile.in b/ext/Makefile.in new file mode 100644 index 0000000000..9ec7373d60 --- /dev/null +++ b/ext/Makefile.in @@ -0,0 +1,21 @@ + +DEPTH = .. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +SUBDIRS = $(EXT_STATIC) $(EXT_SHARED) + +all: + @list='$(EXT_STATIC)'; for i in $$list; do \ + echo "Making all in $$i"; \ + (cd $$i && $(MAKE) all); \ + done + @list='$(EXT_SHARED)'; for i in $$list; do \ + echo "Making shared in $$i"; \ + (cd $$i && $(MAKE) shared); \ + done + +NO_RECURSION = all + +include $(topsrcdir)/build/rules.mk diff --git a/ext/apache/.cvsignore b/ext/apache/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/apache/.cvsignore +++ b/ext/apache/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/apache/Makefile.am b/ext/apache/Makefile.am deleted file mode 100644 index 32b246cf00..0000000000 --- a/ext/apache/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_apache.la -libphpext_apache_la_SOURCES=apache.c - diff --git a/ext/apache/Makefile.in b/ext/apache/Makefile.in new file mode 100644 index 0000000000..8a27bb166c --- /dev/null +++ b/ext/apache/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libapache.la +LTLIBRARY_SOURCES = apache.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/aspell/.cvsignore b/ext/aspell/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/aspell/.cvsignore +++ b/ext/aspell/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/aspell/Makefile.am b/ext/aspell/Makefile.am deleted file mode 100644 index 355308958b..0000000000 --- a/ext/aspell/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_aspell.la -libphpext_aspell_la_SOURCES=aspell.c - diff --git a/ext/aspell/Makefile.in b/ext/aspell/Makefile.in new file mode 100644 index 0000000000..1c5ad51822 --- /dev/null +++ b/ext/aspell/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libaspell.la +LTLIBRARY_SOURCES = aspell.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/bcmath/.cvsignore b/ext/bcmath/.cvsignore index c85382de07..476e84ae08 100644 --- a/ext/bcmath/.cvsignore +++ b/ext/bcmath/.cvsignore @@ -1,8 +1,8 @@ -.deps -Makefile.in Makefile number.h number.c *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/bcmath/Makefile.am b/ext/bcmath/Makefile.am deleted file mode 100644 index 762104ad75..0000000000 --- a/ext/bcmath/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/Zend -noinst_LTLIBRARIES=libphpext_bcmath.la -libphpext_bcmath_la_SOURCES=bcmath.c number.c diff --git a/ext/bcmath/Makefile.in b/ext/bcmath/Makefile.in new file mode 100644 index 0000000000..63953d35e0 --- /dev/null +++ b/ext/bcmath/Makefile.in @@ -0,0 +1,11 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libbcmath.la +LTLIBRARY_SOURCES = bcmath.c number.c + +include $(topsrcdir)/build/ltlib.mk + diff --git a/ext/com/.cvsignore b/ext/com/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/com/.cvsignore +++ b/ext/com/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/cpdf/.cvsignore b/ext/cpdf/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/cpdf/.cvsignore +++ b/ext/cpdf/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/cpdf/Makefile.am b/ext/cpdf/Makefile.am deleted file mode 100644 index 5118f95250..0000000000 --- a/ext/cpdf/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_cpdf.la -libphpext_cpdf_la_SOURCES=cpdf.c - diff --git a/ext/cpdf/Makefile.in b/ext/cpdf/Makefile.in new file mode 100644 index 0000000000..11961fe66e --- /dev/null +++ b/ext/cpdf/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libcpdf.la +LTLIBRARY_SOURCES = cpdf.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/cybercash/.cvsignore b/ext/cybercash/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/cybercash/.cvsignore +++ b/ext/cybercash/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/cybercash/Makefile.am b/ext/cybercash/Makefile.am deleted file mode 100644 index 486524e47c..0000000000 --- a/ext/cybercash/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -noinst_LTLIBRARIES=libphpext_cybercash.la -libphpext_cybercash_la_SOURCES=cybercash.c diff --git a/ext/cybercash/Makefile.in b/ext/cybercash/Makefile.in new file mode 100644 index 0000000000..fc24880d42 --- /dev/null +++ b/ext/cybercash/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libcybercash.la +LTLIBRARY_SOURCES = cybercash.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/dav/.cvsignore b/ext/dav/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/dav/.cvsignore +++ b/ext/dav/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/dav/Makefile.am b/ext/dav/Makefile.am deleted file mode 100644 index 63d0510a97..0000000000 --- a/ext/dav/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_dav.la -libphpext_dav_la_SOURCES=dav.c - diff --git a/ext/dav/Makefile.in b/ext/dav/Makefile.in new file mode 100644 index 0000000000..c3522068b4 --- /dev/null +++ b/ext/dav/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libdav.la +LTLIBRARY_SOURCES = dav.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/db/.cvsignore b/ext/db/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/db/.cvsignore +++ b/ext/db/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/db/Makefile.am b/ext/db/Makefile.am deleted file mode 100644 index 7dc6e32d07..0000000000 --- a/ext/db/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_db.la -libphpext_db_la_SOURCES=db.c - diff --git a/ext/db/Makefile.in b/ext/db/Makefile.in new file mode 100644 index 0000000000..a2856cdfc3 --- /dev/null +++ b/ext/db/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libdb.la +LTLIBRARY_SOURCES = db.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/db/config.m4 b/ext/db/config.m4 index 319174dd51..a7042d141b 100644 --- a/ext/db/config.m4 +++ b/ext/db/config.m4 @@ -2,7 +2,7 @@ dnl $Id$ dnl config.m4 for extension db dnl don't forget to call PHP_EXTENSION(db) -divert(1) +divert(2)dnl AC_CHECK_HEADERS(db1/ndbm.h) @@ -21,13 +21,13 @@ AC_DEFUN(AC_PREFERRED_DB_LIB,[ else AC_MSG_RESULT($DBM_TYPE chosen) fi - AC_SUBST(DBM_LIB) - AC_SUBST(DBM_TYPE) + PHP_SUBST(DBM_LIB) + PHP_SUBST(DBM_TYPE) ]) AC_PREFERRED_DB_LIB -divert(3) +divert(4)dnl if test "$DBM_LIB" = "-lgdbm"; then AC_CHECK_HEADER(gdbm.h, [ GDBM_INCLUDE="" ], [ diff --git a/ext/dba/.cvsignore b/ext/dba/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/dba/.cvsignore +++ b/ext/dba/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/dba/Makefile.am b/ext/dba/Makefile.am deleted file mode 100644 index 2ab929391e..0000000000 --- a/ext/dba/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_dba.la -libphpext_dba_la_SOURCES=dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c \ - dba_ndbm.c dba_db3.c - diff --git a/ext/dba/Makefile.in b/ext/dba/Makefile.in new file mode 100644 index 0000000000..1e45ed519f --- /dev/null +++ b/ext/dba/Makefile.in @@ -0,0 +1,11 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libdba.la +LTLIBRARY_SOURCES = dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c \ + dba_ndbm.c dba_db3.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/dbase/.cvsignore b/ext/dbase/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/dbase/.cvsignore +++ b/ext/dbase/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/dbase/Makefile.am b/ext/dbase/Makefile.am deleted file mode 100644 index ddce0d08db..0000000000 --- a/ext/dbase/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -noinst_LTLIBRARIES=libphpext_dbase.la -libphpext_dbase_la_SOURCES=dbf_head.c dbf_rec.c dbf_misc.c dbf_ndx.c dbase.c - diff --git a/ext/dbase/Makefile.in b/ext/dbase/Makefile.in new file mode 100644 index 0000000000..b3b93f3ee8 --- /dev/null +++ b/ext/dbase/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libdbase.la +LTLIBRARY_SOURCES = dbf_head.c dbf_rec.c dbf_misc.c dbf_ndx.c dbase.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/dbase/config.m4 b/ext/dbase/config.m4 index 29f54923bf..1241888987 100644 --- a/ext/dbase/config.m4 +++ b/ext/dbase/config.m4 @@ -11,11 +11,8 @@ AC_ARG_WITH(dbase, else AC_MSG_RESULT(no) AC_DEFINE(DBASE,0) - DBASE_LIB= fi ],[ AC_MSG_RESULT(no) AC_DEFINE(DBASE,0) - DBASE_LIB= ]) -AC_SUBST(DBASE_LIB) diff --git a/ext/domxml/.cvsignore b/ext/domxml/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/domxml/.cvsignore +++ b/ext/domxml/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/domxml/Makefile.am b/ext/domxml/Makefile.am deleted file mode 100644 index 36775910d3..0000000000 --- a/ext/domxml/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_domxml.la -libphpext_domxml_la_SOURCES=domxml.c - diff --git a/ext/domxml/Makefile.in b/ext/domxml/Makefile.in new file mode 100644 index 0000000000..76745b9644 --- /dev/null +++ b/ext/domxml/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libdomxml.la +LTLIBRARY_SOURCES = domxml.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/ereg/regex/.cvsignore b/ext/ereg/regex/.cvsignore index 934f46a784..af50ee6ef0 100644 --- a/ext/ereg/regex/.cvsignore +++ b/ext/ereg/regex/.cvsignore @@ -1,5 +1,6 @@ Makefile -Makefile.in *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/ereg/regex/Makefile.am b/ext/ereg/regex/Makefile.am deleted file mode 100644 index 993db56b1a..0000000000 --- a/ext/ereg/regex/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -noinst_LTLIBRARIES = libregex.la - -libregex_la_SOURCES = regcomp.c regexec.c regerror.c regfree.c diff --git a/ext/ereg/regex/Makefile.in b/ext/ereg/regex/Makefile.in new file mode 100644 index 0000000000..f3215ab42f --- /dev/null +++ b/ext/ereg/regex/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = .. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libregex.la +LTLIBRARY_SOURCES = regcomp.c regexec.c regerror.c regfree.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/ext_skel b/ext/ext_skel index a1b0406e6b..eadab951b9 100755 --- a/ext/ext_skel +++ b/ext/ext_skel @@ -46,13 +46,19 @@ PHP_EXTENSION($extname) eof -$ECHO_N " Makefile.am$ECHO_C" -cat >Makefile.am <Makefile.in < $@.new && mv $@.new $@ - -#number.o: number.c -# $(CC) $(CFLAGS) -w@WARNING_LEVEL@ -c $< -o $@ diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index a637f2789d..8225bb7ec1 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -1,6 +1,6 @@ dnl $Id$ -*- sh -*- -divert(1) +divert(2)dnl dnl dnl Check for crypt() capabilities @@ -129,7 +129,7 @@ AC_CHECK_LIB(crypt, crypt, [ AC_CHECK_FUNCS(getcwd) AC_CHECK_FUNCS(getwd) -divert(3) +divert(4)dnl AC_ARG_WITH(regex, [ --with-regex=TYPE regex library type: system, apache, php], diff --git a/ext/sybase/.cvsignore b/ext/sybase/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/sybase/.cvsignore +++ b/ext/sybase/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/sybase/Makefile.am b/ext/sybase/Makefile.am deleted file mode 100644 index 00c2c0d592..0000000000 --- a/ext/sybase/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_sybase.la -libphpext_sybase_la_SOURCES=sybase.c - diff --git a/ext/sybase/Makefile.in b/ext/sybase/Makefile.in new file mode 100644 index 0000000000..864711f164 --- /dev/null +++ b/ext/sybase/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsybase.la +LTLIBRARY_SOURCES = sybase.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/sybase_ct/.cvsignore b/ext/sybase_ct/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/sybase_ct/.cvsignore +++ b/ext/sybase_ct/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/sybase_ct/Makefile.am b/ext/sybase_ct/Makefile.am deleted file mode 100644 index aac8cf7bce..0000000000 --- a/ext/sybase_ct/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_sybase_ct.la -libphpext_sybase_ct_la_SOURCES=php_sybase_ct.c - diff --git a/ext/sybase_ct/Makefile.in b/ext/sybase_ct/Makefile.in new file mode 100644 index 0000000000..af189f2be9 --- /dev/null +++ b/ext/sybase_ct/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsybase_ct.la +LTLIBRARY_SOURCES = php_sybase_ct.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/sysvsem/.cvsignore b/ext/sysvsem/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/sysvsem/.cvsignore +++ b/ext/sysvsem/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/sysvsem/Makefile.am b/ext/sysvsem/Makefile.am deleted file mode 100644 index c6cceb0f54..0000000000 --- a/ext/sysvsem/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_sysvsem.la -libphpext_sysvsem_la_SOURCES=sysvsem.c - diff --git a/ext/sysvsem/Makefile.in b/ext/sysvsem/Makefile.in new file mode 100644 index 0000000000..6988e43b3a --- /dev/null +++ b/ext/sysvsem/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsysvsem.la +LTLIBRARY_SOURCES = sysvsem.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/sysvshm/.cvsignore b/ext/sysvshm/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/sysvshm/.cvsignore +++ b/ext/sysvshm/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/sysvshm/Makefile.am b/ext/sysvshm/Makefile.am deleted file mode 100644 index e539b09545..0000000000 --- a/ext/sysvshm/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_sysvshm.la -libphpext_sysvshm_la_SOURCES=sysvshm.c - diff --git a/ext/sysvshm/Makefile.in b/ext/sysvshm/Makefile.in new file mode 100644 index 0000000000..263ec993e7 --- /dev/null +++ b/ext/sysvshm/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsysvshm.la +LTLIBRARY_SOURCES = sysvshm.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/wddx/.cvsignore b/ext/wddx/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/wddx/.cvsignore +++ b/ext/wddx/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/wddx/Makefile.am b/ext/wddx/Makefile.am deleted file mode 100644 index c41c6d7112..0000000000 --- a/ext/wddx/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id: Makefile.am,v 1.2 1999/10/04 15:18:21 sas Exp $ - -noinst_LTLIBRARIES=libphpext_wddx.la -libphpext_wddx_la_SOURCES=wddx.c - diff --git a/ext/wddx/Makefile.in b/ext/wddx/Makefile.in new file mode 100644 index 0000000000..f437cb248f --- /dev/null +++ b/ext/wddx/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libwddx.la +LTLIBRARY_SOURCES = wddx.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/xml/.cvsignore b/ext/xml/.cvsignore index 260571b495..1e2687d732 100644 --- a/ext/xml/.cvsignore +++ b/ext/xml/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile .libs *.lo *.la +Makefile.am +.deps diff --git a/ext/xml/Makefile.am b/ext/xml/Makefile.am deleted file mode 100644 index 504e4c6d9b..0000000000 --- a/ext/xml/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -# $Id$ - -SRC=xml.c -INCLUDES=@INCLUDES@ @XML_INCLUDE@ -I@top_srcdir@ -I@top_srcdir@/Zend -noinst_LTLIBRARIES=@XML_STATIC@ -EXTRA_LTLIBRARIES=libphpext_xml.la xml.la -libphpext_xml_la_SOURCES=$(SRC) -phplib_LTLIBRARIES=@XML_SHARED@ -xml_la_SOURCES=$(SRC) -xml_la_LIBADD=@XML_LIBS@ -xml_la_LDFLAGS=-avoid-version -module -rpath $(phplibdir) -EXTRA_LIBS= diff --git a/ext/xml/Makefile.in b/ext/xml/Makefile.in new file mode 100644 index 0000000000..634eede7aa --- /dev/null +++ b/ext/xml/Makefile.in @@ -0,0 +1,14 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libxml.la +LTLIBRARY_SOURCES = xml.c +LTLIBRARY_SHARED_NAME = xml.la +LTLIBRARY_SHARED_LIBADD = $(XML_LIBS) + +EXTRA_INCLUDES = $(XML_INCLUDE) + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/xml/config.m4 b/ext/xml/config.m4 index 8c55e8eac3..64e7f70732 100644 --- a/ext/xml/config.m4 +++ b/ext/xml/config.m4 @@ -52,7 +52,5 @@ AC_ARG_WITH(xml, ],[ AC_MSG_RESULT(no) ]) -AC_SUBST(XML_LIBS) -AC_SUBST(XML_INCLUDE) -AC_SUBST(XML_STATIC) -AC_SUBST(XML_SHARED) +PHP_SUBST(XML_LIBS) +PHP_SUBST(XML_INCLUDE) diff --git a/ext/yp/.cvsignore b/ext/yp/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/yp/.cvsignore +++ b/ext/yp/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/yp/Makefile.am b/ext/yp/Makefile.am deleted file mode 100644 index ea05dc32ca..0000000000 --- a/ext/yp/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id: Makefile.am,v 1.2 1999/10/04 15:18:22 sas Exp $ - -noinst_LTLIBRARIES=libphpext_yp.la -libphpext_yp_la_SOURCES=yp.c - diff --git a/ext/yp/Makefile.in b/ext/yp/Makefile.in new file mode 100644 index 0000000000..bb3b8f46f1 --- /dev/null +++ b/ext/yp/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libyp.la +LTLIBRARY_SOURCES = yp.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/ext/zlib/.cvsignore b/ext/zlib/.cvsignore index c2243b1dd7..af50ee6ef0 100644 --- a/ext/zlib/.cvsignore +++ b/ext/zlib/.cvsignore @@ -1,6 +1,6 @@ -.deps -Makefile.in Makefile *.lo *.la .libs +Makefile.am +.deps diff --git a/ext/zlib/Makefile.am b/ext/zlib/Makefile.am deleted file mode 100644 index 830739ede3..0000000000 --- a/ext/zlib/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id$ - -noinst_LTLIBRARIES=libphpext_zlib.la -libphpext_zlib_la_SOURCES=zlib.c - diff --git a/ext/zlib/Makefile.in b/ext/zlib/Makefile.in new file mode 100644 index 0000000000..b860cbce8a --- /dev/null +++ b/ext/zlib/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libzlib.la +LTLIBRARY_SOURCES = zlib.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/main/internal_functions_win32.c b/main/internal_functions_win32.c index b4666e8703..a2b58a125c 100644 --- a/main/internal_functions_win32.c +++ b/main/internal_functions_win32.c @@ -49,7 +49,7 @@ #include "ext/standard/php_output.h" #include "ext/standard/php_array.h" #include "ext/standard/php_assert.h" -#include "ext/COM/php_COM.h" +#include "ext/com/php_COM.h" #include "ext/standard/reg.h" #include "ext/pcre/php_pcre.h" #include "ext/odbc/php_odbc.h" diff --git a/pear/.cvsignore b/pear/.cvsignore index 3dda72986f..72ad046a51 100644 --- a/pear/.cvsignore +++ b/pear/.cvsignore @@ -1,2 +1,3 @@ -Makefile.in Makefile +Makefile.am +.deps diff --git a/pear/Makefile.am b/pear/Makefile.am deleted file mode 100644 index cf92330f7d..0000000000 --- a/pear/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ - -peardir=$(prefix)/lib/php -pear_DBdir=$(prefix)/lib/php/DB - -install-data-local: - -$(mkinstalldirs) $(peardir) $(pear_DBdir) && \ - $(INSTALL_DATA) $(srcdir)/DB.php $(peardir) && \ - $(INSTALL_DATA) $(srcdir)/DB/common.php $(pear_DBdir) && \ - $(INSTALL_DATA) $(srcdir)/DB/odbc.php $(pear_DBdir) && \ - $(INSTALL_DATA) $(srcdir)/DB/mysql.php $(pear_DBdir) diff --git a/pear/Makefile.in b/pear/Makefile.in new file mode 100644 index 0000000000..3074fc69d1 --- /dev/null +++ b/pear/Makefile.in @@ -0,0 +1,89 @@ + +DEPTH = .. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +install_targets = install-data-local install-headers install-build + +include $(topsrcdir)/build/rules.mk + +peardir=$(prefix)/lib/php +pear_DBdir=$(prefix)/lib/php/DB + + +install-data-local: + -@$(mkinstalldirs) $(peardir) $(pear_DBdir) && \ + $(INSTALL_DATA) $(srcdir)/DB.php $(peardir) && \ + $(INSTALL_DATA) $(srcdir)/DB/common.php $(pear_DBdir) && \ + $(INSTALL_DATA) $(srcdir)/DB/odbc.php $(pear_DBdir) && \ + $(INSTALL_DATA) $(srcdir)/DB/mysql.php $(pear_DBdir) + +phpincludedir = $(includedir)/php +builddir = $(prefix)/lib/php/build + +BUILD_FILES = \ + pear/pear.m4 \ + build/fastgen.sh \ + build/library.mk \ + build/ltlib.mk \ + build/program.mk \ + build/rules.mk \ + build/rules_pear.mk \ + build/shtool \ + acinclude.m4 + +install-build: + -@$(mkinstalldirs) $(builddir) $(bindir) && \ + (cd $(topsrcdir) && cp $(BUILD_FILES) $(builddir)) && \ + echo "creating phpize" && \ + sed \ + -e 's#@PREFIX@#$(prefix)#' \ + < $(srcdir)/phpize.in > $(bindir)/phpize && \ + chmod +x $(bindir)/phpize && \ + echo "creating php-config" && \ + sed \ + -e 's#@PREFIX@#$(prefix)#' \ + -e 's#@PHPINCLUDEDIR@#$(phpincludedir)#g' \ + < $(srcdir)/php-config.in > $(bindir)/php-config && \ + chmod +x $(bindir)/php-config + +SRC_HEADERS = \ + php.h \ + php_regex.h \ + request_info.h \ + php3_compat.h \ + safe_mode.h \ + fopen-wrappers.h \ + php_version.h \ + php_globals.h \ + php_reentrancy.h \ + php_ini.h \ + SAPI.h + +BUILD_HEADERS = \ + php_config.h \ + Zend/zend_config.h \ + build-defs.h + +STANDARD_HEADERS = \ + php_output.h + +HEADER_DIRS = \ + Zend \ + TSRM \ + ext/standard \ + regex + +install-headers: + -@for i in $(HEADER_DIRS); do \ + paths="$$paths $(phpincludedir)/$$i"; \ + done; \ + $(mkinstalldirs) $$paths && \ + echo "creating header file hierarchy" && \ + (cd $(topsrcdir) && cp $(SRC_HEADERS) $(phpincludedir)) && \ + (cd $(topsrcdir)/ext/standard && cp *.h $(phpincludedir)/ext/standard) && \ + (cd $(topsrcdir) && cp regex/regex.h regex/regex_extra.h $(phpincludedir)/regex) && \ + (cd $(topsrcdir) && cp TSRM/TSRM.h $(phpincludedir)/TSRM) && \ + (cd $(topsrcdir)/Zend && cp *.h $(phpincludedir)/Zend) && \ + (cd $(DEPTH) && cp $(BUILD_HEADERS) $(phpincludedir)) diff --git a/pear/pear.m4 b/pear/pear.m4 new file mode 100644 index 0000000000..fc552e4acb --- /dev/null +++ b/pear/pear.m4 @@ -0,0 +1,76 @@ + +AC_INIT(Makefile.in) + +AC_DEFUN(PHP_WITH_PHP_CONFIG,[ + AC_ARG_WITH(php-config, +[ --with-php-config=[PATH]],[ + PHP_CONFIG=$withval +],[ + PHP_CONFIG=php-config +]) + + prefix=`$PHP_CONFIG --prefix 2>/dev/null` + INCLUDES=`$PHP_CONFIG --includes 2>/dev/null` + + if test -z "$prefix"; then + AC_MSG_ERROR(Cannot find php-config. Please use --with-php-config=[PATH]) + fi + AC_MSG_CHECKING(PHP prefix) + AC_MSG_RESULT($prefix) + AC_MSG_CHECKING(PHP includes) + AC_MSG_RESULT($INCLUDES) +]) + +php_always_shared=yes + +AC_PROG_CC +AC_PROG_CC_C_O + +PHP_WITH_PHP_CONFIG + +AC_PREFIX_DEFAULT() + +sinclude(config.m4) + +enable_static=no +enable_shared=yes + +AC_PROG_LIBTOOL + +SHLIBTOOL='$(LIBTOOL)' +PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' +phplibdir="`pwd`/modules" + +test "$prefix" = "NONE" && prefix="/usr/local" +test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' + +PHP_SUBST(prefix) +PHP_SUBST(exec_prefix) +PHP_SUBST(libdir) +PHP_SUBST(prefix) +PHP_SUBST(phplibdir) + +PHP_SUBST(PHP_COMPILE) +PHP_SUBST(CC) +PHP_SUBST(CFLAGS) +PHP_SUBST(CPP) +PHP_SUBST(CPPFLAGS) +PHP_SUBST(CXX) +PHP_SUBST(DEFS) +PHP_SUBST(EXTRA_LDFLAGS) +PHP_SUBST(EXTRA_LIBS) +PHP_SUBST(INCLUDES) +PHP_SUBST(LEX) +PHP_SUBST(LEX_OUTPUT_ROOT) +PHP_SUBST(LFLAGS) +PHP_SUBST(SHLIBTOOL) +PHP_SUBST(LIBTOOL) +PHP_SUBST(SHELL) + +PHP_FAST_OUTPUT(Makefile) + +PHP_FAST_GENERATE + +AC_CONFIG_HEADER(php_config.h) + +AC_OUTPUT() diff --git a/pear/php-config.in b/pear/php-config.in new file mode 100644 index 0000000000..5058c75e1c --- /dev/null +++ b/pear/php-config.in @@ -0,0 +1,16 @@ +#! /bin/sh + +prefix='@PREFIX@' +includes='-I@PHPINCLUDEDIR@ -I@PHPINCLUDEDIR@/Zend -I@PHPINCLUDEDIR@/TSRM' + +case "$1" in +--prefix) + echo $prefix;; +--includes) + echo $includes;; +*) + echo "Usage: $0 [--prefix|--includes]" + exit 1;; +esac + +exit 0 diff --git a/pear/phpize.in b/pear/phpize.in new file mode 100644 index 0000000000..ac4424dd1c --- /dev/null +++ b/pear/phpize.in @@ -0,0 +1,26 @@ +#! /bin/sh + +prefix='@PREFIX@' + +phpdir="$prefix/lib/php/build" + +test -d build || mkdir build + +for i in fastgen.sh library.mk ltlib.mk program.mk rules.mk rules_pear.mk shtool; do + cp $phpdir/$i build +done + +mv build/rules_pear.mk build/rules.mk + +cp $phpdir/acinclude.m4 . + +sed \ +-e "s#@prefix@#$prefix#" \ +< $phpdir/pear.m4 > configure.in + +touch .deps install-sh mkinstalldirs missing + +aclocal +autoconf +autoheader +libtoolize -f -c diff --git a/regex/.cvsignore b/regex/.cvsignore index 934f46a784..af50ee6ef0 100644 --- a/regex/.cvsignore +++ b/regex/.cvsignore @@ -1,5 +1,6 @@ Makefile -Makefile.in *.lo *.la .libs +Makefile.am +.deps diff --git a/regex/Makefile.am b/regex/Makefile.am deleted file mode 100644 index 993db56b1a..0000000000 --- a/regex/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -noinst_LTLIBRARIES = libregex.la - -libregex_la_SOURCES = regcomp.c regexec.c regerror.c regfree.c diff --git a/regex/Makefile.in b/regex/Makefile.in new file mode 100644 index 0000000000..f3215ab42f --- /dev/null +++ b/regex/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = .. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libregex.la +LTLIBRARY_SOURCES = regcomp.c regexec.c regerror.c regfree.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/.cvsignore b/sapi/.cvsignore index e995588475..72ad046a51 100644 --- a/sapi/.cvsignore +++ b/sapi/.cvsignore @@ -1,3 +1,3 @@ -.deps Makefile -Makefile.in +Makefile.am +.deps diff --git a/sapi/Makefile.am b/sapi/Makefile.am deleted file mode 100644 index 58d6fae738..0000000000 --- a/sapi/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -SUBDIRS = $(PHP_SAPI) - diff --git a/sapi/Makefile.in b/sapi/Makefile.in new file mode 100644 index 0000000000..de717b6e58 --- /dev/null +++ b/sapi/Makefile.in @@ -0,0 +1,9 @@ + +DEPTH = .. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +SUBDIRS = $(PHP_SAPI) + +include $(topsrcdir)/build/rules.mk diff --git a/sapi/aolserver/.cvsignore b/sapi/aolserver/.cvsignore index 51f6a4ce4c..ef8920fd26 100644 --- a/sapi/aolserver/.cvsignore +++ b/sapi/aolserver/.cvsignore @@ -1,6 +1,6 @@ -.deps Makefile -Makefile.in .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/aolserver/Makefile.am b/sapi/aolserver/Makefile.am deleted file mode 100644 index 357d9bf151..0000000000 --- a/sapi/aolserver/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -noinst_LTLIBRARIES=libphpsapi_aolserver.la -libphpsapi_aolserver_la_SOURCES=aolserver.c diff --git a/sapi/aolserver/Makefile.in b/sapi/aolserver/Makefile.in new file mode 100644 index 0000000000..599ea22135 --- /dev/null +++ b/sapi/aolserver/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = aolserver.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/aolserver/config.m4 b/sapi/aolserver/config.m4 index fe0fdf0757..cc952e3108 100644 --- a/sapi/aolserver/config.m4 +++ b/sapi/aolserver/config.m4 @@ -1,4 +1,4 @@ -dnl ## $Id: config.m4,v 1.5 1999/11/24 03:27:53 sas Exp $ -*- sh -*- +dnl ## $Id: config.m4,v 1.6 1999/12/29 21:24:37 sas Exp $ -*- sh -*- RESULT=no AC_MSG_CHECKING(for AOLserver support) @@ -14,7 +14,7 @@ AC_ARG_WITH(aolserver, AC_DEFINE(HAVE_AOLSERVER,1,[Whether you have AOLserver]) PHP_SAPI=aolserver PHP_BUILD_SHARED - INSTALL_IT="\$(SHELL) \$(srcdir)/install-sh -m 0755 $SAPI_SHARED $NS_DIR/root/bin/" + INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $NS_DIR/root/bin/" RESULT=yes ]) AC_MSG_RESULT($RESULT) diff --git a/sapi/apache/.cvsignore b/sapi/apache/.cvsignore index 16a0c32a18..3c5f818dc0 100644 --- a/sapi/apache/.cvsignore +++ b/sapi/apache/.cvsignore @@ -1,7 +1,7 @@ -.deps Makefile -Makefile.in libphp4.module .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/apache/Makefile.am b/sapi/apache/Makefile.am deleted file mode 100644 index ba36956a5f..0000000000 --- a/sapi/apache/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ - -APACHE_INCLUDE=@APACHE_INCLUDE@ -INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/Zend $(APACHE_INCLUDE) -noinst_LTLIBRARIES=libphpsapi_apache.la -libphpsapi_apache_la_SOURCES=sapi_apache.c mod_php4.c diff --git a/sapi/apache/Makefile.in b/sapi/apache/Makefile.in new file mode 100644 index 0000000000..e591d4a8bb --- /dev/null +++ b/sapi/apache/Makefile.in @@ -0,0 +1,12 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = sapi_apache.c mod_php4.c + +include $(topsrcdir)/build/ltlib.mk + +INCLUDES += $(APACHE_INCLUDE) diff --git a/sapi/apache/config.m4 b/sapi/apache/config.m4 index 4f1a65b2c9..a9c26ee3bd 100644 --- a/sapi/apache/config.m4 +++ b/sapi/apache/config.m4 @@ -193,20 +193,20 @@ AC_ARG_WITH(apache, ]) INCLUDES="$INCLUDES $APACHE_INCLUDE" -dnl## AC_SUBST(APACHE_INCLUDE) +dnl## PHP_SUBST(APACHE_INCLUDE) fi if test "x$APXS" != "x" -a "`uname -sv`" = "AIX 4" -a "$GCC" != "yes"; then APXS_EXP="-bE:sapi/apache/mod_php4.exp" fi -AC_SUBST(APXS_EXP) -AC_SUBST(APACHE_INCLUDE) -AC_SUBST(APACHE_TARGET) -AC_SUBST(APXS) -AC_SUBST(APXS_LDFLAGS) -AC_SUBST(APACHE_INSTALL) -AC_SUBST(STRONGHOLD) +PHP_SUBST(APXS_EXP) +PHP_SUBST(APACHE_INCLUDE) +PHP_SUBST(APACHE_TARGET) +PHP_SUBST(APXS) +PHP_SUBST(APXS_LDFLAGS) +PHP_SUBST(APACHE_INSTALL) +PHP_SUBST(STRONGHOLD) AC_MSG_CHECKING(for mod_charset compatibility option) AC_ARG_WITH(mod_charset, @@ -232,7 +232,7 @@ if test -n "$APACHE_MODULE"; then else APACHE_WANT_HSREGEX=no fi - AC_SUBST(APACHE_WANT_HSREGEX) + PHP_SUBST(APACHE_WANT_HSREGEX) PHP_APACHE_CHECK_RDYNAMIC PHP_EXTENSION(apache) PHP_OUTPUT(sapi/apache/libphp4.module) diff --git a/sapi/cgi/.cvsignore b/sapi/cgi/.cvsignore index 51f6a4ce4c..ef8920fd26 100644 --- a/sapi/cgi/.cvsignore +++ b/sapi/cgi/.cvsignore @@ -1,6 +1,6 @@ -.deps Makefile -Makefile.in .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/cgi/Makefile.am b/sapi/cgi/Makefile.am deleted file mode 100644 index 63ec80dc4c..0000000000 --- a/sapi/cgi/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -noinst_LTLIBRARIES=libphpsapi_cgi.la -libphpsapi_cgi_la_SOURCES=cgi_main.c diff --git a/sapi/cgi/Makefile.in b/sapi/cgi/Makefile.in new file mode 100644 index 0000000000..3519692fd1 --- /dev/null +++ b/sapi/cgi/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = cgi_main.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/cgi/config.m4 b/sapi/cgi/config.m4 index cd872d5cbc..09d4aa9362 100644 --- a/sapi/cgi/config.m4 +++ b/sapi/cgi/config.m4 @@ -46,7 +46,7 @@ AC_ARG_ENABLE(discard_path, fi if test "$PHP_SAPI" = "cgi" ; then - INSTALL_IT="\$(SHELL) \$(srcdir)/install-sh -m 0755 $SAPI_PROGRAM \$(bindir)/$SAPI_CGI" + INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(bindir)/$SAPI_CGI" fi AC_MSG_CHECKING(for fhttpd module support) diff --git a/sapi/fhttpd/.cvsignore b/sapi/fhttpd/.cvsignore new file mode 100644 index 0000000000..39a06683b7 --- /dev/null +++ b/sapi/fhttpd/.cvsignore @@ -0,0 +1 @@ +.deps diff --git a/sapi/isapi/.cvsignore b/sapi/isapi/.cvsignore index 51f6a4ce4c..ef8920fd26 100644 --- a/sapi/isapi/.cvsignore +++ b/sapi/isapi/.cvsignore @@ -1,6 +1,6 @@ -.deps Makefile -Makefile.in .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/isapi/Makefile.am b/sapi/isapi/Makefile.am deleted file mode 100644 index f0fb1f9daa..0000000000 --- a/sapi/isapi/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ - -noinst_LTLIBRARIES=libphpsapi_isapi.la -libphpsapi_isapi_la_SOURCES=php4isapi.c - diff --git a/sapi/isapi/Makefile.in b/sapi/isapi/Makefile.in new file mode 100644 index 0000000000..f1425b1645 --- /dev/null +++ b/sapi/isapi/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = php4isapi.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/phttpd/.cvsignore b/sapi/phttpd/.cvsignore index 51f6a4ce4c..68b7216fb2 100644 --- a/sapi/phttpd/.cvsignore +++ b/sapi/phttpd/.cvsignore @@ -1,6 +1,6 @@ -.deps Makefile -Makefile.in +Makefile.am .libs *.la *.lo +.deps diff --git a/sapi/phttpd/Makefile.am b/sapi/phttpd/Makefile.am deleted file mode 100644 index 6430c64bc5..0000000000 --- a/sapi/phttpd/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -noinst_LTLIBRARIES=libphpsapi_phttpd.la -libphpsapi_phttpd_la_SOURCES=phttpd.c diff --git a/sapi/phttpd/Makefile.in b/sapi/phttpd/Makefile.in new file mode 100644 index 0000000000..ab0413fad0 --- /dev/null +++ b/sapi/phttpd/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = phttpd.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/phttpd/config.m4 b/sapi/phttpd/config.m4 index 21dbe1fb31..10460b84e0 100644 --- a/sapi/phttpd/config.m4 +++ b/sapi/phttpd/config.m4 @@ -14,7 +14,7 @@ AC_ARG_WITH(phttpd, AC_DEFINE(HAVE_PHTTPD,1,[Whether you have phttpd]) PHP_SAPI=phttpd PHP_BUILD_SHARED - INSTALL_IT="\$(SHELL) \$(srcdir)/install-sh -m 0755 $SAPI_SHARED $PHTTPD_DIR/modules/" + INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $PHTTPD_DIR/modules/" RESULT=yes ]) AC_MSG_RESULT($RESULT) diff --git a/sapi/roxen/.cvsignore b/sapi/roxen/.cvsignore index 16a0c32a18..3c5f818dc0 100644 --- a/sapi/roxen/.cvsignore +++ b/sapi/roxen/.cvsignore @@ -1,7 +1,7 @@ -.deps Makefile -Makefile.in libphp4.module .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/roxen/Makefile.am b/sapi/roxen/Makefile.am deleted file mode 100644 index 1b24bb6e4f..0000000000 --- a/sapi/roxen/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -noinst_LTLIBRARIES=libphpsapi_roxen.la -libphpsapi_roxen_la_SOURCES=roxen.c diff --git a/sapi/roxen/Makefile.in b/sapi/roxen/Makefile.in new file mode 100644 index 0000000000..02afc96179 --- /dev/null +++ b/sapi/roxen/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = roxen.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/servlet/.cvsignore b/sapi/servlet/.cvsignore index ff0f15e31b..89ce14c09d 100644 --- a/sapi/servlet/.cvsignore +++ b/sapi/servlet/.cvsignore @@ -1,5 +1,3 @@ -.deps -Makefile.in Makefile java.* *.jar @@ -8,3 +6,5 @@ java.* *.plg .libs net +Makefile.am +.deps diff --git a/sapi/servlet/Makefile.am b/sapi/servlet/Makefile.in similarity index 75% rename from sapi/servlet/Makefile.am rename to sapi/servlet/Makefile.in index 11103e5541..d0fd7a29b2 100644 --- a/sapi/servlet/Makefile.am +++ b/sapi/servlet/Makefile.in @@ -1,11 +1,16 @@ -# $Id$ -SRC=servlet.c java.c +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ -CFLAGS=@CFLAGS@ @JAVA_CFLAGS@ -INCLUDES=@INCLUDES@ @JAVA_INCLUDE@ -I@top_srcdir@ -I@top_srcdir@/Zend -noinst_LTLIBRARIES=libphpsapi_servlet.la -libphpsapi_servlet_la_SOURCES=$(SRC) +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = servlet.c java.c + +include $(topsrcdir)/build/ltlib.mk + +CFLAGS += $(JAVA_CFLAGS) +INCLUDES += $(JAVA_INCLUDE) java.c : ../../ext/java/java.c @cp ../../ext/java/java.c . diff --git a/sapi/servlet/config.m4 b/sapi/servlet/config.m4 index 28c3ed1ba2..3259fe86d6 100644 --- a/sapi/servlet/config.m4 +++ b/sapi/servlet/config.m4 @@ -37,4 +37,4 @@ AC_ARG_WITH(servlet, AC_MSG_RESULT(no) ]) -AC_SUBST(SERVLET_CLASSPATH) +PHP_SUBST(SERVLET_CLASSPATH) diff --git a/sapi/thttpd/.cvsignore b/sapi/thttpd/.cvsignore index 51f6a4ce4c..ef8920fd26 100644 --- a/sapi/thttpd/.cvsignore +++ b/sapi/thttpd/.cvsignore @@ -1,6 +1,6 @@ -.deps Makefile -Makefile.in .libs *.la *.lo +Makefile.am +.deps diff --git a/sapi/thttpd/Makefile.am b/sapi/thttpd/Makefile.am deleted file mode 100644 index 3affcbf4ff..0000000000 --- a/sapi/thttpd/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -noinst_LTLIBRARIES = libphpsapi_thttpd.la -libphpsapi_thttpd_la_SOURCES = thttpd.c diff --git a/sapi/thttpd/Makefile.in b/sapi/thttpd/Makefile.in new file mode 100644 index 0000000000..4ebb9d6a1a --- /dev/null +++ b/sapi/thttpd/Makefile.in @@ -0,0 +1,10 @@ + +DEPTH = ../.. +topsrcdir = @topsrcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +LTLIBRARY_NAME = libsapi.la +LTLIBRARY_SOURCES = thttpd.c + +include $(topsrcdir)/build/ltlib.mk diff --git a/sapi/thttpd/config.m4 b/sapi/thttpd/config.m4 index 79ae3dbde1..50d37a87e3 100644 --- a/sapi/thttpd/config.m4 +++ b/sapi/thttpd/config.m4 @@ -8,9 +8,13 @@ AC_ARG_WITH(thttpd, cp $abs_srcdir/sapi/thttpd/php_thttpd.h $SAPI_STATIC $THTTPD;\ test -f $THTTPD/php_patched || \ (cd $THTTPD && patch < $abs_srcdir/sapi/thttpd/thttpd_patch && touch php_patched)" - AC_MSG_CHECKING(for thttpd) - AC_MSG_RESULT(yes - $THTTPD) + PHP_THTTPD="yes, using $THTTPD" AC_ADD_INCLUDE($THTTPD) PHP_BUILD_STATIC PHP_SAPI=thttpd +],[ + PHP_THTTPD="no" ]) + +AC_MSG_CHECKING(for thttpd) +AC_MSG_RESULT($PHP_THTTPD) diff --git a/scripts/.cvsignore b/scripts/.cvsignore index 7d4fbc3042..f7249feb58 100644 --- a/scripts/.cvsignore +++ b/scripts/.cvsignore @@ -1 +1,3 @@ mkextlib +Makefile.am +.deps diff --git a/snapshot b/snapshot new file mode 100755 index 0000000000..f8e13ef9d9 --- /dev/null +++ b/snapshot @@ -0,0 +1,7 @@ +#! /bin/sh + +if test -n "$1"; then + flags="DISTNAME=$1" +fi + +${MAKE:-make} $flags -f build/build.mk snapshot