summaryrefslogtreecommitdiff
path: root/ext/informix
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2001-06-01 12:49:50 +0000
committerfoobar <sniper@php.net>2001-06-01 12:49:50 +0000
commitcbe4d10a686f72508fca3e800af616126d716816 (patch)
treea6dbcf1eedd6fbb4e7af0e3d5ea650163d88e4cf /ext/informix
parent69e6f7ae525563bd9b6b2ef2dc29a9ec7ce225c9 (diff)
downloadphp-git-cbe4d10a686f72508fca3e800af616126d716816.tar.gz
Cleaning up and fixed some compile problems on systems that only support static libs.
Diffstat (limited to 'ext/informix')
-rw-r--r--ext/informix/Makefile.in10
-rw-r--r--ext/informix/config.m4156
2 files changed, 69 insertions, 97 deletions
diff --git a/ext/informix/Makefile.in b/ext/informix/Makefile.in
index 71d4f995ab..50b78101c6 100644
--- a/ext/informix/Makefile.in
+++ b/ext/informix/Makefile.in
@@ -1,10 +1,9 @@
LTLIBRARY_NAME = libinformix.la
LTLIBRARY_SOURCES = ifx.c
-LTLIBRARY_LIBADD = $(IFX_LIBS)
LTLIBRARY_SHARED_NAME = informix.la
-LTLIBRARY_SHARED_LIBADD = $(IFX_LIBS) $(INFORMIX_SHARED_LIBADD)
-CLEANFILES = ifx.c
+LTLIBRARY_SHARED_LIBADD = $(INFORMIX_SHARED_LIBADD)
+CLEANFILES = ifx.c libphpifx.a
include $(top_srcdir)/build/dynlib.mk
@@ -14,3 +13,8 @@ ifx.c: $(srcdir)/ifx.ec
else \
touch ifx.c; \
fi)
+
+libphpifx.a:
+ $(LINK) $(IFX_LIBOBJS)
+
+all: libphpifx.a
diff --git a/ext/informix/config.m4 b/ext/informix/config.m4
index 90a7297b40..7bf9180b02 100644
--- a/ext/informix/config.m4
+++ b/ext/informix/config.m4
@@ -1,106 +1,74 @@
dnl $Id$
-PHPIFXLIB=ext/informix/libphp_ifx.a
-
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 "$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."
- else
- if test "$PHP_INFORMIX" = "yes"; then
- IFX_INCDIR=$INFORMIXDIR/incl/esql
- if test -z "$IFX_LIBDIR"; then
- PHP_ADD_LIBPATH($INFORMIXDIR/lib, INFORMIX_SHARED_LIBADD)
- PHP_ADD_LIBPATH($INFORMIXDIR/lib/esql, INFORMIX_SHARED_LIBADD)
- else
- IFX_LIBDIR=$IFX_LIBDIR
- fi
- else
- IFX_INCDIR=$PHP_INFORMIX/incl/esql
- if test -z "$IFX_LIBDIR"; then
- PHP_ADD_LIBPATH($PHP_INFORMIX/lib, INFORMIX_SHARED_LIBADD)
- PHP_ADD_LIBPATH($PHP_INFORMIX/lib/esql, INFORMIX_SHARED_LIBADD)
- else
- IFX_LIBDIR=$IFX_LIBDIR
- fi
- 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
- exactly what you are doing."
- fi
- fi
- IFX_INCLUDE=-I$IFX_INCDIR
- IFX_LFLAGS=$IFX_LIBDIR
- if test -z "$IFX_LIBS"; then
- IFX_LIBS=`$INFORMIXDIR/bin/esql -libs | sed -e 's/-lm$//'`
- dnl -lm twice otherwise?
- IFX_LIBS=`echo $IFX_LIBS | sed -e 's/Libraries to be used://g' -e 's/esql: error -55923: No source or object file\.//g'`
- dnl Seems to get rid of newlines.
- dnl According to Perls DBD-Informix, might contain these strings.
- else
- dnl Allow override to use static and/or threaded libs
- :
- fi
- CPPFLAGS="$CPPFLAGS $IFX_INCLUDE"
- LDFLAGS="$LDFLAGS $IFX_LFLAGS"
+if test "$PHP_INFORMIX" != "no"; then
- case $host_alias in
- *aix*)
- CPPFLAGS="$CPPFLAGS -D__H_LOCALEDEF";;
- esac
+ PHP_EXTENSION(informix, $ext_shared)
+ PHP_SUBST(INFORMIX_SHARED_LIBADD)
- AC_DEFINE(HAVE_IFX,1,[ ])
- AC_MSG_CHECKING([Informix version])
- IFX_VERSION=[`$INFORMIXDIR/bin/esql -V | sed -ne '1 s/^[^0-9]*\([0-9]\)\.\([0-9]*\).*/\1\2/p'`]
- AC_MSG_RESULT($IFX_VERSION)
- if test $IFX_VERSION -ge "900"; then
- AC_DEFINE(HAVE_IFX_IUS,1,[ ])
- IFX_ESQL_FLAGS=-EDHAVE_IFX_IUS
- else
- IFX_ESQL_FLAGS=-EUHAVE_IFX_IUS
- fi
- PHP_SUBST(IFX_ESQL_FLAGS)
- PHP_SUBST(INFORMIX_SHARED_LIBADD)
- AC_DEFINE_UNQUOTED(IFX_VERSION, $IFX_VERSION, [ ])
- PHP_EXTENSION(informix, $ext_shared)
- for i in $IFX_LIBS; do
- case "$i" in
- *.o)
- PHP_ADD_LIBPATH($abs_builddir/ext/informix, INFORMIX_SHARED_LIBADD)
- PHP_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//'`
- PHP_ADD_LIBRARY($lib, 1, INFORMIX_SHARED_LIBADD)
- ;;
- *)
- IFX_LIBADD="$IFX_LIBADD $i"
- ;;
- esac
- done
- IFX_LIBS="$IFX_LFLAGS $IFX_LIBADD"
- INCLUDES="$INCLUDES $IFX_INCLUDE"
+ if test "$INFORMIXDIR" = ""; then
+ AC_MSG_ERROR([INFORMIXDIR environment variable is not set.])
+ fi
+
+ if test "$PHP_INFORMIX" = "yes"; then
+ PHP_ADD_INCLUDE($INFORMIXDIR/incl/esql)
+ PHP_ADD_LIBPATH($INFORMIXDIR/lib, INFORMIX_SHARED_LIBADD)
+ PHP_ADD_LIBPATH($INFORMIXDIR/lib/esql, INFORMIX_SHARED_LIBADD)
+ else
+ if test "$PHP_INFORMIX" != "$INFORMIXDIR"; then
+ AC_MSG_ERROR([Specified Informix base install directory is different than your INFORMIXDIR environment variable.])
fi
+ PHP_ADD_INCLUDE($PHP_INFORMIX/incl/esql)
+ PHP_ADD_LIBPATH($PHP_INFORMIX/lib, INFORMIX_SHARED_LIBADD)
+ PHP_ADD_LIBPATH($PHP_INFORMIX/lib/esql, INFORMIX_SHARED_LIBADD)
+ fi
+
+ IFX_LIBS=`$INFORMIXDIR/bin/esql -libs -shared | sed -e 's/-lm$//'`
+ dnl -lm twice otherwise?
+ IFX_LIBS=`echo $IFX_LIBS | sed -e 's/Libraries to be used://g' -e 's/esql: error -55923: No source or object file\.//g'`
+ dnl Seems to get rid of newlines.
+ dnl According to Perls DBD-Informix, might contain these strings.
+
+ case "$host_alias" in
+ *aix*)
+ CPPFLAGS="$CPPFLAGS -D__H_LOCALEDEF";;
+ esac
+
+ AC_MSG_CHECKING([Informix version])
+ IFX_VERSION=[`$INFORMIXDIR/bin/esql -V | sed -ne '1 s/^[^0-9]*\([0-9]\)\.\([0-9]*\).*/\1\2/p'`]
+ AC_MSG_RESULT($IFX_VERSION)
+ AC_DEFINE_UNQUOTED(IFX_VERSION, $IFX_VERSION, [ ])
+
+ if test $IFX_VERSION -ge "900"; then
+ AC_DEFINE(HAVE_IFX_IUS,1,[ ])
+ IFX_ESQL_FLAGS="-EDHAVE_IFX_IUS"
+ else
+ IFX_ESQL_FLAGS="-EUHAVE_IFX_IUS"
fi
-PHP_SUBST(INFORMIXDIR)
-PHP_SUBST(IFX_LIBS)
-
-divert(7)dnl
+ PHP_SUBST(IFX_ESQL_FLAGS)
-dnl Warn if Informix support was requested but environment is not set up correctly.
-if test "$INFORMIX_WARNING" != ""; then
- echo "$INFORMIX_WARNING"
+ for i in $IFX_LIBS; do
+ case "$i" in
+ *.o)
+ IFX_LIBOBJS="$IFX_LIBOBJS $i"
+ PHP_ADD_LIBPATH($ext_builddir, INFORMIX_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_DEFER(phpifx, 1, INFORMIX_SHARED_LIBADD)
+ ;;
+ -l*)
+ lib=`echo $i|sed -e "s/^-l//"`
+ PHP_ADD_LIBRARY_DEFER($lib, 1, INFORMIX_SHARED_LIBADD)
+ ;;
+ *.a)
+ lib=`echo $i|sed -e "s#^/.*/lib##g;s#\.a##g"`
+ PHP_ADD_LIBRARY_DEFER($lib, 1, INFORMIX_SHARED_LIBADD)
+ ;;
+ esac
+ done
+
+ AC_DEFINE(HAVE_IFX,1,[ ])
+ PHP_SUBST(INFORMIXDIR)
+ PHP_SUBST(IFX_LIBOBJS)
fi