Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Integration of -ng changes. Changes:

- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
  (libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
  • Loading branch information...
commit f2f8d38efa3ccbaa05affaf8fcab24786ef452de 1 parent 6bf3529
Sascha Schumann authored
Showing with 2,627 additions and 719 deletions.
  1. +0 −41 Makefile.am
  2. +54 −0 Makefile.in
  3. +152 −24 acinclude.m4
  4. +0 −49 build.mk
  5. +78 −0 build/build.mk
  6. +88 −0 build/build2.mk
  7. 0  { → build}/buildcheck.sh
  8. +51 −0 build/fastgen.sh
  9. +42 −0 build/library.mk
  10. +31 −0 build/ltlib.mk
  11. +91 −0 build/mkdep.perl
  12. +30 −0 build/program.mk
  13. +106 −0 build/rules.mk
  14. +114 −0 build/rules_pear.mk
  15. +707 −0 build/shtool
  16. +0 −56 build2.mk
  17. +1 −1  buildconf
  18. +112 −99 configure.in
  19. +0 −3  ext/Makefile.am
  20. +21 −0 ext/Makefile.in
  21. +0 −5 ext/apache/Makefile.am
  22. +10 −0 ext/apache/Makefile.in
  23. +0 −5 ext/aspell/Makefile.am
  24. +10 −0 ext/aspell/Makefile.in
  25. +0 −5 ext/bcmath/Makefile.am
  26. +11 −0 ext/bcmath/Makefile.in
  27. +0 −5 ext/cpdf/Makefile.am
  28. +10 −0 ext/cpdf/Makefile.in
  29. +0 −2  ext/cybercash/Makefile.am
  30. +10 −0 ext/cybercash/Makefile.in
  31. +0 −5 ext/dav/Makefile.am
  32. +10 −0 ext/dav/Makefile.in
  33. +0 −5 ext/db/Makefile.am
  34. +10 −0 ext/db/Makefile.in
  35. +4 −4 ext/db/config.m4
  36. +0 −6 ext/dba/Makefile.am
  37. +11 −0 ext/dba/Makefile.in
  38. +0 −3  ext/dbase/Makefile.am
  39. +10 −0 ext/dbase/Makefile.in
  40. +0 −3  ext/dbase/config.m4
  41. +0 −5 ext/domxml/Makefile.am
  42. +10 −0 ext/domxml/Makefile.in
  43. +0 −3  ext/ereg/regex/Makefile.am
  44. +10 −0 ext/ereg/regex/Makefile.in
  45. +10 −4 ext/ext_skel
  46. +0 −5 ext/fdf/Makefile.am
  47. +10 −0 ext/fdf/Makefile.in
  48. +0 −5 ext/filepro/Makefile.am
  49. +10 −0 ext/filepro/Makefile.in
  50. +0 −4 ext/ftp/Makefile.am
  51. +10 −0 ext/ftp/Makefile.in
  52. +0 −12 ext/gd/Makefile.am
  53. +13 −0 ext/gd/Makefile.in
  54. +2 −4 ext/gd/config.m4
  55. +0 −5 ext/gettext/Makefile.am
  56. +11 −0 ext/gettext/Makefile.in
  57. +0 −5 ext/hyperwave/Makefile.am
  58. +10 −0 ext/hyperwave/Makefile.in
  59. +0 −5 ext/icap/Makefile.am
  60. +10 −0 ext/icap/Makefile.in
  61. +0 −5 ext/imap/Makefile.am
  62. +10 −0 ext/imap/Makefile.in
  63. +0 −15 ext/informix/Makefile.am
  64. +21 −0 ext/informix/Makefile.in
  65. +4 −6 ext/informix/config.m4
  66. +0 −5 ext/interbase/Makefile.am
  67. +10 −0 ext/interbase/Makefile.in
  68. +12 −10 ext/{rpc/java/Makefile.am → java/Makefile.in}
  69. +6 −6 ext/java/config.m4
  70. +0 −5 ext/ldap/Makefile.am
  71. +11 −0 ext/ldap/Makefile.in
  72. +0 −5 ext/mcal/Makefile.am
  73. +10 −0 ext/mcal/Makefile.in
  74. +0 −5 ext/mcrypt/Makefile.am
  75. +10 −0 ext/mcrypt/Makefile.in
  76. +0 −5 ext/mhash/Makefile.am
  77. +10 −0 ext/mhash/Makefile.in
  78. +0 −5 ext/msql/Makefile.am
  79. +10 −0 ext/msql/Makefile.in
  80. +0 −13 ext/mysql/Makefile.am
  81. +12 −0 ext/mysql/Makefile.in
  82. +0 −3  ext/mysql/config.h.stub
  83. +4 −7 ext/mysql/config.m4
  84. +0 −5 ext/oci8/Makefile.am
  85. +10 −0 ext/oci8/Makefile.in
  86. +2 −2 ext/oci8/config.m4
  87. +0 −2  ext/odbc/Makefile.am
  88. +10 −0 ext/odbc/Makefile.in
  89. +7 −7 ext/odbc/config.m4
  90. +0 −4 ext/oracle/Makefile.am
  91. +10 −0 ext/oracle/Makefile.in
  92. +2 −2 ext/oracle/config.m4
  93. +0 −7 ext/pcre/Makefile.am
  94. +13 −0 ext/pcre/Makefile.in
  95. +4 −4 ext/pcre/config.m4
  96. +4 −4 ext/pcre/config0.m4
  97. +0 −2  ext/pcre/pcrelib/Makefile.am
  98. +11 −0 ext/pcre/pcrelib/Makefile.in
  99. +0 −5 ext/pdf/Makefile.am
  100. +11 −0 ext/pdf/Makefile.in
  101. +0 −13 ext/pgsql/Makefile.am
  102. +14 −0 ext/pgsql/Makefile.in
  103. +3 −5 ext/pgsql/config.m4
  104. +0 −5 ext/posix/Makefile.am
  105. +10 −0 ext/posix/Makefile.in
  106. +0 −5 ext/readline/Makefile.am
  107. +10 −0 ext/readline/Makefile.in
  108. +1 −1  ext/readline/config.m4
  109. +12 −10 ext/{java/Makefile.am → rpc/Makefile.in}
  110. +12 −10 ext/rpc/{Makefile.am → java/Makefile.in}
  111. +6 −6 ext/rpc/java/config.m4
  112. +0 −5 ext/session/Makefile.am
  113. +10 −0 ext/session/Makefile.in
  114. +0 −4 ext/session/config.h.stub
  115. +2 −2 ext/session/config.m4
  116. +0 −12 ext/snmp/Makefile.am
  117. +13 −0 ext/snmp/Makefile.in
  118. +3 −5 ext/snmp/config.m4
  119. +13 −6 ext/standard/{Makefile.am → Makefile.in}
  120. +2 −2 ext/standard/config.m4
  121. +0 −5 ext/sybase/Makefile.am
  122. +10 −0 ext/sybase/Makefile.in
  123. +0 −5 ext/sybase_ct/Makefile.am
  124. +10 −0 ext/sybase_ct/Makefile.in
  125. +0 −5 ext/sysvsem/Makefile.am
  126. +10 −0 ext/sysvsem/Makefile.in
  127. +0 −5 ext/sysvshm/Makefile.am
  128. +10 −0 ext/sysvshm/Makefile.in
  129. +0 −5 ext/wddx/Makefile.am
  130. +10 −0 ext/wddx/Makefile.in
  131. +0 −12 ext/xml/Makefile.am
  132. +14 −0 ext/xml/Makefile.in
  133. +2 −4 ext/xml/config.m4
  134. +0 −5 ext/yp/Makefile.am
  135. +10 −0 ext/yp/Makefile.in
  136. +0 −5 ext/zlib/Makefile.am
  137. +10 −0 ext/zlib/Makefile.in
  138. +1 −1  main/internal_functions_win32.c
  139. +0 −10 pear/Makefile.am
  140. +89 −0 pear/Makefile.in
  141. +76 −0 pear/pear.m4
  142. +16 −0 pear/php-config.in
  143. +26 −0 pear/phpize.in
  144. +0 −3  regex/Makefile.am
  145. +10 −0 regex/Makefile.in
  146. +0 −3  sapi/Makefile.am
  147. +9 −0 sapi/Makefile.in
  148. +0 −3  sapi/aolserver/Makefile.am
  149. +10 −0 sapi/aolserver/Makefile.in
  150. +1 −1  sapi/aolserver/config.m4
  151. +0 −5 sapi/apache/Makefile.am
  152. +12 −0 sapi/apache/Makefile.in
  153. +9 −9 sapi/apache/config.m4
  154. +0 −3  sapi/cgi/Makefile.am
  155. +10 −0 sapi/cgi/Makefile.in
  156. +1 −1  sapi/cgi/config.m4
  157. +0 −4 sapi/isapi/Makefile.am
  158. +10 −0 sapi/isapi/Makefile.in
  159. +0 −2  sapi/phttpd/Makefile.am
  160. +10 −0 sapi/phttpd/Makefile.in
  161. +1 −1  sapi/phttpd/config.m4
  162. +0 −3  sapi/roxen/Makefile.am
  163. +10 −0 sapi/roxen/Makefile.in
  164. +11 −6 sapi/servlet/{Makefile.am → Makefile.in}
  165. +1 −1  sapi/servlet/config.m4
  166. +0 −2  sapi/thttpd/Makefile.am
  167. +10 −0 sapi/thttpd/Makefile.in
  168. +6 −2 sapi/thttpd/config.m4
  169. +7 −0 snapshot
View
41 Makefile.am
@@ -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)
View
54 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:
View
176 acinclude.m4
@@ -2,6 +2,126 @@ dnl $Id$
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 <sys/types.h>
+#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 <unistd.h>
+#include <fcntl.h>
+ ],
+ [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 <sys/types.h>
+#include <sys/socket.h>
+],[
+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"
])
+
View
49 build.mk
@@ -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)
View
78 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
View
88 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
View
0  buildcheck.sh → build/buildcheck.sh
File renamed without changes
View
51 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: fastgen.sh,v 1.1 1999-12-30 02:58:32 sas Exp $
+#
+
+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
View
42 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; \
View
31 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
+
View
91 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 (<F>)
+ {
+ 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";
+}
View
30 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)
View
106 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
View
114 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
View
707 build/shtool
@@ -0,0 +1,707 @@
+#!/bin/sh
+##
+## GNU shtool -- The GNU Portable Shell Tool
+## Copyright (c) 1994-1999 Ralf S. Engelschall <rse@engelschall.com>
+##
+## See http://www.gnu.org/software/shtool/ for more information.
+## See ftp://ftp.gnu.org/gnu/shtool/ for latest version.
+##
+## Version 1.4.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 <rse@engelschall.com>.
+##
+## 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 [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]
+##
+## 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 <rse@engelschall.com>"
+ echo "Report bugs to <bug-shtool@gnu.org>"
+ echo ''
+ echo "Usage: shtool [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]"
+ echo ''
+ echo 'Available global <options>:'
+ echo ' -v, --version display shtool version information'
+ echo ' -h, --help display shtool usage help page (this one)'
+ echo ' -d, --debug display shell trace information'
+ echo ''
+ echo 'Available <cmd-name> [<cmd-options>] [<cmd-args>]:'
+ echo ' echo [-n] [-e] [<str> ...]'
+ echo ' install [-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>]'
+ echo ' [-e<ext>] <file> <path>'
+ echo ' mkdir [-t] [-f] [-p] [-m<mode>] <dir> [<dir> ...]'
+ echo ''
+ echo 'Not available <cmd-name> (because module was not built-in):'
+ echo ' mdate [-n] [-z] [-s] [-d] [-f<str>] [-o<spec>] <path>'
+ echo ' table [-F<sep>] [-w<width>] [-c<cols>] [-s<strip>] <str><sep><str>...'
+ echo ' prop [-p<str>]'
+ echo ' move [-v] [-t] [-e] [-p] <src-file> <dst-file>'
+ echo ' mkln [-t] [-f] [-s] <src-path> [<src-path> ...] <dst-path>'
+ echo ' mkshadow [-v] [-t] [-a] <src-dir> <dst-dir>'
+ echo ' fixperm [-v] [-t] <path> [<path> ...]'
+ echo ' tarball [-t] [-v] [-o <tarball>] [-c <prog>] [-d <dir>] [-u'
+ echo ' <user>] [-g <group>] [-e <pattern>] <path> [<path> ...]'
+ echo ' guessos '
+ echo ' arx [-t] [-C<cmd>] <op> <archive> [<file> ...]'
+ echo ' slo -- -L<dir> -l<lib> [ -L<dir> -l<lib> ... ]'
+ echo ' scpp [-v] [-p] [-o<ofile>] [-t<tfile>] [-M<mark>] [-D<dname>]'
+ echo ' [-C<cname>] <file> [<file> ...]'
+ echo ' version [-l<lang>] [-n<name>] [-p<prefix>] [-s<version>] [-i<knob>]'
+ echo ' [-d<type>] <file>'
+ echo ' path [-s] [-r] [-d] [-b] [-m] [-p<path>] <str> [<str> ...]'
+ echo ''
+ exit 0
+fi
+if [ ".$1" = ".-v" -o ".$1" = ."--version" ]; then
+ echo "GNU shtool 1.4.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] [<str> ...]"
+ arg_spec="0+"
+ opt_spec="ne"
+ ;;
+ install )
+ str_tool="install"
+ str_usage="[-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>] [-e<ext>] <file> <path>"
+ arg_spec="2"
+ opt_spec="vtcCsm:o:g:e:"
+ opt_m=""
+ opt_o=""
+ opt_g=""
+ opt_e=""
+ ;;
+ mkdir )
+ str_tool="mkdir"
+ str_usage="[-t] [-f] [-p] [-m<mode>] <dir> [<dir> ...]"
+ 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" </dev/null"`
+ opt_ARG=''
+ ;;
+ *)
+ break
+ ;;
+ esac
+ fi
+
+ # eat up option
+ shift
+
+ # determine whether option needs an argument
+ eval "opt_MODE=\$opt_MODE_${opt_OPT}"
+ if [ ".$opt_ARG" = . -a ".$opt_ARG_OK" != .yes ]; then
+ if [ ".$opt_MODE" = ".:" -o ".$opt_MODE" = ".+" ]; then
+ opt_PREV="$opt_OPT"
+ continue
+ fi
+ fi
+
+ # process option
+ case $opt_MODE in
+ "." )
+ # boolean option
+ eval "opt_${opt_OPT}=yes"
+ ;;
+ ":" )
+ # option with argument (multiple occurances override)
+ eval "opt_${opt_OPT}=\"\$opt_ARG\""
+ ;;
+ "+" )
+ # option with argument (multiple occurances append)
+ eval "opt_${opt_OPT}=\"\$opt_${opt_OPT} \$opt_ARG\""
+ ;;
+ * )
+ echo "$msgprefix:Error: unknown option: \`-$opt_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 <rse@engelschall.com>
+ ## 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 2>/dev/null`
+ term_norm=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' </dev/null 2>/dev/null`
+ ;;
+ vt100|vt100*)
+ term_bold=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' </dev/null 2>/dev/null`
+ term_norm=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' </dev/null 2>/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 <rse@engelschall.com>
+ ## Originally written for shtool
+ ##
+
+ src="$1"
+ dst="$2"
+
+ # If destination is a directory, append the input filename
+ if [ -d $dst ]; then
+ dst=`echo "$dst" | sed -e 's:/$::'`
+ dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'`
+ dst="$dst/$dstfile"
+ fi
+
+ # 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 <rse@engelschall.com>
+ ## Originally written for public domain by Noah Friedman <friedman@prep.ai.mit.edu>
+ ## 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##
View
56 build2.mk
@@ -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
View
2  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"
View
211 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 <sys/types.h>
-#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 <unistd.h>
-#include <fcntl.h>
- ],
- [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 <sys/types.h>
-#include <sys/socket.h>
-],[
-socklen_t x;
-],[
- ac_cv_socklen_t=yes
-],[
- ac_cv_socklen_t=no
-]))
-
-
-if test "$ac_cv_struct_flock" = &quo