diff options
author | foobar <sniper@php.net> | 2001-06-01 12:49:50 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2001-06-01 12:49:50 +0000 |
commit | cbe4d10a686f72508fca3e800af616126d716816 (patch) | |
tree | a6dbcf1eedd6fbb4e7af0e3d5ea650163d88e4cf /ext/informix | |
parent | 69e6f7ae525563bd9b6b2ef2dc29a9ec7ce225c9 (diff) | |
download | php-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.in | 10 | ||||
-rw-r--r-- | ext/informix/config.m4 | 156 |
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 |