summaryrefslogtreecommitdiff
path: root/ext/sqlite3/config.m4
blob: 0adb01b4e3531ea19dce4b0895ae6f8511a57aa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
dnl $Id$
dnl config.m4 for extension sqlite3
dnl vim:et:ts=2:sw=2

PHP_ARG_WITH(sqlite3, whether to enable the SQLite3 extension,
[  --with-sqlite3[=DIR]    Include SQLite3 support. DIR is the prefix to
                          SQLite3 installation directory.], no)

if test $PHP_SQLITE3 != "no"; then
  sqlite3_extra_sources=""
  PHP_SQLITE3_CFLAGS=""

  dnl when running phpize enable_maintainer_zts is not available
  if test -z "$enable_maintainer_zts"; then
    if test -f "$phpincludedir/main/php_config.h"; then
      ZTS=`grep '#define ZTS' $phpincludedir/main/php_config.h|$SED 's/#define ZTS//'`
      if test "$ZTS" -eq "1"; then
        enable_maintainer_zts="yes"
      fi
    fi
  fi

  if test $PHP_SQLITE3 != "yes"; then
    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

    AC_MSG_CHECKING([for SQLite 3.3.9+])
    PHP_CHECK_LIBRARY(sqlite3, sqlite3_prepare_v2, [
      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])
      AC_MSG_ERROR([Please install SQLite 3.3.9 first or check libsqlite3 is present])
    ],[
      -L$SQLITE3_DIR/$PHP_LIBDIR -lm
    ])

    PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
      AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support])
    ])

  else
    AC_MSG_CHECKING([bundled sqlite3 library])
    AC_MSG_RESULT([yes])

    sqlite3_extra_sources="libsqlite/sqlite3.c"

    if test "$enable_maintainer_zts" = "yes"; then
      threadsafe_flags="-DSQLITE_THREADSAFE=1"
    else
      threadsafe_flags="-DSQLITE_THREADSAFE=0"
    fi

    if test "$ZEND_DEBUG" = "yes"; then
      debug_flags="-DSQLITE_DEBUG=1"
    fi

    other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1"

dnl    if test "$PHP_MAJOR_VERSION" -ge "6"; then
dnl      other_flags="$other_flags -DSQLITE_ENABLE_ICU=1"
dnl    fi

    PHP_SQLITE3_CFLAGS="-I@ext_srcdir@/libsqlite -I@ext_builddir@/libsqlite $other_flags $threadsafe_flags $debug_flags"
  fi

  AC_DEFINE(HAVE_SQLITE3,1,[ ])

  sqlite3_sources="sqlite3.c $sqlite3_extra_sources"

  PHP_NEW_EXTENSION(sqlite3, $sqlite3_sources, $ext_shared,,$PHP_SQLITE3_CFLAGS)
  PHP_SUBST(SQLITE3_SHARED_LIBADD)

fi