Improved in-tree shared libraries build system

The following new/revived shared modules are available now:

  ... MySQL (*)
  ... PCRE (*)
  ... Session
  ... SWF

  (*) capable of using bundled library or external library

All changes:

  The m4 macro PHP_EXTENSION was revamped. Uses LIB_BUILD now.
  This effectively means that all extensions have to use dynlib.

  ext/mysql/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/pcre/config.m4 was revamped.
  Uses LIB_BUILD for building bundled library.

  ext/ext_skel was changed to reflect that more modules should be
  compileable as shared module.

  ext/Makefile.in has been simplified enormously.

  Dependencies are now stored in the build tree.

  Empty dependencies are not generated by buildconf anymore. They
  are now dynamically created during the build process.

  Implicit rules for .S were removed.

  The NO_RECURSION feature was removed.

  "libs.mk" has been added to all cvsignore files in ext.
This commit is contained in:
Sascha Schumann 2000-05-01 02:42:55 +00:00
parent ce38236221
commit a481fddfb3
73 changed files with 388 additions and 284 deletions

View file

@ -2,6 +2,8 @@ dnl $Id$
dnl dnl
dnl This file contains local autoconf functions. dnl This file contains local autoconf functions.
sinclude(dynlib.m4)
dnl dnl
dnl PHP_LIBGCC_LIBPATH(gcc) dnl PHP_LIBGCC_LIBPATH(gcc)
dnl Stores the location of libgcc in libgcc_libpath dnl Stores the location of libgcc in libgcc_libpath
@ -11,15 +13,44 @@ AC_DEFUN(PHP_LIBGCC_LIBPATH,[
libgcc_libpath="`dirname $ac_data`" libgcc_libpath="`dirname $ac_data`"
]) ])
AC_DEFUN(PHP_ARG_ANALYZE,[
case "[$]$1" in
shared,*)
ext_output="yes, shared"
ext_shared=yes
$1=`echo $ac_n "[$]$1$ac_c"|sed s/^shared,//`
;;
shared)
ext_output="yes, shared"
ext_shared=yes
$1=yes
;;
no)
ext_output="no"
ext_shared=no
;;
*)
ext_output="yes"
ext_shared=no
;;
esac
AC_MSG_RESULT($ext_output)
])
dnl dnl
dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val]) dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val])
dnl Sets PHP_ARG_NAME either to the user value or to the default value. dnl Sets PHP_ARG_NAME either to the user value or to the default value.
dnl default-val defaults to no. dnl default-val defaults to no.
dnl dnl
AC_DEFUN(PHP_ARG_WITH,[ AC_DEFUN(PHP_ARG_WITH,[
PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z-,A-Z_))
])
AC_DEFUN(PHP_REAL_ARG_WITH,[
AC_MSG_CHECKING($2) AC_MSG_CHECKING($2)
AC_ARG_WITH($1,[$3],PHP_[]translit($1,a-z-,A-Z_)=[$]withval,PHP_[]translit($1,a-z-,A-Z_)=ifelse($4,,no,$4)) AC_ARG_WITH($1,[$3],$5=[$]withval,$5=ifelse($4,,no,$4))
AC_MSG_RESULT([$]PHP_[]translit($1,a-z-,A-Z_)) PHP_ARG_ANALYZE($5)
]) ])
dnl dnl
@ -28,9 +59,13 @@ dnl Sets PHP_ARG_NAME either to the user value or to the default value.
dnl default-val defaults to no. dnl default-val defaults to no.
dnl dnl
AC_DEFUN(PHP_ARG_ENABLE,[ AC_DEFUN(PHP_ARG_ENABLE,[
PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z-,A-Z_))
])
AC_DEFUN(PHP_REAL_ARG_ENABLE,[
AC_MSG_CHECKING($2) AC_MSG_CHECKING($2)
AC_ARG_ENABLE($1,[$3],PHP_[]translit($1,a-z-,A-Z_)=[$]enableval,PHP_[]translit($1,a-z-,A-Z_)=ifelse($4,,no,$4)) AC_ARG_ENABLE($1,[$3],$5=[$]enableval,$5=ifelse($4,,no,$4))
AC_MSG_RESULT([$]PHP_[]translit($1,a-z-,A-Z_)) PHP_ARG_ANALYZE($5)
]) ])
AC_DEFUN(PHP_MODULE_PTR,[ AC_DEFUN(PHP_MODULE_PTR,[
@ -450,21 +485,30 @@ dnl "shared" can be set to "shared" or "yes" to build the extension as
dnl a dynamically loadable library. dnl a dynamically loadable library.
dnl dnl
AC_DEFUN(PHP_EXTENSION,[ AC_DEFUN(PHP_EXTENSION,[
if test -d "$abs_srcdir/ext/$1" ; then EXT_SUBDIRS="$EXT_SUBDIRS $1"
ext_src_base="$abs_srcdir/ext/$1/"
ext_base="ext/$1/" if test -d "$abs_srcdir/ext/$1"; then
EXT_SUBDIRS="$EXT_SUBDIRS $1" dnl ---------------------------------------------- Internal Module
if test "$2" != "shared" && test "$2" != "yes" && test -z "$php_always_shared"; then ext_builddir="ext/$1"
_extlib="lib$1.a" ext_srcdir="$abs_srcdir/ext/$1"
EXT_LTLIBS="$EXT_LTLIBS ext/$1/lib$1.la" else
EXT_LIBS="$EXT_LIBS $1/$_extlib" dnl ---------------------------------------------- External Module
EXT_STATIC="$EXT_STATIC $1" ext_builddir="."
else ext_srcdir="$abs_srcdir"
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_FAST_OUTPUT(ext/$1/Makefile)
fi fi
if test "$2" != "shared" && test "$2" != "yes"; then
dnl ---------------------------------------------- Static module
LIB_BUILD($ext_builddir)
EXT_LTLIBS="$EXT_LTLIBS $ext_builddir/lib$1.la"
EXT_STATIC="$EXT_STATIC $1"
else
dnl ---------------------------------------------- Shared module
LIB_BUILD($ext_builddir,yes)
AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z-,A-Z_), 1, Whether to build $1 as dynamic module)
fi
PHP_FAST_OUTPUT($ext_builddir/Makefile)
]) ])
PHP_SUBST(EXT_SUBDIRS) PHP_SUBST(EXT_SUBDIRS)

View file

@ -39,14 +39,7 @@ acconfig_h_SOURCES = acconfig.h.in $(config_h_files)
targets = $(TOUCH_FILES) $(makefile_in_files) configure $(config_h_in) targets = $(TOUCH_FILES) $(makefile_in_files) configure $(config_h_in)
all: .deps Zend/Makefile.am TSRM/Makefile.am $(targets) all: Zend/Makefile.am TSRM/Makefile.am $(targets)
.deps:
@echo creating empty dependencies
for i in `find ext sapi regex -type d \! -name \*CVS`; do \
list="$$list $$i/.deps"; \
done; \
touch $$list pear/.deps ext/mysql/libmysql/.deps $@
Zend/Makefile.am: Zend/Makefile.am:
test -d Zend || (test -d ../Zend && ln -s ../Zend Zend) test -d Zend || (test -d ../Zend && ln -s ../Zend Zend)
@ -71,7 +64,7 @@ $(makefile_in_files): $(makefile_am_files) aclocal.m4 configure.in $(config_m4_f
|| true >&2 || true >&2
@for i in $(LT_TARGETS); do mv $$i.bak $$i; done @for i in $(LT_TARGETS); do mv $$i.bak $$i; done
aclocal.m4: configure.in acinclude.m4 aclocal.m4: configure.in acinclude.m4 dynlib.m4
aclocal aclocal
$(config_h_in): configure acconfig.h $(config_h_in): configure acconfig.h

5
build/dynlib.mk Normal file
View file

@ -0,0 +1,5 @@
all: all-recursive
include $(builddir)/libs.mk
include $(top_srcdir)/build/rules.mk

View file

@ -33,13 +33,13 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@
mkinstalldirs = $(top_srcdir)/build/shtool mkdir -f -p mkinstalldirs = $(top_srcdir)/build/shtool mkdir -f -p
INSTALL = $(top_srcdir)/build/shtool install -c INSTALL = $(top_srcdir)/build/shtool install -c
INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DATA = $(INSTALL) -m 644
SHARED_COMPILE = $(SHARED_LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c $< && touch $@
DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I$(top_builddir) DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I$(top_builddir)
moduledir = $(libdir)/php/modules moduledir = $(libdir)/php/modules
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .S .c .lo .o .s .y .l .SUFFIXES: .slo .c .lo .o .s .y .l
.c.o: .c.o:
$(COMPILE) -c $< $(COMPILE) -c $<
@ -47,17 +47,14 @@ moduledir = $(libdir)/php/modules
.s.o: .s.o:
$(COMPILE) -c $< $(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
.c.lo: .c.lo:
$(PHP_COMPILE) $(PHP_COMPILE)
.s.lo: .s.lo:
$(PHP_COMPILE) $(PHP_COMPILE)
.S.lo: .c.slo:
$(PHP_COMPILE) $(SHARED_COMPILE)
.y.c: .y.c:
$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c $(YACC) $(YFLAGS) $< && mv y.tab.c $*.c
@ -74,34 +71,30 @@ install: install-recursive
distclean-recursive depend-recursive clean-recursive all-recursive install-recursive: distclean-recursive depend-recursive clean-recursive all-recursive install-recursive:
@otarget=`echo $@|sed s/-recursive//`; \ @otarget=`echo $@|sed s/-recursive//`; \
if test '$(NO_RECURSION)' != "$$otarget"; then \ list='$(SUBDIRS)'; for i in $$list; do \
list='$(SUBDIRS)'; for i in $$list; do \ target="$$otarget"; \
target="$$otarget"; \ echo "Making $$target in $$i"; \
echo "Making $$target in $$i"; \ if test "$$i" = "."; then \
if test "$$i" = "."; then \ ok=yes; \
ok=yes; \ target="$$target-p"; \
target="$$target-p"; \ fi; \
fi; \ if test ! -f $$i/.deps; then touch $$i/.deps; fi; \
(cd $$i && $(MAKE) $$target) || exit 1; \ (cd $$i && $(MAKE) $$target) || exit 1; \
done; \ done; \
if test "$$otarget" = "all" && test -z '$(targets)'; then ok=yes; fi; \ if test "$$otarget" = "all" && test -z '$(targets)'; then ok=yes; fi; \
if test "$$ok" != "yes"; then $(MAKE) "$$otarget-p" || exit 1; fi; \ if test "$$ok" != "yes"; then $(MAKE) "$$otarget-p" || exit 1; fi
fi; \
if test -n '$(make_shared)'; then \
$(MAKE) shared || exit 1; \
fi;
all-p: $(targets) all-p: $(targets)
install-p: $(targets) $(install_targets) install-p: $(targets) $(install_targets)
distclean-p depend-p clean-p: distclean-p depend-p clean-p:
depend: depend-recursive depend: depend-recursive
test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) $(EXTRA_INCLUDES) *.c > .deps test "`echo *.c`" = '*.c' || perl $(top_srcdir)/build/mkdep.perl $(CPP) $(INCLUDES) $(EXTRA_INCLUDES) *.c > $(builddir)/.deps
clean: clean-recursive clean-x clean: clean-recursive clean-x
clean-x: clean-x:
rm -f $(targets) *.lo *.la *.o $(CLEANFILES) rm -f $(targets) *.lo *.slo *.la *.o $(CLEANFILES)
rm -rf .libs rm -rf .libs
distclean: distclean-recursive clean-x distclean: distclean-recursive clean-x
@ -115,7 +108,7 @@ install-modules:
rm -f modules/*.la && \ rm -f modules/*.la && \
cp modules/* $(moduledir) || true cp modules/* $(moduledir) || true
include $(srcdir)/.deps include $(builddir)/.deps
.PHONY: all-recursive clean-recursive install-recursive \ .PHONY: all-recursive clean-recursive install-recursive \
$(install_targets) install all clean depend depend-recursive shared \ $(install_targets) install all clean depend depend-recursive shared \

View file

@ -644,6 +644,7 @@ fi
phplibdir="`pwd`/modules" phplibdir="`pwd`/modules"
test -d $phplibdir || mkdir $phplibdir
phptempdir="`pwd`/libs" phptempdir="`pwd`/libs"
AC_BUILD_RPATH AC_BUILD_RPATH
@ -697,7 +698,7 @@ PHP_SUBST(PHP_SAPI)
PHP_SUBST(PHP_VERSION) PHP_SUBST(PHP_VERSION)
PHP_SUBST(PROG_SENDMAIL) PHP_SUBST(PROG_SENDMAIL)
PHP_SUBST(SHELL) PHP_SUBST(SHELL)
PHP_SUBST(SHLIBTOOL) PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(TSRM_DIR) PHP_SUBST(TSRM_DIR)
PHP_SUBST(TSRM_LIB) PHP_SUBST(TSRM_LIB)
PHP_SUBST(WARNING_LEVEL) PHP_SUBST(WARNING_LEVEL)
@ -732,12 +733,12 @@ fi
PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
if test "$enable_shared" = "yes"; then if test "$enable_shared" = "yes"; then
SHLIBTOOL='$(LIBTOOL)' SHARED_LIBTOOL='$(LIBTOOL)'
else else
if test -n "$EXT_SHARED"; then if test "$lib_build_shared" = "yes"; then
PHP_CONFIGURE_PART(Configuring shared libtool) PHP_CONFIGURE_PART(Configuring shared libtool)
$SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh $SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh
SHLIBTOOL='$(SHELL) $(top_builddir)/shlibtool' SHARED_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool'
else else
PHP_COMPILE='$(COMPILE) -c $< && touch $@' PHP_COMPILE='$(COMPILE) -c $< && touch $@'
fi fi
@ -763,6 +764,7 @@ test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
PHP_CONFIGURE_PART(Generating files) PHP_CONFIGURE_PART(Generating files)
PHP_FAST_GENERATE PHP_FAST_GENERATE
touch .deps
#libphp4.module #libphp4.module
AC_OUTPUT([php4.spec Zend/Makefile AC_OUTPUT([php4.spec Zend/Makefile

64
dynlib.m4 Normal file
View file

@ -0,0 +1,64 @@
AC_DEFUN(LIB_SHARED_CONVENIENCE,[
lib_target="\$(LTLIBRARY_NAME)"
cat >>$1<<EOF
\$(LTLIBRARY_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
\$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
EOF
])
AC_DEFUN(LIB_SHARED_MODULE,[
lib_target="\$(LTLIBRARY_SHARED_NAME)"
cat >>$1<<EOF
\$(LTLIBRARY_SHARED_NAME): \$(LTLIBRARY_SHARED_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
\$(SHARED_LIBTOOL) --mode=link \$(CCLD) \$(CFLAGS) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -avoid-version -module -rpath \$(phplibdir) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_SHARED_LIBADD)
\$(SHARED_LIBTOOL) --mode=install cp \[$]@ \$(phplibdir)
EOF
])
AC_DEFUN(LIB_STATIC_CONVENIENCE,[
lib_target="\$(LTLIBRARY_NAME)"
cat >>$1<<EOF
\$(LTLIBRARY_NAME): \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_DEPENDENCIES)
\$(LINK) \$(LTLIBRARY_LDFLAGS) \$(LTLIBRARY_OBJECTS) \$(LTLIBRARY_LIBADD)
EOF
])
dnl LIB_BUILD(path, shared, convenience)
dnl sets up path to build a shared/static convenience/module
AC_DEFUN(LIB_BUILD,[
lib_makefile="$1/libs.mk"
lib_target=""
test -d $1 || $php_shtool mkdir -p $1
cat >$lib_makefile<<EOF
LTLIBRARY_OBJECTS = \$(LTLIBRARY_SOURCES:.c=.lo)
LTLIBRARY_SHARED_OBJECTS = \$(LTLIBRARY_OBJECTS:.lo=.slo)
EOF
if test "$2" = "shared" || test "$2" = "yes"; then
lib_build_shared=yes
if test -n "$3"; then
dnl ---------------------------------------- Shared Convenience
LIB_SHARED_CONVENIENCE($lib_makefile)
else
dnl ---------------------------------------- Shared Module
LIB_SHARED_MODULE($lib_makefile)
fi
else
dnl ---------------------------------------- Static Convenience = Static Module
LIB_STATIC_CONVENIENCE($lib_makefile)
fi
dnl ---------------------------------------- Generate build targets
if test -n "$lib_target"; then
cat >>$lib_makefile<<EOF
targets = $lib_target
EOF
fi
])

View file

@ -1,16 +1,4 @@
SUBDIRS = $(EXT_STATIC) $(EXT_SHARED) SUBDIRS = $(EXT_SUBDIRS)
all:
@list='$(EXT_STATIC)'; for i in $$list; do \
echo "Making all in $$i"; \
(cd $$i && $(MAKE) all) || exit 1; \
done
@list='$(EXT_SHARED)'; for i in $$list; do \
echo "Making shared in $$i"; \
(cd $$i && $(MAKE) shared) || exit 1; \
done
NO_RECURSION = all
include $(top_srcdir)/build/rules.mk include $(top_srcdir)/build/rules.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libaspell.la LTLIBRARY_NAME = libaspell.la
LTLIBRARY_SOURCES = aspell.c LTLIBRARY_SOURCES = aspell.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,5 +2,5 @@
LTLIBRARY_NAME = libbcmath.la LTLIBRARY_NAME = libbcmath.la
LTLIBRARY_SOURCES = bcmath.c number.c LTLIBRARY_SOURCES = bcmath.c number.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libcalendar.la LTLIBRARY_NAME = libcalendar.la
LTLIBRARY_SOURCES = calendar.c dow.c french.c gregor.c jewish.c julian.c easter.c cal_unix.c LTLIBRARY_SOURCES = calendar.c dow.c french.c gregor.c jewish.c julian.c easter.c cal_unix.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libcpdf.la LTLIBRARY_NAME = libcpdf.la
LTLIBRARY_SOURCES = cpdf.c LTLIBRARY_SOURCES = cpdf.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libcybercash.la LTLIBRARY_NAME = libcybercash.la
LTLIBRARY_SOURCES = cybercash.c LTLIBRARY_SOURCES = cybercash.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libdav.la LTLIBRARY_NAME = libdav.la
LTLIBRARY_SOURCES = dav.c LTLIBRARY_SOURCES = dav.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libdb.la LTLIBRARY_NAME = libdb.la
LTLIBRARY_SOURCES = db.c LTLIBRARY_SOURCES = db.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -3,4 +3,4 @@ LTLIBRARY_NAME = libdba.la
LTLIBRARY_SOURCES = dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c \ LTLIBRARY_SOURCES = dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c \
dba_ndbm.c dba_db3.c dba_ndbm.c dba_db3.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libdbase.la LTLIBRARY_NAME = libdbase.la
LTLIBRARY_SOURCES = dbf_head.c dbf_rec.c dbf_misc.c dbf_ndx.c dbase.c LTLIBRARY_SOURCES = dbf_head.c dbf_rec.c dbf_misc.c dbf_ndx.c dbase.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libdomxml.la LTLIBRARY_NAME = libdomxml.la
LTLIBRARY_SOURCES = domxml.c LTLIBRARY_SOURCES = domxml.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -56,7 +56,7 @@ dnl Make sure that the comment is aligned:
if test "\$PHP_$EXTNAME" != "no"; then if test "\$PHP_$EXTNAME" != "no"; then
dnl Action.. dnl Action..
PHP_EXTENSION($extname) PHP_EXTENSION($extname, \$ext_shared)
fi fi
eof eof
@ -64,10 +64,11 @@ $ECHO_N " Makefile.in$ECHO_C"
cat >Makefile.in <<eof cat >Makefile.in <<eof
# \$Id\$ # \$Id\$
LTLIBRARY_NAME = lib$extname.la LTLIBRARY_NAME = lib$extname.la
LTLIBRARY_SOURCES = $extname.c LTLIBRARY_SOURCES = $extname.c
LTLIBRARY_SHARED_NAME = $extname.la
include \$(top_srcdir)/build/ltlib.mk include \$(top_srcdir)/build/dynlib.mk
eof eof
@ -79,6 +80,7 @@ Makefile
*.lo *.lo
*.la *.la
.libs .libs
libs.mk
eof eof
chmod 644 * chmod 644 *

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libfdf.la LTLIBRARY_NAME = libfdf.la
LTLIBRARY_SOURCES = fdf.c LTLIBRARY_SOURCES = fdf.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libfilepro.la LTLIBRARY_NAME = libfilepro.la
LTLIBRARY_SOURCES = filepro.c LTLIBRARY_SOURCES = filepro.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libftp.la LTLIBRARY_NAME = libftp.la
LTLIBRARY_SOURCES = php_ftp.c ftp.c LTLIBRARY_SOURCES = php_ftp.c ftp.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -4,5 +4,5 @@ LTLIBRARY_SOURCES = gd.c gdcache.c gdttf.c gdt1.c
LTLIBRARY_SHARED_NAME = gd.la LTLIBRARY_SHARED_NAME = gd.la
LTLIBRARY_SHARED_LIBADD = $(GD_LFLAGS) $(GD_LIBS) LTLIBRARY_SHARED_LIBADD = $(GD_LFLAGS) $(GD_LIBS)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libgettext.la LTLIBRARY_NAME = libgettext.la
LTLIBRARY_SOURCES = gettext.c LTLIBRARY_SOURCES = gettext.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libhyperwave.la LTLIBRARY_NAME = libhyperwave.la
LTLIBRARY_SOURCES = hw.c hg_comm.c LTLIBRARY_SOURCES = hw.c hg_comm.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libicap.la LTLIBRARY_NAME = libicap.la
LTLIBRARY_SOURCES = php_icap.c LTLIBRARY_SOURCES = php_icap.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libimap.la LTLIBRARY_NAME = libimap.la
LTLIBRARY_SOURCES = php_imap.c LTLIBRARY_SOURCES = php_imap.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -4,7 +4,7 @@ LTLIBRARY_SOURCES = ifx.c
LTLIBRARY_LIBADD = $(IFX_LIBS) LTLIBRARY_LIBADD = $(IFX_LIBS)
CLEANFILES = ifx.c CLEANFILES = ifx.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk
ifx.c: $(srcdir)/ifx.ec ifx.c: $(srcdir)/ifx.ec
(if test -d $(INFORMIXDIR); then \ (if test -d $(INFORMIXDIR); then \

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libinterbase.la LTLIBRARY_NAME = libinterbase.la
LTLIBRARY_SOURCES = interbase.c LTLIBRARY_SOURCES = interbase.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -11,7 +11,7 @@ EXTRA_INCLUDES = $(JAVA_INCLUDE)
make_shared = yes make_shared = yes
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk
php_java.jar : reflect.java php_java.jar : reflect.java
@test -d net || mkdir net @test -d net || mkdir net

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libldap.la LTLIBRARY_NAME = libldap.la
LTLIBRARY_SOURCES = ldap.c LTLIBRARY_SOURCES = ldap.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libmcal.la LTLIBRARY_NAME = libmcal.la
LTLIBRARY_SOURCES = php_mcal.c LTLIBRARY_SOURCES = php_mcal.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libmcrypt.la LTLIBRARY_NAME = libmcrypt.la
LTLIBRARY_SOURCES = mcrypt.c LTLIBRARY_SOURCES = mcrypt.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libmhash.la LTLIBRARY_NAME = libmhash.la
LTLIBRARY_SOURCES = mhash.c LTLIBRARY_SOURCES = mhash.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libmsql.la LTLIBRARY_NAME = libmsql.la
LTLIBRARY_SOURCES = php_msql.c LTLIBRARY_SOURCES = php_msql.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -3,8 +3,8 @@ LTLIBRARY_NAME = libmysql.la
LTLIBRARY_SOURCES = php_mysql.c LTLIBRARY_SOURCES = php_mysql.c
LTLIBRARY_LIBADD = $(MYSQL_LIBADD) LTLIBRARY_LIBADD = $(MYSQL_LIBADD)
LTLIBRARY_SHARED_NAME = mysql.la LTLIBRARY_SHARED_NAME = mysql.la
LTLIBRARY_SHARED_LIBADD = $(MYSQL_LFLAGS) -lmysqlclient LTLIBRARY_SHARED_LIBADD = $(MYSQL_SHARED_LIBADD)
SUBDIRS = $(MYSQL_SUBDIRS) SUBDIRS = $(MYSQL_SUBDIRS)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -26,18 +26,19 @@ PHP_ARG_WITH(mysql, for MySQL support,
if test "$PHP_MYSQL" != "no"; then if test "$PHP_MYSQL" != "no"; then
AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL]) AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL])
PHP_EXTENSION(mysql) PHP_EXTENSION(mysql,$ext_shared)
fi fi
if test "$PHP_MYSQL" = "yes"; then if test "$PHP_MYSQL" = "yes"; then
PHP_MYSQL_SOCK PHP_MYSQL_SOCK
MYSQL_CHECKS MYSQL_CHECKS
MYSQL_LIBADD=libmysql/libmysql_client.la MYSQL_LIBADD=libmysql/libmysql_client.la
MYSQL_SHARED_LIBADD=libmysql/libmysql_client.la
MYSQL_SUBDIRS=libmysql MYSQL_SUBDIRS=libmysql
PHP_SUBST(MYSQL_LIBADD) PHP_SUBST(MYSQL_LIBADD)
PHP_SUBST(MYSQL_SUBDIRS) PHP_SUBST(MYSQL_SUBDIRS)
LIB_BUILD($ext_builddir/libmysql,$ext_shared,yes)
AC_ADD_INCLUDE(${ext_src_base}libmysql) AC_ADD_INCLUDE($ext_srcdir/libmysql)
elif test "$PHP_MYSQL" != "no"; then elif test "$PHP_MYSQL" != "no"; then
for i in $PHP_MYSQL; do for i in $PHP_MYSQL; do
if test -r $i/include/mysql/mysql.h; then if test -r $i/include/mysql/mysql.h; then
@ -53,7 +54,14 @@ elif test "$PHP_MYSQL" != "no"; then
AC_MSG_ERROR(Cannot find header files under $PHP_MYSQL) AC_MSG_ERROR(Cannot find header files under $PHP_MYSQL)
fi fi
AC_ADD_LIBPATH($MYSQL_DIR/lib/mysql)
AC_ADD_LIBRARY(mysqlclient) if test "$ext_shared" = "yes"; then
MYSQL_SHARED_LIBADD="-R$MYSQL_DIR/lib/mysql -L$MYSQL_DIR/lib/mysql -lmysqlclient"
else
AC_ADD_LIBPATH($MYSQL_DIR/lib/mysql)
AC_ADD_LIBRARY(mysqlclient)
fi
AC_ADD_INCLUDE($MYSQL_INC_DIR) AC_ADD_INCLUDE($MYSQL_INC_DIR)
fi fi
PHP_SUBST(MYSQL_SHARED_LIBADD)

View file

@ -13,4 +13,4 @@ LTLIBRARY_SOURCES = libmysql.c errmsg.c net.c violite.c password.c \
strcont.c strcend.c bchange.c bmove.c bmove_upp.c \ strcont.c strcend.c bchange.c bmove.c bmove_upp.c \
longlong2str.c strtoull.c strtoll.c ctype-latin1.c longlong2str.c strtoull.c strtoll.c ctype-latin1.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -4,4 +4,4 @@ LTLIBRARY_SOURCES = oci8.c
LTLIBRARY_SHARED_NAME = oci8.la LTLIBRARY_SHARED_NAME = oci8.la
LTLIBRARY_SHARED_LIBADD = $(OCI8_LFLAGS) $(OCI8_LIBS) LTLIBRARY_SHARED_LIBADD = $(OCI8_LFLAGS) $(OCI8_LIBS)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libodbc.la LTLIBRARY_NAME = libodbc.la
LTLIBRARY_SOURCES = php_odbc.c velocis.c LTLIBRARY_SOURCES = php_odbc.c velocis.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = liboracle.la LTLIBRARY_NAME = liboracle.la
LTLIBRARY_SOURCES = oracle.c LTLIBRARY_SOURCES = oracle.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,7 +2,9 @@
LTLIBRARY_NAME = libpcre.la LTLIBRARY_NAME = libpcre.la
LTLIBRARY_SOURCES = php_pcre.c LTLIBRARY_SOURCES = php_pcre.c
LTLIBRARY_LIBADD = $(PCRE_LIBADD) LTLIBRARY_LIBADD = $(PCRE_LIBADD)
LTLIBRARY_SHARED_NAME = pcre.la
LTLIBRARY_SHARED_LIBADD = $(PCRE_SHARED_LIBADD)
SUBDIRS = $(PCRE_SUBDIRS) SUBDIRS = $(PCRE_SUBDIRS)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -4,70 +4,62 @@ dnl config.m4 for extension pcre
dnl By default we'll compile and link against the bundled PCRE library dnl By default we'll compile and link against the bundled PCRE library
dnl if DIR is supplied, we'll use that for linking dnl if DIR is supplied, we'll use that for linking
AC_MSG_CHECKING(whether to include PCRE support) PHP_ARG_WITH(pcre-regex,whether to include PCRE support,
AC_ARG_WITH(pcre-regex,
[ --without-pcre-regex Do not include Perl Compatible Regular Expressions [ --without-pcre-regex Do not include Perl Compatible Regular Expressions
support. Use --with-pcre-regex=DIR to specify DIR support. Use --with-pcre-regex=DIR to specify DIR
where PCRE's include and library files are located, where PCRE's include and library files are located,
if not using bundled library.], if not using bundled library.],yes)
[
case "$withval" in
no)
AC_MSG_RESULT(no)
;;
yes)
EXTRA_LIBS="-L$abs_builddir/ext/pcre/pcrelib -lpcre $EXTRA_LIBS"
PCRE_SUBDIR="pcrelib"
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
PHP_FAST_OUTPUT(ext/pcre/pcrelib/Makefile)
;;
*)
test -f $withval/pcre.h && PCRE_INCDIR="$withval"
test -f $withval/include/pcre.h && PCRE_INCDIR="$withval/include"
if test -n "$PCRE_INCDIR" ; then if test "$PHP_PCRE_REGEX" != "no"; then
changequote({,}) PHP_EXTENSION(pcre, $ext_shared)
pcre_major=`grep PCRE_MAJOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'` if test "$PHP_PCRE_REGEX" = "yes"; then
pcre_minor=`grep PCRE_MINOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'` PCRE_LIBADD=pcrelib/libpcre.la
changequote([,]) PCRE_SHARED_LIBADD=pcrelib/libpcre.la
pcre_minor_length=`echo "$pcre_minor" | wc -c | sed -e 's/[^0-9]//g'` PCRE_SUBDIRS=pcrelib
if test "$pcre_minor_length" -eq 2 ; then PHP_SUBST(PCRE_LIBADD)
pcre_minor="$pcre_minor"0 PHP_SUBST(PCRE_SUBDIRS)
fi AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
pcre_version=$pcre_major$pcre_minor PHP_FAST_OUTPUT($ext_builddir/pcrelib/Makefile)
if test "$pcre_version" -ge 208; then LIB_BUILD($ext_builddir/pcrelib,$ext_shared,yes)
AC_ADD_INCLUDE($PCRE_INCDIR) else
else test -f $PHP_PCRE_REGEX/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX
AC_MSG_ERROR(PCRE extension requires PCRE library version >= 2.08) test -f $PHP_PCRE_REGEX/include/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX/include
fi
else
AC_MSG_ERROR(Could not find pcre.h in $withval)
fi
test -f $withval/libpcre.a && PCRE_LIBDIR="$withval" if test -z "$PCRE_INCDIR"; then
test -f $withval/lib/libpcre.a && PCRE_LIBDIR="$withval/lib" AC_MSG_RESULT(Could not find pcre.h in $PHP_PCRE_REGEX)
if test -n "$PCRE_LIBDIR" ; then fi
AC_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
else changequote({,})
AC_MSG_ERROR(Could not find libpcre.a in $withval) pcre_major=`grep PCRE_MAJOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
fi pcre_minor=`grep PCRE_MINOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
changequote([,])
pcre_minor_length=`echo "$pcre_minor" | wc -c | sed -e 's/[^0-9]//g'`
if test "$pcre_minor_length" -eq 2 ; then
pcre_minor="$pcre_minor"0
fi
pcre_version=$pcre_major$pcre_minor
if test "$pcre_version" -lt 208; then
AC_MSG_ERROR(The PCRE extension requires PCRE library version >= 2.08)
fi
test -f $PHP_PCRE_REGEX/libpcre.a && PCRE_LIBDIR="$PHP_PCRE_REGEX"
test -f $PHP_PCRE_REGEX/lib/libpcre.a && PCRE_LIBDIR="$PHP_PCRE_REGEX/lib"
if test -z "$PCRE_LIBDIR" ; then
AC_MSG_ERROR(Could not find libpcre.a in $PHP_PCRE_REGEX)
fi
if test "$ext_shared" = "yes"; then
PCRE_SHARED_LIBADD="-R$PCRE_LIBDIR -L$PCRE_LIBDIR -lpcre"
else
AC_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
fi
AC_ADD_INCLUDE($PCRE_INCDIR)
AC_DEFINE(HAVE_PCRE, 1, [ ])
fi
fi
PHP_SUBST(PCRE_SHARED_LIBADD)
AC_DEFINE(HAVE_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
;;
esac
],[
PCRE_LIBADD=pcrelib/libpcre.la
PCRE_SUBDIRS=pcrelib
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
PHP_FAST_OUTPUT(ext/pcre/pcrelib/Makefile)
])
PHP_SUBST(PCRE_LIBADD)
PHP_SUBST(PCRE_SUBDIRS)
AC_CHECK_FUNC(memmove, [], [AC_DEFINE(USE_BCOPY, 1, [ ])]) AC_CHECK_FUNC(memmove, [], [AC_DEFINE(USE_BCOPY, 1, [ ])])

View file

@ -4,70 +4,62 @@ dnl config.m4 for extension pcre
dnl By default we'll compile and link against the bundled PCRE library dnl By default we'll compile and link against the bundled PCRE library
dnl if DIR is supplied, we'll use that for linking dnl if DIR is supplied, we'll use that for linking
AC_MSG_CHECKING(whether to include PCRE support) PHP_ARG_WITH(pcre-regex,whether to include PCRE support,
AC_ARG_WITH(pcre-regex,
[ --without-pcre-regex Do not include Perl Compatible Regular Expressions [ --without-pcre-regex Do not include Perl Compatible Regular Expressions
support. Use --with-pcre-regex=DIR to specify DIR support. Use --with-pcre-regex=DIR to specify DIR
where PCRE's include and library files are located, where PCRE's include and library files are located,
if not using bundled library.], if not using bundled library.],yes)
[
case "$withval" in
no)
AC_MSG_RESULT(no)
;;
yes)
EXTRA_LIBS="-L$abs_builddir/ext/pcre/pcrelib -lpcre $EXTRA_LIBS"
PCRE_SUBDIR="pcrelib"
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
PHP_FAST_OUTPUT(ext/pcre/pcrelib/Makefile)
;;
*)
test -f $withval/pcre.h && PCRE_INCDIR="$withval"
test -f $withval/include/pcre.h && PCRE_INCDIR="$withval/include"
if test -n "$PCRE_INCDIR" ; then if test "$PHP_PCRE_REGEX" != "no"; then
changequote({,}) PHP_EXTENSION(pcre, $ext_shared)
pcre_major=`grep PCRE_MAJOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'` if test "$PHP_PCRE_REGEX" = "yes"; then
pcre_minor=`grep PCRE_MINOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'` PCRE_LIBADD=pcrelib/libpcre.la
changequote([,]) PCRE_SHARED_LIBADD=pcrelib/libpcre.la
pcre_minor_length=`echo "$pcre_minor" | wc -c | sed -e 's/[^0-9]//g'` PCRE_SUBDIRS=pcrelib
if test "$pcre_minor_length" -eq 2 ; then PHP_SUBST(PCRE_LIBADD)
pcre_minor="$pcre_minor"0 PHP_SUBST(PCRE_SUBDIRS)
fi AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
pcre_version=$pcre_major$pcre_minor PHP_FAST_OUTPUT($ext_builddir/pcrelib/Makefile)
if test "$pcre_version" -ge 208; then LIB_BUILD($ext_builddir/pcrelib,$ext_shared,yes)
AC_ADD_INCLUDE($PCRE_INCDIR) else
else test -f $PHP_PCRE_REGEX/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX
AC_MSG_ERROR(PCRE extension requires PCRE library version >= 2.08) test -f $PHP_PCRE_REGEX/include/pcre.h && PCRE_INCDIR=$PHP_PCRE_REGEX/include
fi
else
AC_MSG_ERROR(Could not find pcre.h in $withval)
fi
test -f $withval/libpcre.a && PCRE_LIBDIR="$withval" if test -z "$PCRE_INCDIR"; then
test -f $withval/lib/libpcre.a && PCRE_LIBDIR="$withval/lib" AC_MSG_RESULT(Could not find pcre.h in $PHP_PCRE_REGEX)
if test -n "$PCRE_LIBDIR" ; then fi
AC_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
else changequote({,})
AC_MSG_ERROR(Could not find libpcre.a in $withval) pcre_major=`grep PCRE_MAJOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
fi pcre_minor=`grep PCRE_MINOR $PCRE_INCDIR/pcre.h | sed -e 's/[^0-9]//g'`
changequote([,])
pcre_minor_length=`echo "$pcre_minor" | wc -c | sed -e 's/[^0-9]//g'`
if test "$pcre_minor_length" -eq 2 ; then
pcre_minor="$pcre_minor"0
fi
pcre_version=$pcre_major$pcre_minor
if test "$pcre_version" -lt 208; then
AC_MSG_ERROR(The PCRE extension requires PCRE library version >= 2.08)
fi
test -f $PHP_PCRE_REGEX/libpcre.a && PCRE_LIBDIR="$PHP_PCRE_REGEX"
test -f $PHP_PCRE_REGEX/lib/libpcre.a && PCRE_LIBDIR="$PHP_PCRE_REGEX/lib"
if test -z "$PCRE_LIBDIR" ; then
AC_MSG_ERROR(Could not find libpcre.a in $PHP_PCRE_REGEX)
fi
if test "$ext_shared" = "yes"; then
PCRE_SHARED_LIBADD="-R$PCRE_LIBDIR -L$PCRE_LIBDIR -lpcre"
else
AC_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR)
fi
AC_ADD_INCLUDE($PCRE_INCDIR)
AC_DEFINE(HAVE_PCRE, 1, [ ])
fi
fi
PHP_SUBST(PCRE_SHARED_LIBADD)
AC_DEFINE(HAVE_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
;;
esac
],[
PCRE_LIBADD=pcrelib/libpcre.la
PCRE_SUBDIRS=pcrelib
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
AC_MSG_RESULT(yes)
PHP_EXTENSION(pcre)
PHP_FAST_OUTPUT(ext/pcre/pcrelib/Makefile)
])
PHP_SUBST(PCRE_LIBADD)
PHP_SUBST(PCRE_SUBDIRS)
AC_CHECK_FUNC(memmove, [], [AC_DEFINE(USE_BCOPY, 1, [ ])]) AC_CHECK_FUNC(memmove, [], [AC_DEFINE(USE_BCOPY, 1, [ ])])

View file

@ -2,5 +2,5 @@
LTLIBRARY_NAME = libpcre.la LTLIBRARY_NAME = libpcre.la
LTLIBRARY_SOURCES = maketables.c get.c study.c pcre.c LTLIBRARY_SOURCES = maketables.c get.c study.c pcre.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -1210,6 +1210,10 @@ zend_module_entry pcre_module_entry = {
STANDARD_MODULE_PROPERTIES STANDARD_MODULE_PROPERTIES
}; };
#ifdef COMPILE_DL_PCRE
ZEND_DLEXPORT zend_module_entry *get_module(void) { return &pcre_module_entry; }
#endif
/* }}} */ /* }}} */

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libpdf.la LTLIBRARY_NAME = libpdf.la
LTLIBRARY_SOURCES = pdf.c LTLIBRARY_SOURCES = pdf.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -6,4 +6,4 @@ LTLIBRARY_SHARED_LIBADD = $(PGSQL_LFLAGS) $(PGSQL_LIBS)
EXTRA_INCLUDES = $(PGSQL_INCLUDE) EXTRA_INCLUDES = $(PGSQL_INCLUDE)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libposix.la LTLIBRARY_NAME = libposix.la
LTLIBRARY_SOURCES = posix.c LTLIBRARY_SOURCES = posix.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libreadline.la LTLIBRARY_NAME = libreadline.la
LTLIBRARY_SOURCES = readline.c LTLIBRARY_SOURCES = readline.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = librecode.la LTLIBRARY_NAME = librecode.la
LTLIBRARY_SOURCES = recode.c LTLIBRARY_SOURCES = recode.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -11,7 +11,7 @@ EXTRA_INCLUDES = $(JAVA_INCLUDE)
make_shared = yes make_shared = yes
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk
php_java.jar : reflect.java php_java.jar : reflect.java
@test -d net || mkdir net @test -d net || mkdir net

View file

@ -11,7 +11,7 @@ EXTRA_INCLUDES = $(JAVA_INCLUDE)
make_shared = yes make_shared = yes
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk
php_java.jar : reflect.java php_java.jar : reflect.java
@test -d net || mkdir net @test -d net || mkdir net

View file

@ -1,5 +1,7 @@
LTLIBRARY_NAME = libsession.la LTLIBRARY_NAME = libsession.la
LTLIBRARY_SOURCES = session.c mod_files.c mod_mm.c mod_user.c LTLIBRARY_SOURCES = session.c mod_files.c mod_mm.c mod_user.c
LTLIBRARY_SHARED_NAME = session.la
LTLIBRARY_SHARED_LIBADD = $(SESSION_LIBADD)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -3,12 +3,12 @@ dnl $Id$
PHP_ARG_WITH(mm,for mm support, PHP_ARG_WITH(mm,for mm support,
[ --with-mm[=DIR] Include mm support for session storage]) [ --with-mm[=DIR] Include mm support for session storage])
PHP_ARG_ENABLE(session, whether to enable session support,
[ --disable-session Disable session support], yes)
PHP_ARG_ENABLE(trans-sid,whether to enable transparent session id propagation, PHP_ARG_ENABLE(trans-sid,whether to enable transparent session id propagation,
[ --enable-trans-sid Enable transparent session id propagation]) [ --enable-trans-sid Enable transparent session id propagation])
PHP_ARG_ENABLE(session, whether to enable session support,
[ --disable-session Disable session support], yes)
if test "$PHP_MM" != "no"; then if test "$PHP_MM" != "no"; then
for i in /usr/local /usr $PHP_MM; do for i in /usr/local /usr $PHP_MM; do
if test -f "$i/include/mm.h"; then if test -f "$i/include/mm.h"; then
@ -20,7 +20,12 @@ if test "$PHP_MM" != "no"; then
AC_MSG_ERROR(cannot find mm library) AC_MSG_ERROR(cannot find mm library)
fi fi
AC_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/lib) if test "$ext_shared" = "yes"; then
PHP_SUBST(SESSION_LIBADD)
SESSION_LIBADD="-R$MM_DIR/lib -L$MM_DIR/lib -lmm"
else
AC_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/lib)
fi
AC_ADD_INCLUDE($MM_DIR/include) AC_ADD_INCLUDE($MM_DIR/include)
AC_DEFINE(HAVE_LIBMM, 1, [Whether you have libmm]) AC_DEFINE(HAVE_LIBMM, 1, [Whether you have libmm])
PHP_MODULE_PTR(phpext_ps_mm_ptr) PHP_MODULE_PTR(phpext_ps_mm_ptr)
@ -30,6 +35,6 @@ if test "$PHP_TRANS_SID" = "yes"; then
AC_DEFINE(TRANS_SID, 1, [Whether you want transparent session id propagation]) AC_DEFINE(TRANS_SID, 1, [Whether you want transparent session id propagation])
fi fi
if test "$PHP_SESSION" = "yes"; then if test "$PHP_SESSION" != "no"; then
PHP_EXTENSION(session) PHP_EXTENSION(session,$ext_shared)
fi fi

View file

@ -120,6 +120,10 @@ zend_module_entry session_module_entry = {
STANDARD_MODULE_PROPERTIES STANDARD_MODULE_PROPERTIES
}; };
#ifdef COMPILE_DL_SESSION
ZEND_DLEXPORT zend_module_entry *get_module(void) { return &session_module_entry; }
#endif
typedef struct { typedef struct {
char *name; char *name;
void (*func)(PSLS_D); void (*func)(PSLS_D);

View file

@ -5,4 +5,4 @@ LTLIBRARY_SHARED_LIBADD = $(SNMP_LIBDIR) -lsnmp $(KSTAT_LIBS)
EXTRA_INCLUDES = $(SNMP_INCLUDE) EXTRA_INCLUDES = $(SNMP_INCLUDE)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -9,7 +9,7 @@ LTLIBRARY_SOURCES=\
syslog.c type.c uniqid.c url.c url_scanner.c var.c output.c assert.c \ syslog.c type.c uniqid.c url.c url_scanner.c var.c output.c assert.c \
strnatcmp.c strnatcmp.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk
parsedate.c: $(srcdir)/parsedate.y parsedate.c: $(srcdir)/parsedate.y

View file

@ -1,5 +1,7 @@
LTLIBRARY_NAME = libswf.la LTLIBRARY_NAME = libswf.la
LTLIBRARY_SOURCES = swf.c LTLIBRARY_SOURCES = swf.c
LTLIBRARY_SHARED_NAME = swf.la
LTLIBRARY_SHARED_LIBADD = $(SWF_SHARED_LIBADD)
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -5,11 +5,11 @@ dnl This file is a modified version of config.m4
dnl in php4/ext/mcrypt dnl in php4/ext/mcrypt
PHP_ARG_WITH(swf, for libswf support, PHP_ARG_WITH(swf, for libswf support,
[ --with-swf[=DIR] Include swf support]) [ --with-swf[=DIR] Include swf support])
if test "$PHP_SWF" != "no"; then if test "$PHP_SWF" != "no"; then
for i in /usr/local /usr $PHP_SWF; do for i in /usr/local /usr $PHP_SWF; do
if test -f $i/libswf.a; then if test -r $i/libswf.a; then
SWF_DIR=$i SWF_DIR=$i
fi fi
done done
@ -17,10 +17,16 @@ if test "$PHP_SWF" != "no"; then
if test -z "$SWF_DIR"; then if test -z "$SWF_DIR"; then
AC_MSG_ERROR(Please reinstall libswf.a - I cannot find libswf.a) AC_MSG_ERROR(Please reinstall libswf.a - I cannot find libswf.a)
fi fi
AC_ADD_INCLUDE($SWF_DIR)
AC_ADD_LIBRARY_WITH_PATH(swf, $SWF_DIR)
AC_ADD_INCLUDE($SWF_DIR)
if test "$ext_shared" = "yes"; then
SWF_SHARED_LIBADD="-R$SWF_DIR -L$SWF_DIR -lswf"
PHP_SUBST(SWF_SHARED_LIBADD)
else
AC_ADD_LIBRARY_WITH_PATH(swf, $SWF_DIR)
fi
AC_DEFINE(HAVE_SWF,1,[ ]) AC_DEFINE(HAVE_SWF,1,[ ])
PHP_EXTENSION(swf) PHP_EXTENSION(swf, $ext_shared)
fi fi

View file

@ -21,7 +21,7 @@
#ifndef _PHP_SWF_H #ifndef _PHP_SWF_H
#define _PHP_SWF_H #define _PHP_SWF_H
#if COMPILE_DL #ifdef COMPILE_DL_SWF
#undef HAVE_SWF #undef HAVE_SWF
#define HAVE_SWF 1 #define HAVE_SWF 1
#endif #endif

View file

@ -106,6 +106,10 @@ zend_module_entry swf_module_entry = {
STANDARD_MODULE_PROPERTIES STANDARD_MODULE_PROPERTIES
}; };
#ifdef COMPILE_DL_SWF
ZEND_DLEXPORT zend_module_entry *get_module(void) { return &swf_module_entry; }
#endif
PHP_MINFO_FUNCTION(swf) PHP_MINFO_FUNCTION(swf)
{ {
php_info_print_table_start(); php_info_print_table_start();

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libsybase.la LTLIBRARY_NAME = libsybase.la
LTLIBRARY_SOURCES = sybase.c LTLIBRARY_SOURCES = sybase.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libsybase_ct.la LTLIBRARY_NAME = libsybase_ct.la
LTLIBRARY_SOURCES = php_sybase_ct.c LTLIBRARY_SOURCES = php_sybase_ct.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libsysvsem.la LTLIBRARY_NAME = libsysvsem.la
LTLIBRARY_SOURCES = sysvsem.c LTLIBRARY_SOURCES = sysvsem.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libsysvshm.la LTLIBRARY_NAME = libsysvshm.la
LTLIBRARY_SOURCES = sysvshm.c LTLIBRARY_SOURCES = sysvshm.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libwddx.la LTLIBRARY_NAME = libwddx.la
LTLIBRARY_SOURCES = wddx.c LTLIBRARY_SOURCES = wddx.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -7,4 +7,4 @@ LTLIBRARY_SHARED_LIBADD = $(XML_LIBS)
SUBDIRS = expat SUBDIRS = expat
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -12,25 +12,17 @@ else
order=12 order=12
fi fi
AC_MSG_CHECKING(for XML support) PHP_ARG_ENABLE(xml,for XML support,
AC_ARG_ENABLE(xml, [ --disable-xml Disable XML support using bundled expat lib], yes)
[ --disable-xml Disable XML support using bundled expat lib],[
PHP_XML=$enableval
],[
PHP_XML=yes
])
AC_MSG_RESULT($PHP_XML)
if test "$PHP_XML" != "no"; then if test "$PHP_XML" != "no"; then
AC_DEFINE(HAVE_LIBEXPAT, 1, [ ]) AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
CPPFLAGS="$CPPFLAGS -DXML_BYTE_ORDER=$order" CPPFLAGS="$CPPFLAGS -DXML_BYTE_ORDER=$order"
if test "$PHP_XML" = "shared"; then PHP_EXTENSION(xml, $ext_shared)
shared=yes LIB_BUILD($ext_builddir/expat,$ext_shared,yes)
else LIB_BUILD($ext_builddir/expat/xmlparse,$ext_shared,yes)
shared= LIB_BUILD($ext_builddir/expat/xmltok,$ext_shared,yes)
fi AC_ADD_INCLUDE($ext_srcdir/expat/xmltok)
PHP_EXTENSION(xml, $shared) AC_ADD_INCLUDE($ext_srcdir/expat/xmlparse)
AC_ADD_INCLUDE(${ext_src_base}expat/xmltok) PHP_FAST_OUTPUT($ext_builddir/expat/Makefile $ext_builddir/expat/xmlparse/Makefile $ext_builddir/expat/xmltok/Makefile)
AC_ADD_INCLUDE(${ext_src_base}expat/xmlparse)
PHP_FAST_OUTPUT(${ext_base}expat/Makefile ${ext_base}expat/xmlparse/Makefile ${ext_base}expat/xmltok/Makefile)
fi fi

View file

@ -5,4 +5,4 @@ LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES)
SUBDIRS = xmltok xmlparse SUBDIRS = xmltok xmlparse
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -4,4 +4,4 @@ LTLIBRARY_SOURCES = xmlparse.c hashtable.c
EXTRA_INCLUDES = -I$(srcdir)/../xmltok EXTRA_INCLUDES = -I$(srcdir)/../xmltok
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libexpat_tok.la LTLIBRARY_NAME = libexpat_tok.la
LTLIBRARY_SOURCES = xmltok.c xmlrole.c LTLIBRARY_SOURCES = xmltok.c xmlrole.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libyp.la LTLIBRARY_NAME = libyp.la
LTLIBRARY_SOURCES = yp.c LTLIBRARY_SOURCES = yp.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk

View file

@ -2,4 +2,4 @@
LTLIBRARY_NAME = libzlib.la LTLIBRARY_NAME = libzlib.la
LTLIBRARY_SOURCES = zlib.c LTLIBRARY_SOURCES = zlib.c
include $(top_srcdir)/build/ltlib.mk include $(top_srcdir)/build/dynlib.mk