From f56412eace74a1aa282651c94f521768e42882b7 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Thu, 17 Apr 2003 11:57:29 +0000 Subject: [PATCH] Update build files --- ext/sqlite/Makefile.frag | 31 +++++++++++++ ext/sqlite/config.m4 | 97 +++++++++++++++++++++++++++------------- ext/sqlite/package.xml | 47 ++++++++++++++++++- 3 files changed, 142 insertions(+), 33 deletions(-) create mode 100644 ext/sqlite/Makefile.frag diff --git a/ext/sqlite/Makefile.frag b/ext/sqlite/Makefile.frag new file mode 100644 index 0000000000..50859e0f5f --- /dev/null +++ b/ext/sqlite/Makefile.frag @@ -0,0 +1,31 @@ + +LEMON="@LEMON@" + +# sqlite has some generated source files; this specifies how to +# build them + +$(srcdir)/libsqlite/src/sqlite.h: $(srcdir)/libsqlite/src/sqlite.h.in $(srcdir)/libsqlite/VERSION + $(SED) -e s/--VERS--/`cat $(srcdir)/libsqlite/VERSION`/ \ + -e s/--ENCODING--/$(SQLITE_ENCODING)/ \ + $(srcdir)/libsqlite/src/sqlite.h.in >$(srcdir)/libsqlite/src/sqlite.h + +# We avoid building these last three by bundling the generated versions +# in our release packages + +$(srcdir)/libsqlite/src/opcodes.c: $(srcdir)/libsqlite/src/vdbe.c + echo '/* Automatically generated file. Do not edit */' >$@ + echo 'char *sqliteOpcodeNames[] = { "???", ' >>$@ + grep '^case OP_' $< | \ + sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >>$@ + echo '};' >>$@ + +$(srcdir)/libsqlite/src/opcodes.h: $(srcdir)/libsqlite/src/vdbe.c + echo '/* Automatically generated file. Do not edit */' >$@ + grep '^case OP_' $< | \ + sed -e 's/://' | \ + awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >>$@ + +$(srcdir)/libsqlite/src/parse.c: $(srcdir)/libsqlite/src/parse.y + $(LEMON) $(srcdir)/libsqlite/src/parse.y + + diff --git a/ext/sqlite/config.m4 b/ext/sqlite/config.m4 index 05bb43d7da..74c742ad85 100644 --- a/ext/sqlite/config.m4 +++ b/ext/sqlite/config.m4 @@ -5,41 +5,76 @@ PHP_ARG_WITH(sqlite, for sqlite support, [ --with-sqlite Include sqlite support]) if test "$PHP_SQLITE" != "no"; then - SEARCH_PATH="/usr/local /usr" - SEARCH_FOR="/include/sqlite.h" - if test -r $PHP_SQLITE/; then # path given as parameter - SQLITE_DIR=$PHP_SQLITE - else # search default path list - AC_MSG_CHECKING([for sqlite files in default path]) - for i in $SEARCH_PATH ; do - if test -r $i/$SEARCH_FOR; then - SQLITE_DIR=$i - AC_MSG_RESULT(found in $i) - fi - done - fi + + if test "$PHP_SQLITE" != "yes"; then + SEARCH_PATH="/usr/local /usr" + SEARCH_FOR="/include/sqlite.h" + if test -r $PHP_SQLITE/; then # path given as parameter + SQLITE_DIR=$PHP_SQLITE + else # search default path list + AC_MSG_CHECKING([for sqlite files in default path]) + for i in $SEARCH_PATH ; do + if test -r $i/$SEARCH_FOR; then + SQLITE_DIR=$i + AC_MSG_RESULT(found in $i) + fi + done + fi - if test -z "$SQLITE_DIR"; then - AC_MSG_RESULT([not found]) - AC_MSG_ERROR([Please reinstall the sqlite distribution]) - fi + if test -z "$SQLITE_DIR"; then + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([Please reinstall the sqlite distribution from http://www.sqlite.org]) + fi - PHP_ADD_INCLUDE($SQLITE_DIR/include) + PHP_ADD_INCLUDE($SQLITE_DIR/include) - LIBNAME=sqlite - LIBSYMBOL=sqlite_open + LIBNAME=sqlite + LIBSYMBOL=sqlite_open - PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, - [ - PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $SQLITE_DIR/lib, SQLITE_SHARED_LIBADD) - AC_DEFINE(HAVE_SQLITELIB,1,[ ]) - ],[ - AC_MSG_ERROR([wrong sqlite lib version or lib not found]) - ],[ - -L$SQLITE_DIR/lib -lm -ldl - ]) + PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, + [ + PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $SQLITE_DIR/lib, SQLITE_SHARED_LIBADD) + AC_DEFINE(HAVE_SQLITELIB,1,[ ]) + ],[ + AC_MSG_ERROR([wrong sqlite lib version or lib not found]) + ],[ + -L$SQLITE_DIR/lib -lm -ldl + ]) - PHP_SUBST(SQLITE_SHARED_LIBADD) + PHP_SUBST(SQLITE_SHARED_LIBADD) + PHP_NEW_EXTENSION(sqlite, sqlite.c, $ext_shared) + else + # use bundled library + sources="libsqlite/src/opcodes.c + libsqlite/src/parse.c libsqlite/src/encode.c \ + libsqlite/src/auth.c libsqlite/src/btree.c libsqlite/src/build.c \ + libsqlite/src/delete.c libsqlite/src/expr.c libsqlite/src/func.c \ + libsqlite/src/hash.c libsqlite/src/insert.c libsqlite/src/main.c \ + libsqlite/src/os.c libsqlite/src/pager.c \ + libsqlite/src/printf.c libsqlite/src/random.c \ + libsqlite/src/select.c libsqlite/src/table.c libsqlite/src/tokenize.c \ + libsqlite/src/update.c libsqlite/src/util.c libsqlite/src/vdbe.c \ + libsqlite/src/where.c libsqlite/src/trigger.c" + + PHP_NEW_EXTENSION(sqlite, sqlite.c $sources, $ext_shared,,-I@ext_srcdir@/libsqlite/src) + PHP_ADD_BUILD_DIR($ext_builddir/libsqlite) + PHP_ADD_BUILD_DIR($ext_builddir/libsqlite/src) + AC_CHECK_SIZEOF(char *,4) + AC_DEFINE(SQLITE_PTR_SZ, SIZEOF_CHAR_P, [Size of a pointer]) + AC_DEFINE(OS_UNIX, 1, [if this is unix]) + AC_DEFINE(OS_WIN, 0, [if this is windows]) + AC_CHECK_FUNCS(usleep) + dnl use latin 1 for now; the utf-8 handling in funcs.c uses assert(), + dnl which is a bit silly and something we want to avoid + SQLITE_ENCODING="iso8859" + dnl SQLITE_ENCODING="UTF-8" + dnl AC_DEFINE(SQLITE_UTF8,1,[if SQLite should use utf-8 encoding]) + AC_SUBST(SQLITE_ENCODING) + + AC_PATH_PROG(LEMON,lemon,no) + AC_SUBST(LEMON) + + PHP_ADD_MAKEFILE_FRAGMENT + fi - PHP_NEW_EXTENSION(sqlite, sqlite.c, $ext_shared) fi diff --git a/ext/sqlite/package.xml b/ext/sqlite/package.xml index d9516dd780..db9b456fc0 100644 --- a/ext/sqlite/package.xml +++ b/ext/sqlite/package.xml @@ -20,8 +20,8 @@ PHP beta - 0.5 - 2003-04-17 + 0.6 + 2003-04-18 Initial release. Should be quite stable. @@ -30,11 +30,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.50.1