Annotation of embedaddon/php/ext/sqlite/config.m4, revision 1.1

1.1     ! misho       1: dnl $Id: config.m4 311041 2011-05-15 05:49:34Z rasmus $
        !             2: dnl config.m4 for extension sqlite
        !             3: dnl vim:et:ts=2:sw=2
        !             4: 
        !             5: PHP_ARG_WITH(sqlite, for sqlite support,
        !             6: [  --without-sqlite=DIR    Do not include sqlite support.  DIR is the sqlite base
        !             7:                           install directory [BUNDLED]], yes)
        !             8: 
        !             9: PHP_ARG_ENABLE(sqlite-utf8, whether to enable UTF-8 support in sqlite (default: ISO-8859-1),
        !            10: [  --enable-sqlite-utf8      SQLite: Enable UTF-8 support for SQLite], no, no)
        !            11: 
        !            12: 
        !            13: 
        !            14: dnl
        !            15: dnl PHP_PROG_LEMON
        !            16: dnl
        !            17: dnl Search for lemon binary and check its version
        !            18: dnl
        !            19: AC_DEFUN([PHP_PROG_LEMON],[
        !            20:   # we only support certain lemon versions
        !            21:   lemon_version_list="1.0"
        !            22: 
        !            23:   AC_CHECK_PROG(LEMON, lemon, lemon)
        !            24:   if test "$LEMON"; then
        !            25:     AC_CACHE_CHECK([for lemon version], php_cv_lemon_version, [
        !            26:       lemon_version=`$LEMON -x 2>/dev/null | $SED -e 's/^.* //'`
        !            27:       php_cv_lemon_version=invalid
        !            28:       for lemon_check_version in $lemon_version_list; do
        !            29:         if test "$lemon_version" = "$lemon_check_version"; then
        !            30:           php_cv_lemon_version="$lemon_check_version (ok)"
        !            31:         fi
        !            32:       done
        !            33:     ])
        !            34:   else
        !            35:     lemon_version=none
        !            36:   fi
        !            37:   case $php_cv_lemon_version in
        !            38:     ""|invalid[)]
        !            39:       lemon_msg="lemon versions supported for regeneration of libsqlite parsers: $lemon_version_list (found: $lemon_version)."
        !            40:       AC_MSG_WARN([$lemon_msg])
        !            41:       LEMON="exit 0;"
        !            42:       ;;
        !            43:   esac
        !            44:   PHP_SUBST(LEMON)
        !            45: ])
        !            46: 
        !            47: 
        !            48: if test "$PHP_SQLITE" != "no"; then
        !            49:   if test "$PHP_PDO" != "no"; then
        !            50:     PHP_CHECK_PDO_INCLUDES([], [AC_MSG_WARN([Cannot find php_pdo_driver.h.])])
        !            51:     if test -n "$pdo_inc_path"; then
        !            52:       AC_DEFINE([PHP_SQLITE2_HAVE_PDO], [1], [Have PDO])
        !            53:       pdo_inc_path="-I$pdo_inc_path"
        !            54:     fi
        !            55:   fi  
        !            56: 
        !            57:   if test "$PHP_SQLITE" != "yes"; then
        !            58:     SEARCH_PATH="/usr/local /usr"
        !            59:     SEARCH_FOR="/include/sqlite.h"
        !            60:     if test -r $PHP_SQLITE/; then # path given as parameter
        !            61:       SQLITE_DIR=$PHP_SQLITE
        !            62:     else # search default path list
        !            63:       AC_MSG_CHECKING([for sqlite files in default path])
        !            64:       for i in $SEARCH_PATH ; do
        !            65:         if test -r $i/$SEARCH_FOR; then
        !            66:           SQLITE_DIR=$i
        !            67:           AC_MSG_RESULT(found in $i)
        !            68:         fi
        !            69:       done
        !            70:     fi
        !            71:   
        !            72:     if test -z "$SQLITE_DIR"; then
        !            73:       AC_MSG_RESULT([not found])
        !            74:       AC_MSG_ERROR([Please reinstall the sqlite distribution from http://www.sqlite.org])
        !            75:     fi
        !            76: 
        !            77:     PHP_CHECK_LIBRARY(sqlite, sqlite_open, [
        !            78:       PHP_ADD_LIBRARY_WITH_PATH(sqlite, $SQLITE_DIR/$PHP_LIBDIR, SQLITE_SHARED_LIBADD)
        !            79:       PHP_ADD_INCLUDE($SQLITE_DIR/include)
        !            80:     ],[
        !            81:       AC_MSG_ERROR([wrong sqlite lib version or lib not found])
        !            82:     ],[
        !            83:       -L$SQLITE_DIR/$PHP_LIBDIR -lm
        !            84:     ])
        !            85:     SQLITE_MODULE_TYPE=external
        !            86:     PHP_SQLITE_CFLAGS=$pdo_inc_path
        !            87:     sqlite_extra_sources="libsqlite/src/encode.c"
        !            88:   else
        !            89:     # use bundled library
        !            90:     PHP_PROG_LEMON
        !            91:     SQLITE_MODULE_TYPE=builtin
        !            92:     PHP_SQLITE_CFLAGS="-I@ext_srcdir@/libsqlite/src -I@ext_builddir@/libsqlite/src $pdo_inc_path"
        !            93:     sqlite_extra_sources="libsqlite/src/opcodes.c \
        !            94:         libsqlite/src/parse.c libsqlite/src/encode.c \
        !            95:         libsqlite/src/auth.c libsqlite/src/btree.c libsqlite/src/build.c \
        !            96:         libsqlite/src/delete.c libsqlite/src/expr.c libsqlite/src/func.c \
        !            97:         libsqlite/src/hash.c libsqlite/src/insert.c libsqlite/src/main.c \
        !            98:         libsqlite/src/os.c libsqlite/src/pager.c \
        !            99:         libsqlite/src/printf.c libsqlite/src/random.c \
        !           100:         libsqlite/src/select.c libsqlite/src/table.c libsqlite/src/tokenize.c \
        !           101:         libsqlite/src/update.c libsqlite/src/util.c libsqlite/src/vdbe.c \
        !           102:         libsqlite/src/attach.c libsqlite/src/btree_rb.c libsqlite/src/pragma.c \
        !           103:         libsqlite/src/vacuum.c libsqlite/src/copy.c \
        !           104:         libsqlite/src/vdbeaux.c libsqlite/src/date.c \
        !           105:         libsqlite/src/where.c libsqlite/src/trigger.c"
        !           106:   fi
        !           107:   dnl
        !           108:   dnl Common for both bundled/external
        !           109:   dnl
        !           110:   sqlite_sources="sqlite.c sess_sqlite.c pdo_sqlite2.c $sqlite_extra_sources" 
        !           111:   PHP_NEW_EXTENSION(sqlite, $sqlite_sources, $ext_shared,,$PHP_SQLITE_CFLAGS)
        !           112:   PHP_ADD_EXTENSION_DEP(sqlite, spl, true)
        !           113:   PHP_ADD_EXTENSION_DEP(sqlite, pdo, true)
        !           114: 
        !           115:   PHP_ADD_MAKEFILE_FRAGMENT
        !           116:   PHP_SUBST(SQLITE_SHARED_LIBADD)
        !           117:   PHP_INSTALL_HEADERS([$ext_builddir/libsqlite/src/sqlite.h])
        !           118:   
        !           119:   if test "$SQLITE_MODULE_TYPE" = "builtin"; then
        !           120:     PHP_ADD_BUILD_DIR($ext_builddir/libsqlite/src, 1)
        !           121:     AC_CHECK_SIZEOF(char *, 4)
        !           122:     AC_DEFINE(SQLITE_PTR_SZ, SIZEOF_CHAR_P, [Size of a pointer])
        !           123:     dnl use latin 1 for SQLite older than 2.8.9; the utf-8 handling 
        !           124:     dnl in funcs.c uses assert(), which is a bit silly and something 
        !           125:     dnl we want to avoid. This assert() was removed in SQLite 2.8.9.
        !           126:     if test "$PHP_SQLITE_UTF8" = "yes"; then
        !           127:       SQLITE_ENCODING="UTF8"
        !           128:       AC_DEFINE(SQLITE_UTF8, 1, [ ])
        !           129:     else
        !           130:       SQLITE_ENCODING="ISO8859"
        !           131:     fi
        !           132:     PHP_SUBST(SQLITE_ENCODING)
        !           133: 
        !           134:     SQLITE_VERSION=`cat $ext_srcdir/libsqlite/VERSION`
        !           135:     PHP_SUBST(SQLITE_VERSION)
        !           136: 
        !           137:     sed -e s/--VERS--/$SQLITE_VERSION/ -e s/--ENCODING--/$SQLITE_ENCODING/ $ext_srcdir/libsqlite/src/sqlite.h.in > $ext_builddir/libsqlite/src/sqlite.h
        !           138: 
        !           139:     if test "$ext_shared" = "no" || test "$ext_srcdir" != "$abs_srcdir"; then
        !           140:       echo '#include <php_config.h>' > $ext_builddir/libsqlite/src/config.h
        !           141:     else
        !           142:       echo "#include \"$abs_builddir/config.h\"" > $ext_builddir/libsqlite/src/config.h
        !           143:     fi
        !           144:     
        !           145:     cat >> $ext_builddir/libsqlite/src/config.h <<EOF
        !           146: #if ZTS
        !           147: # define THREADSAFE 1
        !           148: #endif
        !           149: #if !ZEND_DEBUG
        !           150: # define NDEBUG
        !           151: #endif
        !           152: EOF
        !           153:   fi
        !           154:   
        !           155:   AC_CHECK_FUNCS(usleep nanosleep)
        !           156:   AC_CHECK_HEADERS(time.h)
        !           157: fi

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>