moving mysql to ext/

This commit is contained in:
Stig Bakken 1999-04-21 21:26:10 +00:00
parent f9d169c812
commit 3789ac7ea0
10 changed files with 2123 additions and 59 deletions

View file

@ -71,7 +71,7 @@ OBJS = main.o internal_functions.o snprintf.o php3_sprintf.o \
FUNCTIONS_SOURCE = functions/apache.c functions/fhttpd.c \ FUNCTIONS_SOURCE = functions/apache.c functions/fhttpd.c \
functions/crypt.c functions/db.c functions/dl.c functions/filepro.c \ functions/crypt.c functions/db.c functions/dl.c functions/filepro.c \
functions/head.c functions/imap.c functions/mime.c \ functions/head.c functions/imap.c functions/mime.c \
functions/msql.c functions/mysql.c \ functions/msql.c \
functions/oracle.c functions/oci8.c functions/pgsql.c \ functions/oracle.c functions/oci8.c functions/pgsql.c \
functions/post.c functions/sybase.c \ functions/post.c functions/sybase.c \
functions/sybase-ct.c @BCMATH_SRC@ functions/xml.c \ functions/sybase-ct.c @BCMATH_SRC@ functions/xml.c \
@ -138,7 +138,7 @@ distclean: clean distclean-recursive
-rm -f libphp3.module stamp-h -rm -f libphp3.module stamp-h
-rm -f regex/*.o regex/*.a regex/*.ih -rm -f regex/*.o regex/*.a regex/*.ih
-rm -f doc/checkdoc doc/funcparse doc/version.ent -rm -f doc/checkdoc doc/funcparse doc/version.ent
-rm -f do-conf test/test.log extra/gd/bdf2gdfont -rm -f do-conf test/test.log
-rm -f doc/Makefile regex/Makefile -rm -f doc/Makefile regex/Makefile
maintainer-clean-depend: maintainer-clean-depend-recursive maintainer-clean-depend: maintainer-clean-depend-recursive

View file

@ -124,10 +124,6 @@
#define HAVE_SYBASE 0 #define HAVE_SYBASE 0
#define HAVE_SYBASE_CT 0 #define HAVE_SYBASE_CT 0
#ifndef HAVE_MYSQL
#define HAVE_MYSQL 0
#endif
#ifndef HAVE_MSQL #ifndef HAVE_MSQL
#define HAVE_MSQL 0 #define HAVE_MSQL 0
#endif #endif

View file

@ -315,7 +315,7 @@ AC_ARG_WITH(apxs,
withval=apxs withval=apxs
fi fi
APXS="$withval" APXS="$withval"
APXS_LDFLAGS="@ORACLE_LFLAGS@ @ORACLE_LIBS@ @IODBC_LFLAGS@ @IODBC_LIBS@ @SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @MYSQL_LFLAGS@ @MYSQL_LIBS@ @MSQL_LFLAGS@ @MSQL_LIBS@ @ADA_LFLAGS@ @ADA_LIBS@ @SOLID_LIBS@ @EMPRESS_LIBS@ @OPENLINK_LIBS@ @PGSQL_LFLAGS@ @PGSQL_LIBS@ @LDAP_LFLAGS@ @LDAP_LIBS@ @VELOCIS_LIBS@ @CODBC_LFLAGS@ @CODBC_LIBS@ @ZLIB_LIBS@ @PDFLIB_LIBS@ @FDFTK_LIBS@ @IFX_LFLAGS@ @IFX_LIBS@ @IBASE_LFLAGS@ @IBASE_LIBS@" APXS_LDFLAGS="@ORACLE_LFLAGS@ @ORACLE_LIBS@ @IODBC_LFLAGS@ @IODBC_LIBS@ @SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@ @MSQL_LFLAGS@ @MSQL_LIBS@ @ADA_LFLAGS@ @ADA_LIBS@ @SOLID_LIBS@ @EMPRESS_LIBS@ @OPENLINK_LIBS@ @PGSQL_LFLAGS@ @PGSQL_LIBS@ @LDAP_LFLAGS@ @LDAP_LIBS@ @VELOCIS_LIBS@ @CODBC_LFLAGS@ @CODBC_LIBS@ @ZLIB_LIBS@ @PDFLIB_LIBS@ @FDFTK_LIBS@ @IFX_LFLAGS@ @IFX_LIBS@ @IBASE_LFLAGS@ @IBASE_LIBS@"
APACHE_INCLUDE="-I`$APXS -q INCLUDEDIR`" APACHE_INCLUDE="-I`$APXS -q INCLUDEDIR`"
BINNAME=libphp3.so BINNAME=libphp3.so
INSTALL_IT="\$(APXS) -i -a -n php3 $BINNAME" INSTALL_IT="\$(APXS) -i -a -n php3 $BINNAME"
@ -1095,57 +1095,6 @@ dnl## AC_SUBST(SYBASE_CT_INCLUDE)
INCLUDES="$INCLUDES $SYBASE_CT_INCLUDE" INCLUDES="$INCLUDES $SYBASE_CT_INCLUDE"
AC_MSG_CHECKING(for MySQL support)
AC_ARG_WITH(mysql,
[ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base
install directory, defaults to /usr/local.],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
MYSQL_INCDIR=/usr/local/include/mysql
MYSQL_LIBDIR=/usr/local/lib/mysql
else
if test -f $withval/include/mysql/mysql.h; then
MYSQL_INCDIR=$withval/include/mysql
MYSQL_LIBDIR=$withval/lib/mysql
elif test -f $withval/include/mysql.h; then
MYSQL_INCDIR=$withval/include
MYSQL_LIBDIR=$withval/lib
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Invalid MySQL directory - unable to find mysql.h under $withval)
fi
fi
MYSQL_INCLUDE=-I$MYSQL_INCDIR
if test -n "$APXS"; then
MYSQL_LFLAGS="'${apxs_runpath_switch}$MYSQL_LIBDIR' -L$MYSQL_LIBDIR"
else
MYSQL_LFLAGS="${ld_runpath_switch}$MYSQL_LIBDIR -L$MYSQL_LIBDIR"
fi
MYSQL_LIBS=-lmysqlclient
AC_DEFINE(HAVE_MYSQL)
AC_MSG_RESULT(yes)
dnl check for errmsg.h, which isn't installed by some versions of 3.21
old_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
AC_CHECK_HEADERS(errmsg.h mysql.h)
CPPFLAGS="$old_CPPFLAGS"
else
AC_MSG_RESULT(no)
dnl Why are we defining HAVE_MYSQL here??
AC_DEFINE(HAVE_MYSQL)
fi
],[
AC_MSG_RESULT(no)
])
AC_SUBST(MYSQL_LIBS)
AC_SUBST(MYSQL_LFLAGS)
dnl## AC_SUBST(MYSQL_INCLUDE)
INCLUDES="$INCLUDES $MYSQL_INCLUDE"
AC_MSG_CHECKING(for mSQL support) AC_MSG_CHECKING(for mSQL support)
AC_ARG_WITH(msql, AC_ARG_WITH(msql,
[ --with-msql[=DIR] Include mSQL support. DIR is the mSQL base [ --with-msql[=DIR] Include mSQL support. DIR is the mSQL base

6
ext/mysql/Makefile.am Normal file
View file

@ -0,0 +1,6 @@
# $Id$
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_mysql.a
libphpext_mysql_a_SOURCES=mysql.c

3
ext/mysql/config.h.stub Normal file
View file

@ -0,0 +1,3 @@
#ifndef HAVE_MYSQL
#define HAVE_MYSQL 0
#endif

50
ext/mysql/config.m4 Normal file
View file

@ -0,0 +1,50 @@
dnl $Id$
dnl config.m4 for extension mysql
dnl don't forget to call PHP_EXTENSION(mysql)
AC_MSG_CHECKING(for MySQL support)
AC_ARG_WITH(mysql,
[ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base
install directory, defaults to /usr/local.],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
MYSQL_INCDIR=/usr/local/include/mysql
MYSQL_LIBDIR=/usr/local/lib/mysql
else
if test -f $withval/include/mysql/mysql.h; then
MYSQL_INCDIR=$withval/include/mysql
MYSQL_LIBDIR=$withval/lib/mysql
elif test -f $withval/include/mysql.h; then
MYSQL_INCDIR=$withval/include
MYSQL_LIBDIR=$withval/lib
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Invalid MySQL directory - unable to find mysql.h under $withval)
fi
fi
MYSQL_INCLUDE=-I$MYSQL_INCDIR
if test -n "$APXS"; then
MYSQL_LFLAGS="'${apxs_runpath_switch}$MYSQL_LIBDIR' -L$MYSQL_LIBDIR"
else
MYSQL_LFLAGS="${ld_runpath_switch}$MYSQL_LIBDIR -L$MYSQL_LIBDIR"
fi
MYSQL_LIBS=-lmysqlclient
AC_DEFINE(HAVE_MYSQL)
AC_MSG_RESULT(yes)
dnl check for errmsg.h, which isn't installed by some versions of 3.21
old_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
AC_CHECK_HEADERS(errmsg.h mysql.h)
CPPFLAGS="$old_CPPFLAGS"
else
AC_MSG_RESULT(no)
AC_DEFINE(HAVE_MYSQL, 0)
fi
],[
AC_MSG_RESULT(no)
])
EXTRA_LIBS="$EXTRA_LIBS $MYSQL_LFLAGS $MYSQL_LIBS"
INCLUDES="$INCLUDES $MYSQL_INCLUDE"

1934
ext/mysql/mysql.c Normal file

File diff suppressed because it is too large Load diff

120
ext/mysql/php3_mysql.h Normal file
View file

@ -0,0 +1,120 @@
/*
+----------------------------------------------------------------------+
| PHP HTML Embedded Scripting Language Version 3.0 |
+----------------------------------------------------------------------+
| Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
+----------------------------------------------------------------------+
| This program is free software; you can redistribute it and/or modify |
| it under the terms of one of the following licenses: |
| |
| A) the GNU General Public License as published by the Free Software |
| Foundation; either version 2 of the License, or (at your option) |
| any later version. |
| |
| B) the PHP License as published by the PHP Development Team and |
| included in the distribution in the file: LICENSE |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of both licenses referred to here. |
| If you did not, or have any questions about PHP licensing, please |
| contact core@php.net. |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef _PHP3_MYSQL_H
#define _PHP3_MYSQL_H
#if COMPILE_DL
#undef HAVE_MYSQL
#define HAVE_MYSQL 1
#endif
#if HAVE_MYSQL
#ifndef DLEXPORT
#define DLEXPORT
#endif
extern php3_module_entry mysql_module_entry;
#define mysql_module_ptr &mysql_module_entry
extern int php3_minit_mysql(INIT_FUNC_ARGS);
extern int php3_rinit_mysql(INIT_FUNC_ARGS);
extern int php3_mshutdown_mysql(SHUTDOWN_FUNC_ARGS);
extern void php3_info_mysql(void);
extern void php3_mysql_connect(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_pconnect(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_close(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_select_db(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_create_db(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_drop_db(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_query(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_db_query(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_list_dbs(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_list_tables(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_list_fields(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_error(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_errno(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_affected_rows(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_insert_id(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_result(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_num_rows(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_num_fields(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_fetch_row(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_fetch_array(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_fetch_object(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_data_seek(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_fetch_lengths(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_fetch_field(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_seek(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_free_result(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_name(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_table(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_len(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_type(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_mysql_field_flags(INTERNAL_FUNCTION_PARAMETERS);
typedef struct {
long default_link;
long num_links,num_persistent;
long max_links,max_persistent;
long allow_persistent;
int le_result,le_link,le_plink;
long default_port;
char *default_host, *default_user, *default_password;
} php_mysql_globals;
#ifdef ZTS
# define MySLS_D php_mysql_globals *mysql_globals
# define MySLS_DC , MySLS_D
# define MySLS_C mysql_globals
# define MySLS_CC , MySLS_C
# define MySG(v) (mysql_globals->v)
# define MySLS_FETCH() php_mysql_globals *mysql_globals = ts_resource(mysql_globals_id)
#else
# define MySLS_D
# define MySLS_DC
# define MySLS_C
# define MySLS_CC
# define MySG(v) (mysql_globals.v)
# define MySLS_FETCH()
extern ZEND_API php_mysql_globals mysql_globals;
#endif
#else
#define mysql_module_ptr NULL
#endif
#endif /* _PHP3_MYSQL_H */

6
ext/mysql/setup.stub Normal file
View file

@ -0,0 +1,6 @@
# $Id$
define_option with-mysql 'mysql support?' yesnodir \
"defs" \
' Whether to include mysql support.'

View file

@ -49,7 +49,7 @@
#include "functions/php3_ifx.h" #include "functions/php3_ifx.h"
#include "functions/php3_crypt.h" #include "functions/php3_crypt.h"
#include "functions/php3_ldap.h" #include "functions/php3_ldap.h"
#include "functions/php3_mysql.h" #include "ext/mysql/php3_mysql.h"
#include "functions/php3_bcmath.h" #include "functions/php3_bcmath.h"
#include "functions/php3_msql.h" #include "functions/php3_msql.h"
#include "functions/php3_oci8.h" #include "functions/php3_oci8.h"