-$(builddir)/ifx.c: $(srcdir)/ifx.ec $(builddir)/libphpifx.a
+$(srcdir)/ifx.c: $(srcdir)/ifx.ec $(builddir)/libphpifx.a
(if test -d $(INFORMIXDIR); then \
THREADLIB=POSIX $(INFORMIXDIR)/bin/esql -e $(IFX_ESQL_FLAGS) $(srcdir)/ifx.ec; mv ifx.c $@; \
else \
fi)
$(builddir)/libphpifx.a:
- $(LINK) $(IFX_LIBOBJS)
+ $(LIBTOOL) --mode=link $(CC) $(IFX_LIBOBJS) -o $@
if test "$PHP_INFORMIX" != "no"; then
- PHP_NEW_EXTENSION(informix, ifx.c, $ext_shared)
- PHP_ADD_MAKEFILE_FRAGMENT
- PHP_SUBST(INFORMIX_SHARED_LIBADD)
-
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)
+ IFX_INCLUDE=-I$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)
+ IFX_INCLUDE=-I$PHP_INFORMIX/incl/esql
PHP_ADD_LIBPATH($PHP_INFORMIX/lib, INFORMIX_SHARED_LIBADD)
PHP_ADD_LIBPATH($PHP_INFORMIX/lib/esql, INFORMIX_SHARED_LIBADD)
fi
else
IFX_ESQL_FLAGS="$IFX_ESQL_FLAGS -EUHAVE_IFX_IUS"
fi
- PHP_SUBST(IFX_ESQL_FLAGS)
+
+ PHP_NEW_EXTENSION(informix, ifx.c, $ext_shared,, $IFX_INCLUDE)
+ PHP_ADD_MAKEFILE_FRAGMENT
for i in $IFX_LIBS; do
case "$i" in
esac
done
- AC_DEFINE(HAVE_IFX,1,[ ])
+ PHP_SUBST(INFORMIX_SHARED_LIBADD)
PHP_SUBST(INFORMIXDIR)
PHP_SUBST(IFX_LIBOBJS)
+ PHP_SUBST(IFX_ESQL_FLAGS)
+ AC_DEFINE(HAVE_IFX,1,[ ])
fi
#include "ext/standard/php_standard.h"
#include "php_open_temporary_file.h"
#include "php_informix.h"
+#include "php_informix_includes.h"
#include "php_globals.h"
#include "php_ini.h"
extern zend_module_entry ifx_module_entry;
#define ifx_module_ptr &ifx_module_entry
-#undef TYPEMAX
-#undef CHAR
-
-#include "locator.h"
-#include "sqltypes.h"
-
/* user functions */
PHP_MINIT_FUNCTION(ifx);
PHP_RINIT_FUNCTION(ifx);
# define IFXG(v) (ifx_globals.v)
#endif
-#define MAX_RESID 64
-#define BLOBINFILE 0 /* 0=in memory, 1=in file */
-
-/* query result set data */
-typedef struct ifx_res {
- char connecid[16];
- char cursorid[16];
- char descrpid[16];
- char statemid[16];
- int isscroll;
- int ishold;
- int iscursory;
- int paramquery;
- int numcols;
- int rowid;
- int affected_rows;
- long sqlerrd[6];
- int res_id[MAX_RESID];
-} IFX_RES;
-
-typedef struct _IFX_IDRES {
- int type;
- union {
- struct {
- int mode;
- loc_t blob_data;
- } BLOBRES;
-
- struct {
- char *char_data;
- int len;
- } CHARRES;
-
-#if HAVE_IFX_IUS
- struct {
- ifx_lo_t slob_data;
- ifx_lo_create_spec_t *createspec;
- int lofd;
- } SLOBRES;
-#endif
- } DATARES;
-} IFX_IDRES;
-
-#define BLOB DATARES.BLOBRES
-#define CHAR DATARES.CHARRES
-
-#if HAVE_IFX_IUS
-#define SLOB DATARES.SLOBRES
-#endif
-
#else /* not HAVE_IFX */
#define ifx_module_ptr NULL
#endif
--- /dev/null
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 4 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2002 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Danny Heijl <Danny.Heijl@cevi.be>, initial cut (ODS 7) |
+ | Christian Cartus <chc@idgruppe.de>, blobs, and IUS 9 |
+ | Jouni Ahto <jouni.ahto@exdec.fi>, configuration stuff |
+ | based on mysql code by: Zeev Suraski <zeev@php.net> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#ifndef PHP_INFORMIX_INCLUDES_H
+#define PHP_INFORMIX_INCLUDES_H
+
+#if HAVE_IFX /* with Informix */
+
+#undef TYPEMAX
+#undef CHAR
+
+#include "locator.h"
+#include "sqltypes.h"
+
+#define MAX_RESID 64
+#define BLOBINFILE 0 /* 0=in memory, 1=in file */
+
+/* query result set data */
+typedef struct ifx_res {
+ char connecid[16];
+ char cursorid[16];
+ char descrpid[16];
+ char statemid[16];
+ int isscroll;
+ int ishold;
+ int iscursory;
+ int paramquery;
+ int numcols;
+ int rowid;
+ int affected_rows;
+ long sqlerrd[6];
+ int res_id[MAX_RESID];
+} IFX_RES;
+
+typedef struct _IFX_IDRES {
+ int type;
+ union {
+ struct {
+ int mode;
+ loc_t blob_data;
+ } BLOBRES;
+
+ struct {
+ char *char_data;
+ int len;
+ } CHARRES;
+
+#if HAVE_IFX_IUS
+ struct {
+ ifx_lo_t slob_data;
+ ifx_lo_create_spec_t *createspec;
+ int lofd;
+ } SLOBRES;
+#endif
+ } DATARES;
+} IFX_IDRES;
+
+#define BLOB DATARES.BLOBRES
+#define CHAR DATARES.CHARRES
+
+#if HAVE_IFX_IUS
+#define SLOB DATARES.SLOBRES
+#endif
+
+#endif /* HAVE_IFX */
+
+#endif /* PHP_INFORMIX_INCLUDES_H */