]> granicus.if.org Git - php/commitdiff
Use pkg-config for sqlite3 and pdo_sqlite
authorPeter Kokot <peterkokot@gmail.com>
Thu, 9 May 2019 21:23:39 +0000 (23:23 +0200)
committerPeter Kokot <peterkokot@gmail.com>
Tue, 14 May 2019 01:14:33 +0000 (03:14 +0200)
Following other migrations to pkg-config usage for the *nix build system
this migrates also sqlite3 and pdo_sqlite extensions.

ext/pdo_sqlite/config.m4
ext/sqlite3/config0.m4

index ad955947cf5577b377839c00c8a3da7d22a0fbac..32bc60fa9a85fd52b7e05a6de46b4332eef8421d 100644 (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)])
index 57f8884bfb892ad102768f97bd407f2eb68ffd2a..5fff973c4e130173d0703f85d96a04e0b08f8193 100644 (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
-
-  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
+  PKG_CHECK_MODULES([SQLITE], [sqlite3 > 3.7.4])
 
-  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