2004-09-19 18:55:41 +08:00
|
|
|
dnl $Id$
|
|
|
|
dnl config.m4 for extension pdo_sqlite
|
2005-01-07 13:27:27 +08:00
|
|
|
dnl vim:et:sw=2:ts=2:
|
2004-09-19 18:55:41 +08:00
|
|
|
|
2005-02-28 16:18:47 +08:00
|
|
|
if test "$PHP_PDO" != "no"; then
|
|
|
|
|
2006-05-03 19:12:54 +08:00
|
|
|
PHP_ARG_WITH(pdo-sqlite, for sqlite 3 support for PDO,
|
2007-07-04 01:25:43 +08:00
|
|
|
[ --without-pdo-sqlite[=DIR]
|
|
|
|
PDO: sqlite 3 support. DIR is the sqlite base
|
|
|
|
install directory [BUNDLED]], yes)
|
2006-05-03 19:12:54 +08:00
|
|
|
|
2004-09-19 18:55:41 +08:00
|
|
|
if test "$PHP_PDO_SQLITE" != "no"; then
|
|
|
|
|
2005-07-27 12:07:11 +08:00
|
|
|
ifdef([PHP_CHECK_PDO_INCLUDES],
|
|
|
|
[
|
|
|
|
PHP_CHECK_PDO_INCLUDES
|
|
|
|
],[
|
|
|
|
AC_MSG_CHECKING([for PDO includes])
|
|
|
|
if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then
|
|
|
|
pdo_inc_path=$abs_srcdir/ext
|
|
|
|
elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
|
|
|
|
pdo_inc_path=$abs_srcdir/ext
|
|
|
|
elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
|
|
|
|
pdo_inc_path=$prefix/include/php/ext
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([Cannot find php_pdo_driver.h.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($pdo_inc_path)
|
|
|
|
])
|
2004-09-19 18:55:41 +08:00
|
|
|
|
2005-01-07 13:27:27 +08:00
|
|
|
php_pdo_sqlite_sources_core="pdo_sqlite.c sqlite_driver.c sqlite_statement.c"
|
|
|
|
|
|
|
|
if test "$PHP_PDO_SQLITE" != "yes"; then
|
|
|
|
SEARCH_PATH="$PHP_PDO_SQLITE /usr/local /usr" # you might want to change this
|
|
|
|
SEARCH_FOR="/include/sqlite3.h" # you most likely want to change this
|
|
|
|
if test -r $PHP_PDO_SQLITE/$SEARCH_FOR; then # path given as parameter
|
|
|
|
PDO_SQLITE_DIR=$PHP_PDO_SQLITE
|
|
|
|
else # search default path list
|
|
|
|
AC_MSG_CHECKING([for sqlite3 files in default path])
|
|
|
|
for i in $SEARCH_PATH ; do
|
|
|
|
if test -r $i/$SEARCH_FOR; then
|
|
|
|
PDO_SQLITE_DIR=$i
|
|
|
|
AC_MSG_RESULT(found in $i)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
if test -z "$PDO_SQLITE_DIR"; then
|
|
|
|
AC_MSG_RESULT([not found])
|
|
|
|
AC_MSG_ERROR([Please reinstall the sqlite3 distribution])
|
|
|
|
fi
|
|
|
|
|
|
|
|
PHP_ADD_INCLUDE($PDO_SQLITE_DIR/include)
|
|
|
|
|
|
|
|
LIBNAME=sqlite3
|
|
|
|
LIBSYMBOL=sqlite3_open
|
|
|
|
|
|
|
|
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
|
|
|
|
[
|
2006-12-24 01:58:47 +08:00
|
|
|
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PDO_SQLITE_DIR/$PHP_LIBDIR, PDO_SQLITE_SHARED_LIBADD)
|
2005-01-07 13:27:27 +08:00
|
|
|
AC_DEFINE(HAVE_PDO_SQLITELIB,1,[ ])
|
|
|
|
],[
|
|
|
|
AC_MSG_ERROR([wrong sqlite lib version or lib not found])
|
|
|
|
],[
|
2006-12-24 01:58:47 +08:00
|
|
|
-L$PDO_SQLITE_DIR/$PHP_LIBDIR -lm
|
2005-01-07 13:27:27 +08:00
|
|
|
])
|
|
|
|
PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
|
|
|
|
AC_DEFINE(HAVE_SQLITE3_KEY,1, [have commercial sqlite3 with crypto support])
|
|
|
|
])
|
|
|
|
|
|
|
|
PHP_SUBST(PDO_SQLITE_SHARED_LIBADD)
|
|
|
|
PHP_NEW_EXTENSION(pdo_sqlite, $php_pdo_sqlite_sources_core, $ext_shared,,-I$pdo_inc_path)
|
|
|
|
else
|
|
|
|
# use bundled libs
|
|
|
|
pdo_sqlite_sources="sqlite/src/attach.c sqlite/src/auth.c sqlite/src/btree.c \
|
2005-07-01 04:58:36 +08:00
|
|
|
sqlite/src/build.c sqlite/src/callback.c sqlite/src/date.c sqlite/src/delete.c sqlite/src/expr.c \
|
2005-01-07 13:27:27 +08:00
|
|
|
sqlite/src/func.c sqlite/src/hash.c sqlite/src/insert.c sqlite/src/legacy.c \
|
2006-08-15 00:15:29 +08:00
|
|
|
sqlite/src/main.c sqlite/src/os_unix.c sqlite/src/os_win.c sqlite/src/os.c \
|
2005-07-01 04:58:36 +08:00
|
|
|
sqlite/src/pager.c sqlite/src/pragma.c sqlite/src/prepare.c \
|
2005-02-12 16:20:17 +08:00
|
|
|
sqlite/src/printf.c sqlite/src/random.c sqlite/src/select.c \
|
2006-08-15 00:15:29 +08:00
|
|
|
sqlite/src/table.c sqlite/src/tokenize.c sqlite/src/analyze.c sqlite/src/complete.c \
|
2005-01-07 13:27:27 +08:00
|
|
|
sqlite/src/trigger.c sqlite/src/update.c sqlite/src/utf.c sqlite/src/util.c \
|
|
|
|
sqlite/src/vacuum.c sqlite/src/vdbeapi.c sqlite/src/vdbeaux.c sqlite/src/vdbe.c \
|
2005-02-27 13:20:19 +08:00
|
|
|
sqlite/src/vdbemem.c sqlite/src/where.c sqlite/src/parse.c sqlite/src/opcodes.c \
|
2006-08-15 00:15:29 +08:00
|
|
|
sqlite/src/alter.c sqlite/src/vdbefifo.c sqlite/src/vtab.c sqlite/src/loadext.c"
|
2005-01-07 13:27:27 +08:00
|
|
|
|
2007-04-10 19:32:48 +08:00
|
|
|
if test "$enable_maintainer_zts" = "yes"; then
|
|
|
|
threadsafe_flag="-DTHREADSAFE=1"
|
|
|
|
else
|
|
|
|
threadsafe_flag="-DTHREADSAFE=0"
|
|
|
|
fi
|
|
|
|
|
2005-01-07 13:27:27 +08:00
|
|
|
PHP_NEW_EXTENSION(pdo_sqlite,
|
|
|
|
$php_pdo_sqlite_sources_core $pdo_sqlite_sources,
|
2007-04-10 19:32:48 +08:00
|
|
|
$ext_shared,,-I$ext_srcdir/sqlite/src -DPDO_SQLITE_BUNDLED=1 -DSQLITE_OMIT_CURSOR $threadsafe_flag -I$pdo_inc_path)
|
2005-01-07 13:27:27 +08:00
|
|
|
|
2005-12-31 08:56:06 +08:00
|
|
|
PHP_SUBST(PDO_SQLITE_SHARED_LIBADD)
|
2005-05-07 10:51:53 +08:00
|
|
|
PHP_ADD_BUILD_DIR($ext_builddir/sqlite/src, 1)
|
2005-01-07 13:27:27 +08:00
|
|
|
AC_CHECK_SIZEOF(char *,4)
|
|
|
|
AC_DEFINE(SQLITE_PTR_SZ, SIZEOF_CHAR_P, [Size of a pointer])
|
2007-02-16 04:52:50 +08:00
|
|
|
PDO_SQLITE_VERSION=`cat $ext_srcdir/sqlite/VERSION | sed 's/[^0-9.]//g'`
|
2005-05-07 10:51:53 +08:00
|
|
|
PDO_SQLITE_VERSION_NUMBER=`echo $PDO_SQLITE_VERSION | $AWK -F. '{printf("%d%03d%03d", $1, $2, $3)}'`
|
2005-11-01 11:13:32 +08:00
|
|
|
sed -e s/--VERS--/$PDO_SQLITE_VERSION/ -e s/--VERSION-NUMBER--/$PDO_SQLITE_VERSION_NUMBER/ $ext_srcdir/sqlite/src/sqlite.h.in > $ext_srcdir/sqlite/src/sqlite3.h
|
2005-07-27 19:53:00 +08:00
|
|
|
|
|
|
|
touch $ext_srcdir/sqlite/src/parse.c $ext_srcdir/sqlite/src/parse.h
|
2005-01-07 13:27:27 +08:00
|
|
|
|
2005-11-28 06:59:54 +08:00
|
|
|
if test "$ext_shared" = "no" || test "$ext_srcdir" != "$abs_srcdir"; then
|
2005-07-27 12:07:11 +08:00
|
|
|
echo '#include <php_config.h>' > $ext_srcdir/sqlite/src/config.h
|
2005-01-07 13:27:27 +08:00
|
|
|
else
|
2005-07-27 12:07:11 +08:00
|
|
|
echo "#include \"$abs_builddir/config.h\"" > $ext_srcdir/sqlite/src/config.h
|
2005-01-07 13:27:27 +08:00
|
|
|
fi
|
2005-07-27 12:07:11 +08:00
|
|
|
cat >> $ext_srcdir/sqlite/src/config.h <<EOF
|
2005-01-07 13:27:27 +08:00
|
|
|
#if ZTS
|
|
|
|
# define THREADSAFE 1
|
|
|
|
#endif
|
|
|
|
#if !ZEND_DEBUG
|
|
|
|
# define NDEBUG
|
|
|
|
#endif
|
|
|
|
/* discourage foolishness */
|
|
|
|
#define sqlite3_temp_directory sqlite3_temp_directory_unsafe_except_in_minit
|
|
|
|
EOF
|
|
|
|
AC_CHECK_FUNCS(usleep nanosleep)
|
|
|
|
AC_CHECK_HEADERS(time.h)
|
|
|
|
fi
|
2007-06-26 00:26:39 +08:00
|
|
|
|
|
|
|
dnl Solaris fix
|
|
|
|
PHP_CHECK_LIBRARY(rt, fdatasync, [PHP_ADD_LIBRARY(rt,, PDO_SQLITE_SHARED_LIBADD)])
|
2005-12-31 08:56:06 +08:00
|
|
|
|
2005-09-25 07:23:25 +08:00
|
|
|
ifdef([PHP_ADD_EXTENSION_DEP],
|
2005-07-27 12:07:11 +08:00
|
|
|
[
|
|
|
|
PHP_ADD_EXTENSION_DEP(pdo_sqlite, pdo)
|
|
|
|
])
|
2004-09-19 18:55:41 +08:00
|
|
|
fi
|
2005-02-28 16:18:47 +08:00
|
|
|
|
|
|
|
fi
|