summaryrefslogtreecommitdiff
path: root/ext/informix/config.m4
diff options
context:
space:
mode:
Diffstat (limited to 'ext/informix/config.m4')
-rw-r--r--ext/informix/config.m439
1 files changed, 29 insertions, 10 deletions
diff --git a/ext/informix/config.m4 b/ext/informix/config.m4
index 7bf9180b02..dcdd202161 100644
--- a/ext/informix/config.m4
+++ b/ext/informix/config.m4
@@ -26,8 +26,15 @@ if test "$PHP_INFORMIX" != "no"; then
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?
+ dnl Check if thread safety flags are needed
+ if test "$enable_experimental_zts" = "yes"; then
+ IFX_ESQL_FLAGS="-thread"
+ CPPFLAGS="$CPPFLAGS -DIFX_THREAD"
+ else
+ IFX_ESQL_FLAGS=""
+ fi
+
+ IFX_LIBS=`THREADLIB=POSIX $INFORMIXDIR/bin/esql $IFX_ESQL_FLAGS -libs`
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.
@@ -44,9 +51,9 @@ if test "$PHP_INFORMIX" != "no"; then
if test $IFX_VERSION -ge "900"; then
AC_DEFINE(HAVE_IFX_IUS,1,[ ])
- IFX_ESQL_FLAGS="-EDHAVE_IFX_IUS"
+ IFX_ESQL_FLAGS="$IFX_ESQL_FLAGS -EDHAVE_IFX_IUS"
else
- IFX_ESQL_FLAGS="-EUHAVE_IFX_IUS"
+ IFX_ESQL_FLAGS="$IFX_ESQL_FLAGS -EUHAVE_IFX_IUS"
fi
PHP_SUBST(IFX_ESQL_FLAGS)
@@ -55,19 +62,31 @@ if test "$PHP_INFORMIX" != "no"; then
*.o)
IFX_LIBOBJS="$IFX_LIBOBJS $i"
PHP_ADD_LIBPATH($ext_builddir, INFORMIX_SHARED_LIBADD)
- PHP_ADD_LIBRARY_DEFER(phpifx, 1, INFORMIX_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_DEFER(phpifx, 1)
+ ;;
+ -lm)
+ ;;
+ -lc)
;;
-l*)
- lib=`echo $i|sed -e "s/^-l//"`
- PHP_ADD_LIBRARY_DEFER($lib, 1, INFORMIX_SHARED_LIBADD)
+ lib=`echo $i | cut -c 3-`
+ PHP_ADD_LIBRARY_DEFER($lib, 1)
;;
*.a)
- lib=`echo $i|sed -e "s#^/.*/lib##g;s#\.a##g"`
- PHP_ADD_LIBRARY_DEFER($lib, 1, INFORMIX_SHARED_LIBADD)
+ case "`uname -s 2>/dev/null`" in
+ UnixWare | SCO_SV | UNIX_SV)
+ DLIBS="$DLIBS $i"
+ ;;
+ *)
+ ac_dir="`echo $i|sed 's#[^/]*$##;s#\/$##'`"
+ ac_lib="`echo $i|sed 's#^/.*/lib##g;s#\.a##g'`"
+ DLIBS="$DLIBS -L$ac_dir -l$ac_lib"
+ ;;
+ esac
;;
esac
done
-
+
AC_DEFINE(HAVE_IFX,1,[ ])
PHP_SUBST(INFORMIXDIR)
PHP_SUBST(IFX_LIBOBJS)