]> granicus.if.org Git - php/commitdiff
- Fixed bug #15803 (and propably others related too)
authorfoobar <sniper@php.net>
Fri, 14 Jun 2002 00:01:49 +0000 (00:01 +0000)
committerfoobar <sniper@php.net>
Fri, 14 Jun 2002 00:01:49 +0000 (00:01 +0000)
  . Changed the compile so that it doesn't "pollute" the INCLUDES
    anymore and thus cause trouble with other extensions which
    might use the same header files. (e.g. ODBC)
  . Some fixes for Informix compile problems (with the new build system)
  . Removed unnecessary stub.c file.

ext/informix/Makefile.frag
ext/informix/config.m4
ext/informix/ifx.ec
ext/informix/php_informix.h
ext/informix/php_informix_includes.h [new file with mode: 0644]
ext/informix/stub.c [deleted file]

index 815a9e2c3ca9d833d9817bacb43c88555463fc35..e95934fc3fc6590090b6fcfe3e939be654e67182 100644 (file)
@@ -1,5 +1,5 @@
 
-$(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 \
@@ -7,4 +7,4 @@ $(builddir)/ifx.c: $(srcdir)/ifx.ec $(builddir)/libphpifx.a
         fi)
 
 $(builddir)/libphpifx.a:
-       $(LINK) $(IFX_LIBOBJS)
+       $(LIBTOOL) --mode=link $(CC) $(IFX_LIBOBJS) -o $@
index 07aac3a010cfc4a745b1ff04034a9002fd4a5c02..d2fc08666d3fe90b2ce6b15134389783b7a9e3c5 100644 (file)
@@ -8,23 +8,19 @@ PHP_ARG_WITH(informix,for Informix support,
 
 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
@@ -58,7 +54,9 @@ if test "$PHP_INFORMIX" != "no"; then
   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
@@ -90,7 +88,9 @@ if test "$PHP_INFORMIX" != "no"; then
     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
index b5402fa071be8e5229b42aeedce0257e451a830d..c68407d444437e54db586095d5a1a4978972d0c3 100644 (file)
@@ -41,6 +41,7 @@
 #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"
 
index 53fed68427f22b3ec76b76982e79b98f1371c35d..6956da5e3936597321e7655694606ca1f98202a3 100644 (file)
 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);
@@ -123,56 +117,6 @@ ZEND_END_MODULE_GLOBALS(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
diff --git a/ext/informix/php_informix_includes.h b/ext/informix/php_informix_includes.h
new file mode 100644 (file)
index 0000000..5c1d9aa
--- /dev/null
@@ -0,0 +1,87 @@
+/* 
+   +----------------------------------------------------------------------+
+   | 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 */
diff --git a/ext/informix/stub.c b/ext/informix/stub.c
deleted file mode 100644 (file)
index e69de29..0000000