Use pkg-config for sqlite3 and pdo_sqlite

Following other migrations to pkg-config usage for the *nix build system
this migrates also sqlite3 and pdo_sqlite extensions.
This commit is contained in:
Peter Kokot 2019-05-09 23:23:39 +02:00
parent 44952cd9d4
commit 47350ba6e7
2 changed files with 35 additions and 80 deletions

View File

@ -1,8 +1,7 @@
PHP_ARG_WITH([pdo-sqlite],
[for sqlite 3 support for PDO],
[AS_HELP_STRING([[--without-pdo-sqlite[=DIR]]],
[PDO: sqlite 3 support. DIR is the sqlite base install directory
[BUNDLED]])],
[AS_HELP_STRING([--without-pdo-sqlite],
[PDO: sqlite 3 support.])],
[$PHP_PDO])
if test "$PHP_PDO_SQLITE" != "no"; then
@ -28,56 +27,32 @@ if test "$PHP_PDO_SQLITE" != "no"; then
AC_MSG_RESULT($pdo_cv_inc_path)
])
php_pdo_sqlite_sources_core="pdo_sqlite.c sqlite_driver.c sqlite_statement.c"
PKG_CHECK_MODULES([SQLITE], [sqlite3 > 3.7.4])
dnl you might want to change this
SEARCH_PATH="$PHP_PDO_SQLITE /usr/local /usr"
dnl you most likely want to change this
SEARCH_FOR="/include/sqlite3.h"
if test -r $PHP_PDO_SQLITE/$SEARCH_FOR; then
dnl path given as parameter
PDO_SQLITE_DIR=$PHP_PDO_SQLITE
else
dnl 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_v2
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
PHP_CHECK_LIBRARY(sqlite3, sqlite3_open_v2,
[
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PDO_SQLITE_DIR/$PHP_LIBDIR, PDO_SQLITE_SHARED_LIBADD)
AC_DEFINE(HAVE_PDO_SQLITELIB,1,[ ])
],[
AC_MSG_ERROR([wrong sqlite lib version (< 3.5.0) or lib not found])
],[
-L$PDO_SQLITE_DIR/$PHP_LIBDIR -lm
PHP_EVAL_INCLINE($SQLITE_CFLAGS)
PHP_EVAL_LIBLINE($SQLITE_LIBS, PDO_SQLITE_SHARED_LIBADD)
AC_DEFINE(HAVE_PDO_SQLITELIB, 1, [Define to 1 if you have the pdo_sqlite extension enabled.])
], [
AC_MSG_ERROR([Please install SQLite 3.7.4 first or check libsqlite3 is present])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
AC_DEFINE(HAVE_SQLITE3_KEY,1, [have commercial sqlite3 with crypto support])
PHP_CHECK_LIBRARY(sqlite3, sqlite3_key, [
AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_close_v2,[
PHP_CHECK_LIBRARY(sqlite3, sqlite3_close_v2, [
AC_DEFINE(HAVE_SQLITE3_CLOSE_V2, 1, [have sqlite3_close_v2])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
PHP_CHECK_LIBRARY(sqlite3, sqlite3_column_table_name, [
AC_DEFINE(HAVE_SQLITE3_COLUMN_TABLE_NAME, 1, [have sqlite3_column_table_name])
])
PHP_SUBST(PDO_SQLITE_SHARED_LIBADD)
PHP_NEW_EXTENSION(pdo_sqlite, $php_pdo_sqlite_sources_core, $ext_shared,,-I$pdo_cv_inc_path)
PHP_NEW_EXTENSION(pdo_sqlite, pdo_sqlite.c sqlite_driver.c sqlite_statement.c,
$ext_shared,,-I$pdo_cv_inc_path)
dnl Solaris fix
PHP_CHECK_LIBRARY(rt, fdatasync, [PHP_ADD_LIBRARY(rt,, PDO_SQLITE_SHARED_LIBADD)])

View File

@ -1,12 +1,10 @@
PHP_ARG_WITH([sqlite3],
[whether to enable the SQLite3 extension],
[AS_HELP_STRING([[--without-sqlite3[=DIR]]],
[Do not include SQLite3 support. DIR is the prefix to SQLite3 installation
directory.])],
[AS_HELP_STRING([--without-sqlite3],
[Do not include SQLite3 support.])],
[yes])
if test $PHP_SQLITE3 != "no"; then
PHP_SQLITE3_CFLAGS=" -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 "
dnl when running phpize enable_maintainer_zts is not available
if test -z "$enable_maintainer_zts"; then
@ -18,52 +16,34 @@ if test $PHP_SQLITE3 != "no"; then
fi
fi
AC_MSG_CHECKING([for sqlite3 files in default path])
for i in $PHP_SQLITE3 /usr/local /usr; do
if test -r $i/include/sqlite3.h; then
SQLITE3_DIR=$i
AC_MSG_RESULT(found in $i)
break
fi
done
PKG_CHECK_MODULES([SQLITE], [sqlite3 > 3.7.4])
if test -z "$SQLITE3_DIR"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please reinstall the sqlite distribution from http://www.sqlite.org])
fi
AC_MSG_CHECKING([for SQLite 3.7.4+])
PHP_CHECK_LIBRARY(sqlite3, sqlite3_stmt_readonly, [
AC_MSG_RESULT(found)
PHP_ADD_LIBRARY_WITH_PATH(sqlite3, $SQLITE3_DIR/$PHP_LIBDIR, SQLITE3_SHARED_LIBADD)
PHP_ADD_INCLUDE($SQLITE3_DIR/include)
],[
AC_MSG_RESULT([not found])
PHP_CHECK_LIBRARY(sqlite3, sqlite3_stmt_readonly,
[
PHP_EVAL_INCLINE($SQLITE_CFLAGS)
PHP_EVAL_LIBLINE($SQLITE_LIBS, SQLITE_SHARED_LIBADD)
AC_DEFINE(HAVE_SQLITE3, 1, [Define to 1 if you have the sqlite3 extension enabled.])
], [
AC_MSG_ERROR([Please install SQLite 3.7.4 first or check libsqlite3 is present])
],[
-L$SQLITE3_DIR/$PHP_LIBDIR -lm
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
PHP_CHECK_LIBRARY(sqlite3, sqlite3_key, [
AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
PHP_CHECK_LIBRARY(sqlite3, sqlite3_column_table_name, [
AC_DEFINE(SQLITE_ENABLE_COLUMN_METADATA, 1, [have sqlite3 with column metadata enabled])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_errstr,[
PHP_CHECK_LIBRARY(sqlite3, sqlite3_errstr, [
AC_DEFINE(HAVE_SQLITE3_ERRSTR, 1, [have sqlite3_errstr function])
])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension,
[],
[AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support])
[],
[AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support])
])
AC_DEFINE(HAVE_SQLITE3,1,[ ])
sqlite3_sources="sqlite3.c"
PHP_NEW_EXTENSION(sqlite3, $sqlite3_sources, $ext_shared,,$PHP_SQLITE3_CFLAGS)
PHP_ADD_BUILD_DIR([$ext_builddir/libsqlite])
PHP_NEW_EXTENSION(sqlite3, sqlite3.c, $ext_shared,,-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_SUBST(SQLITE3_SHARED_LIBADD)
fi