summaryrefslogtreecommitdiff
path: root/ext/informix
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-05-23 23:13:34 +0000
committerSascha Schumann <sas@php.net>2000-05-23 23:13:34 +0000
commit3563e0adba11f5853b29a07824652f64ebc84568 (patch)
tree13ebad51e8cd0dc002e9d54bf60eb2598f3e446b /ext/informix
parentf1eefa64ec1f396ea25a60107a6a79471477fb2b (diff)
downloadphp-git-3563e0adba11f5853b29a07824652f64ebc84568.tar.gz
Make informix extension buildable as shared module on Unix.
Diffstat (limited to 'ext/informix')
-rw-r--r--ext/informix/Makefile.in2
-rw-r--r--ext/informix/config.m450
-rw-r--r--ext/informix/ifx.ec8
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,