Skip to content

Commit 47350ba

Browse files
committed
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.
1 parent 44952cd commit 47350ba

File tree

2 files changed

+35
-80
lines changed

2 files changed

+35
-80
lines changed

ext/pdo_sqlite/config.m4

Lines changed: 18 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
PHP_ARG_WITH([pdo-sqlite],
22
[for sqlite 3 support for PDO],
3-
[AS_HELP_STRING([[--without-pdo-sqlite[=DIR]]],
4-
[PDO: sqlite 3 support. DIR is the sqlite base install directory
5-
[BUNDLED]])],
3+
[AS_HELP_STRING([--without-pdo-sqlite],
4+
[PDO: sqlite 3 support.])],
65
[$PHP_PDO])
76

87
if test "$PHP_PDO_SQLITE" != "no"; then
@@ -28,56 +27,32 @@ if test "$PHP_PDO_SQLITE" != "no"; then
2827
AC_MSG_RESULT($pdo_cv_inc_path)
2928
])
3029

31-
php_pdo_sqlite_sources_core="pdo_sqlite.c sqlite_driver.c sqlite_statement.c"
30+
PKG_CHECK_MODULES([SQLITE], [sqlite3 > 3.7.4])
3231

33-
dnl you might want to change this
34-
SEARCH_PATH="$PHP_PDO_SQLITE /usr/local /usr"
35-
dnl you most likely want to change this
36-
SEARCH_FOR="/include/sqlite3.h"
37-
if test -r $PHP_PDO_SQLITE/$SEARCH_FOR; then
38-
dnl path given as parameter
39-
PDO_SQLITE_DIR=$PHP_PDO_SQLITE
40-
else
41-
dnl search default path list
42-
AC_MSG_CHECKING([for sqlite3 files in default path])
43-
for i in $SEARCH_PATH ; do
44-
if test -r $i/$SEARCH_FOR; then
45-
PDO_SQLITE_DIR=$i
46-
AC_MSG_RESULT(found in $i)
47-
fi
48-
done
49-
fi
50-
if test -z "$PDO_SQLITE_DIR"; then
51-
AC_MSG_RESULT([not found])
52-
AC_MSG_ERROR([Please reinstall the sqlite3 distribution])
53-
fi
54-
55-
PHP_ADD_INCLUDE($PDO_SQLITE_DIR/include)
56-
57-
LIBNAME=sqlite3
58-
LIBSYMBOL=sqlite3_open_v2
59-
60-
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
32+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_open_v2,
6133
[
62-
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PDO_SQLITE_DIR/$PHP_LIBDIR, PDO_SQLITE_SHARED_LIBADD)
63-
AC_DEFINE(HAVE_PDO_SQLITELIB,1,[ ])
64-
],[
65-
AC_MSG_ERROR([wrong sqlite lib version (< 3.5.0) or lib not found])
66-
],[
67-
-L$PDO_SQLITE_DIR/$PHP_LIBDIR -lm
34+
PHP_EVAL_INCLINE($SQLITE_CFLAGS)
35+
PHP_EVAL_LIBLINE($SQLITE_LIBS, PDO_SQLITE_SHARED_LIBADD)
36+
AC_DEFINE(HAVE_PDO_SQLITELIB, 1, [Define to 1 if you have the pdo_sqlite extension enabled.])
37+
], [
38+
AC_MSG_ERROR([Please install SQLite 3.7.4 first or check libsqlite3 is present])
6839
])
69-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
70-
AC_DEFINE(HAVE_SQLITE3_KEY,1, [have commercial sqlite3 with crypto support])
40+
41+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_key, [
42+
AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support])
7143
])
72-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_close_v2,[
44+
45+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_close_v2, [
7346
AC_DEFINE(HAVE_SQLITE3_CLOSE_V2, 1, [have sqlite3_close_v2])
7447
])
75-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
48+
49+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_column_table_name, [
7650
AC_DEFINE(HAVE_SQLITE3_COLUMN_TABLE_NAME, 1, [have sqlite3_column_table_name])
7751
])
7852

7953
PHP_SUBST(PDO_SQLITE_SHARED_LIBADD)
80-
PHP_NEW_EXTENSION(pdo_sqlite, $php_pdo_sqlite_sources_core, $ext_shared,,-I$pdo_cv_inc_path)
54+
PHP_NEW_EXTENSION(pdo_sqlite, pdo_sqlite.c sqlite_driver.c sqlite_statement.c,
55+
$ext_shared,,-I$pdo_cv_inc_path)
8156

8257
dnl Solaris fix
8358
PHP_CHECK_LIBRARY(rt, fdatasync, [PHP_ADD_LIBRARY(rt,, PDO_SQLITE_SHARED_LIBADD)])

ext/sqlite3/config0.m4

Lines changed: 17 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
PHP_ARG_WITH([sqlite3],
22
[whether to enable the SQLite3 extension],
3-
[AS_HELP_STRING([[--without-sqlite3[=DIR]]],
4-
[Do not include SQLite3 support. DIR is the prefix to SQLite3 installation
5-
directory.])],
3+
[AS_HELP_STRING([--without-sqlite3],
4+
[Do not include SQLite3 support.])],
65
[yes])
76

87
if test $PHP_SQLITE3 != "no"; then
9-
PHP_SQLITE3_CFLAGS=" -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 "
108

119
dnl when running phpize enable_maintainer_zts is not available
1210
if test -z "$enable_maintainer_zts"; then
@@ -18,52 +16,34 @@ if test $PHP_SQLITE3 != "no"; then
1816
fi
1917
fi
2018

21-
AC_MSG_CHECKING([for sqlite3 files in default path])
22-
for i in $PHP_SQLITE3 /usr/local /usr; do
23-
if test -r $i/include/sqlite3.h; then
24-
SQLITE3_DIR=$i
25-
AC_MSG_RESULT(found in $i)
26-
break
27-
fi
28-
done
29-
30-
if test -z "$SQLITE3_DIR"; then
31-
AC_MSG_RESULT([not found])
32-
AC_MSG_ERROR([Please reinstall the sqlite distribution from http://www.sqlite.org])
33-
fi
19+
PKG_CHECK_MODULES([SQLITE], [sqlite3 > 3.7.4])
3420

35-
AC_MSG_CHECKING([for SQLite 3.7.4+])
36-
PHP_CHECK_LIBRARY(sqlite3, sqlite3_stmt_readonly, [
37-
AC_MSG_RESULT(found)
38-
PHP_ADD_LIBRARY_WITH_PATH(sqlite3, $SQLITE3_DIR/$PHP_LIBDIR, SQLITE3_SHARED_LIBADD)
39-
PHP_ADD_INCLUDE($SQLITE3_DIR/include)
40-
],[
41-
AC_MSG_RESULT([not found])
21+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_stmt_readonly,
22+
[
23+
PHP_EVAL_INCLINE($SQLITE_CFLAGS)
24+
PHP_EVAL_LIBLINE($SQLITE_LIBS, SQLITE_SHARED_LIBADD)
25+
AC_DEFINE(HAVE_SQLITE3, 1, [Define to 1 if you have the sqlite3 extension enabled.])
26+
], [
4227
AC_MSG_ERROR([Please install SQLite 3.7.4 first or check libsqlite3 is present])
43-
],[
44-
-L$SQLITE3_DIR/$PHP_LIBDIR -lm
4528
])
4629

47-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
30+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_key, [
4831
AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support])
4932
])
50-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
33+
34+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_column_table_name, [
5135
AC_DEFINE(SQLITE_ENABLE_COLUMN_METADATA, 1, [have sqlite3 with column metadata enabled])
5236
])
53-
PHP_CHECK_LIBRARY(sqlite3,sqlite3_errstr,[
37+
38+
PHP_CHECK_LIBRARY(sqlite3, sqlite3_errstr, [
5439
AC_DEFINE(HAVE_SQLITE3_ERRSTR, 1, [have sqlite3_errstr function])
5540
])
5641

5742
PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension,
58-
[],
59-
[AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support])
43+
[],
44+
[AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support])
6045
])
6146

62-
AC_DEFINE(HAVE_SQLITE3,1,[ ])
63-
64-
sqlite3_sources="sqlite3.c"
65-
66-
PHP_NEW_EXTENSION(sqlite3, $sqlite3_sources, $ext_shared,,$PHP_SQLITE3_CFLAGS)
67-
PHP_ADD_BUILD_DIR([$ext_builddir/libsqlite])
47+
PHP_NEW_EXTENSION(sqlite3, sqlite3.c, $ext_shared,,-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
6848
PHP_SUBST(SQLITE3_SHARED_LIBADD)
6949
fi

0 commit comments

Comments
 (0)