diff options
author | Sascha Schumann <sas@php.net> | 2000-05-23 23:13:34 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 2000-05-23 23:13:34 +0000 |
commit | 3563e0adba11f5853b29a07824652f64ebc84568 (patch) | |
tree | 13ebad51e8cd0dc002e9d54bf60eb2598f3e446b /ext/informix | |
parent | f1eefa64ec1f396ea25a60107a6a79471477fb2b (diff) | |
download | php-git-3563e0adba11f5853b29a07824652f64ebc84568.tar.gz |
Make informix extension buildable as shared module on Unix.
Diffstat (limited to 'ext/informix')
-rw-r--r-- | ext/informix/Makefile.in | 2 | ||||
-rw-r--r-- | ext/informix/config.m4 | 50 | ||||
-rw-r--r-- | ext/informix/ifx.ec | 8 |
3 files changed, 28 insertions, 32 deletions
diff --git a/ext/informix/Makefile.in b/ext/informix/Makefile.in index fcbca223ed..f6241d1550 100644 --- a/ext/informix/Makefile.in +++ b/ext/informix/Makefile.in @@ -2,6 +2,8 @@ LTLIBRARY_NAME = libinformix.la LTLIBRARY_SOURCES = ifx.c LTLIBRARY_LIBADD = $(IFX_LIBS) +LTLIBRARY_SHARED_NAME = informix.la +LTLIBRARY_SHARED_LIBADD = $(IFX_LIBS) CLEANFILES = ifx.c include $(top_srcdir)/build/dynlib.mk diff --git a/ext/informix/config.m4 b/ext/informix/config.m4 index 0aee98933e..8dac054331 100644 --- a/ext/informix/config.m4 +++ b/ext/informix/config.m4 @@ -2,37 +2,35 @@ dnl $Id$ PHPIFXLIB=ext/informix/libphp_ifx.a -AC_MSG_CHECKING(for Informix support) -AC_ARG_WITH(informix, +PHP_ARG_WITH(informix,for Informix support, [ --with-informix[=DIR] Include Informix support. DIR is the Informix base - install directory, defaults to ${INFORMIXDIR:-nothing}.], -[ - if test "$withval" != "no"; then + install directory, defaults to ${INFORMIXDIR:-nothing}.]) + + if test "$PHP_INFORMIX" != "no"; then if test "$INFORMIXDIR" = ""; then INFORMIX_WARNING=" WARNING: You asked for Informix support, but don't have \\\$INFORMIXDIR environment value set up. Configuring and compiling Informix support to PHP is impossible and has been turned off. Please try again after setting up your environment." - AC_MSG_RESULT(no) else - if test "$withval" = "yes"; then + if test "$PHP_INFORMIX" = "yes"; then IFX_INCDIR=$INFORMIXDIR/incl/esql if test -z "$IFX_LIBDIR"; then - AC_ADD_LIBPATH($INFORMIXDIR/lib) - AC_ADD_LIBPATH($INFORMIXDIR/lib/esql) + AC_ADD_LIBPATH($INFORMIXDIR/lib, INFORMIX_SHARED_LIBADD) + AC_ADD_LIBPATH($INFORMIXDIR/lib/esql, INFORMIX_SHARED_LIBADD) else IFX_LIBDIR="$IFX_LIBDIR" fi else - IFX_INCDIR=$withval/incl/esql + IFX_INCDIR=$PHP_INFORMIX/incl/esql if test -z "$IFX_LIBDIR"; then - AC_ADD_LIBPATH($withval/lib) - AC_ADD_LIBPATH($withval/lib/esql) + AC_ADD_LIBPATH($PHP_INFORMIX/lib, INFORMIX_SHARED_LIBADD) + AC_ADD_LIBPATH($PHP_INFORMIX/lib/esql, INFORMIX_SHARED_LIBADD) else IFX_LIBDIR="$IFX_LIBDIR" fi - if test "$withval" != "$INFORMIXDIR"; then + if test "$PHP_INFORMIX" != "$INFORMIXDIR"; then INFORMIX_WARNING=" WARNING: You specified Informix base install directory that is different than your \\\$INFORMIXDIR environment variable. You'd better know @@ -54,9 +52,11 @@ WARNING: You specified Informix base install directory that is different CFLAGS="$CFLAGS $IFX_INCLUDE" LDFLAGS="$LDFLAGS $IFX_LFLAGS" - if test "`uname -s 2>/dev/null`" = "AIX"; then - CFLAGS="$CFLAGS -D__H_LOCALEDEF" - fi + case "$host_alias" in + *aix*) + CPPFLAGS="$CPPFLAGS -D__H_LOCALEDEF";; + esac + AC_DEFINE(HAVE_IFX,1,[ ]) AC_MSG_CHECKING([Informix version]) IFX_VERSION=[`esql -V | sed -ne '1 s/^[^0-9]*\([0-9]\)\.\([0-9]*\).*/\1\2/p'`] @@ -67,22 +67,22 @@ WARNING: You specified Informix base install directory that is different IFX_ESQL_FLAGS="-EUHAVE_IFX_IUS" fi PHP_SUBST(IFX_ESQL_FLAGS) + PHP_SUBST(INFORMIX_SHARED_LIBADD) AC_DEFINE_UNQUOTED(IFX_VERSION, $IFX_VERSION, [ ]) - AC_MSG_RESULT(yes) - PHP_EXTENSION(informix) + PHP_EXTENSION(informix, $ext_shared) for i in $IFX_LIBS; do case "$i" in *.o) - AC_ADD_LIBPATH($abs_builddir/ext/informix) - AC_ADD_LIBRARY(php_ifx, 1) - $srcdir/build/shtool mkdir -f -p ext/informix + AC_ADD_LIBPATH($abs_builddir/ext/informix, INFORMIX_SHARED_LIBADD) + AC_ADD_LIBRARY(php_ifx, 1, INFORMIX_SHARED_LIBADD) + $srcdir/build/shtool mkdir -p ext/informix cd ext/informix ar r libphp_ifx.a $i ranlib libphp_ifx.a cd ../..;; -l*) lib=`echo $i|sed 's/^-l//'` - AC_ADD_LIBRARY($lib, 1);; + AC_ADD_LIBRARY($lib, 1, INFORMIX_SHARED_LIBADD);; *) IFX_LIBADD="$IFX_LIBADD $i";; esac @@ -90,13 +90,7 @@ WARNING: You specified Informix base install directory that is different IFX_LIBS="$IFX_LFLAGS $IFX_LIBADD" INCLUDES="$INCLUDES $IFX_INCLUDE" fi - else - INFORMIXDIR= - AC_MSG_RESULT(no) fi -],[ - AC_MSG_RESULT(no) -]) PHP_SUBST(INFORMIXDIR) PHP_SUBST(IFX_LIBS) diff --git a/ext/informix/ifx.ec b/ext/informix/ifx.ec index f27b8d9fc1..6bfba01720 100644 --- a/ext/informix/ifx.ec +++ b/ext/informix/ifx.ec @@ -33,7 +33,7 @@ */ -#if defined(COMPILE_DL) +#ifdef COMPILE_DL_INFORMIX #include "dl/phpdl.h" #endif @@ -163,7 +163,7 @@ $endif; {NULL, NULL, NULL} }; -php3_module_entry ifx_module_entry = { +zend_module_entry ifx_module_entry = { "Informix", ifx_functions, PHP_MINIT(ifx), @@ -177,8 +177,8 @@ php3_module_entry ifx_module_entry = { static php_ifx_listids ifx_listids; /* these are globals, no thread safety needed says zeeev */ -#ifdef COMPILE_DL -DLEXPORT php3_module_entry *get_module(void) { return &ifx_module_entry; } +#ifdef COMPILE_DL_INFORMIX +ZEND_GET_MODULE(ifx) #if 0 BOOL WINAPI DllMain(HANDLE hModule, DWORD ul_reason_for_call, |