diff --git a/.cvsignore b/.cvsignore index a54b4df..07380c4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ sqlite-3.6.6.2.tar.gz +sqlite-3.6.12.tar.gz diff --git a/mingw32-sqlite-3.6.6.2-no-undefined.patch b/mingw32-sqlite-3.6.12-no-undefined.patch similarity index 61% rename from mingw32-sqlite-3.6.6.2-no-undefined.patch rename to mingw32-sqlite-3.6.12-no-undefined.patch index 3da0b54..211dcd3 100644 --- a/mingw32-sqlite-3.6.6.2-no-undefined.patch +++ b/mingw32-sqlite-3.6.12-no-undefined.patch @@ -1,6 +1,6 @@ ---- sqlite-3.6.6.2/Makefile.in.orig 2008-12-16 15:43:08.000000000 +0000 -+++ sqlite-3.6.6.2/Makefile.in 2008-12-16 15:43:27.000000000 +0000 -@@ -448,13 +448,14 @@ +--- sqlite-3.6.12/Makefile.in.orig 2009-03-30 18:37:16.000000000 +0200 ++++ sqlite-3.6.12/Makefile.in 2009-04-23 11:16:17.000000000 +0200 +@@ -463,14 +463,15 @@ libsqlite3.la: $(LIBOBJ) $(LTLINK) -o $@ $(LIBOBJ) $(TLIBS) \ @@ -11,9 +11,10 @@ libtclsqlite3.la: tclsqlite.lo libsqlite3.la $(LTLINK) -o $@ tclsqlite.lo \ libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ - -rpath "$(libdir)/sqlite" \ -- -version-info "8:6:8" -+ -version-info "8:6:8" -no-undefined + -rpath "$(TCLLIBDIR)" \ + -version-info "8:6:8" \ +- -avoid-version ++ -avoid-version -no-undefined sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h $(LTLINK) $(READLINE_FLAGS) \ diff --git a/mingw32-sqlite.spec b/mingw32-sqlite.spec index 9d3755f..4066509 100644 --- a/mingw32-sqlite.spec +++ b/mingw32-sqlite.spec @@ -5,8 +5,8 @@ %define __find_provides %{_mingw32_findprovides} Name: mingw32-sqlite -Version: 3.6.6.2 -Release: 3%{?dist} +Version: 3.6.12 +Release: 1%{?dist} Summary: MinGW Windows port of sqlite embeddable SQL database engine License: Public Domain @@ -18,11 +18,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # Patches from Fedora native package. -Patch1: sqlite-3.6.6.2-libdl.patch +Patch1: sqlite-3.6.12-libdl.patch +# Avoid insecure sprintf(), use a system path for lempar.c, patch from Debian Patch2: sqlite-3.6.6.2-lemon-snprintf.patch +Patch3: sqlite-3.6.12-no-sqlite-doc.patch +Patch4: sqlite-3.6.12-memalign.patch # Patches for MinGW port. -Patch1000: mingw32-sqlite-3.6.6.2-no-undefined.patch +Patch1000: mingw32-sqlite-3.6.12-no-undefined.patch BuildRequires: mingw32-filesystem >= 49 BuildRequires: mingw32-gcc @@ -55,6 +58,8 @@ for Windows. %setup -q -n sqlite-%{version} %patch1 -p1 -b .libdl %patch2 -p1 -b .lemon-sprintf +%patch3 -p1 -b .no-sqlite-doc +%patch4 -p1 -b .align %patch1000 -p1 # Ships with an old/broken version of libtool which cannot create @@ -72,6 +77,8 @@ libtoolize --force # the extension via this export. # - RWMJ 2008-09-30 export config_TARGET_EXEEXT=.exe +# add compile flags to enable rtree, fts3 +export MINGW32_CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing" %{_mingw32_configure} make @@ -104,6 +111,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Apr 23 2009 Thomas Sailer - 3.6.12-1 +- update to 3.6.12 to match native +- enable rtree, fts3 + * Wed Feb 25 2009 Fedora Release Engineering - 3.6.6.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index d80768a..2211e51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -23cd36188f21d427d45191d317bcbcd5 sqlite-3.6.6.2.tar.gz +13600865a69a3f54d2ac42a0d6b743db sqlite-3.6.12.tar.gz diff --git a/sqlite-3.6.12-libdl.patch b/sqlite-3.6.12-libdl.patch new file mode 100644 index 0000000..4d2c272 --- /dev/null +++ b/sqlite-3.6.12-libdl.patch @@ -0,0 +1,11 @@ +diff -up sqlite-3.6.4/configure.ac.orig sqlite-3.6.4/configure.ac +--- sqlite-3.6.4/configure.ac.orig 2008-11-08 11:37:15.000000000 +0200 ++++ sqlite-3.6.4/configure.ac 2008-11-08 11:35:50.000000000 +0200 +@@ -606,6 +606,7 @@ AC_ARG_ENABLE(load-extension, AC_HELP_ST + [use_loadextension=$enableval],[use_loadextension=no]) + if test "${use_loadextension}" = "yes" ; then + OPT_FEATURE_FLAGS="" ++ AC_SEARCH_LIBS(dlopen, [dl]) + else + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" + fi diff --git a/sqlite-3.6.12-memalign.patch b/sqlite-3.6.12-memalign.patch new file mode 100644 index 0000000..f58609c --- /dev/null +++ b/sqlite-3.6.12-memalign.patch @@ -0,0 +1,204 @@ +--------------------- +PatchSet 6171 +Date: 2009/04/05 15:22:09 +Author: drh +Branch: HEAD +Tag: (none) +Branches: +Log: +Additional code to make sure and to assert that memory allocations have +8-byte alignment. Ticket #3777. + +Members: + src/btree.c:1.589->1.590 + src/memjournal.c:1.10->1.11 + src/pager.c:1.577->1.578 + src/sqliteInt.h:1.850->1.851 + src/vdbeaux.c:1.446->1.447 + src/vdbemem.c:1.139->1.140 + +Index: sqlite/src/btree.c +diff -u sqlite/src/btree.c:1.589 sqlite/src/btree.c:1.590 +--- sqlite/src/btree.c:1.589 Thu Apr 2 20:16:59 2009 ++++ sqlite/src/btree.c Sun Apr 5 12:22:09 2009 +@@ -5357,13 +5357,13 @@ + } + szCell = (u16*)&apCell[nMaxCells]; + aCopy[0] = (u8*)&szCell[nMaxCells]; +- assert( ((aCopy[0] - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ ++ assert( EIGHT_BYTE_ALIGNMENT(aCopy[0]) ); + for(i=1; ipageSize+ROUND8(sizeof(MemPage))]; + assert( ((aCopy[i] - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ + } + aSpace1 = &aCopy[NB-1][pBt->pageSize+ROUND8(sizeof(MemPage))]; +- assert( ((aSpace1 - (u8*)0) & 7)==0 ); /* 8-byte alignment required */ ++ assert( EIGHT_BYTE_ALIGNMENT(aSpace1) ); + if( ISAUTOVACUUM ){ + aFrom = &aSpace1[pBt->pageSize]; + } +Index: sqlite/src/memjournal.c +diff -u sqlite/src/memjournal.c:1.10 sqlite/src/memjournal.c:1.11 +--- sqlite/src/memjournal.c:1.10 Thu Apr 2 17:22:42 2009 ++++ sqlite/src/memjournal.c Sun Apr 5 12:22:09 2009 +@@ -237,6 +237,7 @@ + */ + void sqlite3MemJournalOpen(sqlite3_file *pJfd){ + MemJournal *p = (MemJournal *)pJfd; ++ assert( EIGHT_BYTE_ALIGNMENT(p) ); + memset(p, 0, sqlite3MemJournalSize()); + p->pMethod = &MemJournalMethods; + } +Index: sqlite/src/pager.c +diff -u sqlite/src/pager.c:1.577 sqlite/src/pager.c:1.578 +--- sqlite/src/pager.c:1.577 Sat Apr 4 15:53:48 2009 ++++ sqlite/src/pager.c Sun Apr 5 12:22:09 2009 +@@ -3114,9 +3114,9 @@ + ** source file journal.c). + */ + if( sqlite3JournalSize(pVfs)>sqlite3MemJournalSize() ){ +- journalFileSize = sqlite3JournalSize(pVfs); ++ journalFileSize = ROUND8(sqlite3JournalSize(pVfs)); + }else{ +- journalFileSize = sqlite3MemJournalSize(); ++ journalFileSize = ROUND8(sqlite3MemJournalSize()); + } + + /* Set the output variable to NULL in case an error occurs. */ +@@ -3172,23 +3172,25 @@ + ** Journal file name (nPathname+8+1 bytes) + */ + pPtr = (u8 *)sqlite3MallocZero( +- sizeof(*pPager) + /* Pager structure */ +- pcacheSize + /* PCache object */ +- pVfs->szOsFile + /* The main db file */ +- journalFileSize * 2 + /* The two journal files */ +- nPathname + 1 + /* zFilename */ +- nPathname + 8 + 1 /* zJournal */ ++ ROUND8(sizeof(*pPager)) + /* Pager structure */ ++ ROUND8(pcacheSize) + /* PCache object */ ++ ROUND8(pVfs->szOsFile) + /* The main db file */ ++ journalFileSize * 2 + /* The two journal files */ ++ nPathname + 1 + /* zFilename */ ++ nPathname + 8 + 1 /* zJournal */ + ); ++ assert( EIGHT_BYTE_ALIGNMENT(journalFileSize) ); + if( !pPtr ){ + sqlite3_free(zPathname); + return SQLITE_NOMEM; + } + pPager = (Pager*)(pPtr); +- pPager->pPCache = (PCache*)(pPtr += sizeof(*pPager)); +- pPager->fd = (sqlite3_file*)(pPtr += pcacheSize); +- pPager->sjfd = (sqlite3_file*)(pPtr += pVfs->szOsFile); ++ pPager->pPCache = (PCache*)(pPtr += ROUND8(sizeof(*pPager))); ++ pPager->fd = (sqlite3_file*)(pPtr += ROUND8(pcacheSize)); ++ pPager->sjfd = (sqlite3_file*)(pPtr += ROUND8(pVfs->szOsFile)); + pPager->jfd = (sqlite3_file*)(pPtr += journalFileSize); + pPager->zFilename = (char*)(pPtr += journalFileSize); ++ assert( EIGHT_BYTE_ALIGNMENT(pPager->jfd) ); + + /* Fill in the Pager.zFilename and Pager.zJournal buffers, if required. */ + if( zPathname ){ +Index: sqlite/src/sqliteInt.h +diff -u sqlite/src/sqliteInt.h:1.850 sqlite/src/sqliteInt.h:1.851 +--- sqlite/src/sqliteInt.h:1.850 Wed Apr 1 18:03:01 2009 ++++ sqlite/src/sqliteInt.h Sun Apr 5 12:22:09 2009 +@@ -456,6 +456,11 @@ + #define ROUNDDOWN8(x) ((x)&~7) + + /* ++** Assert that the pointer X is aligned to an 8-byte boundary. ++*/ ++#define EIGHT_BYTE_ALIGNMENT(X) ((((char*)(X) - (char*)0)&7)==0) ++ ++/* + ** An instance of the following structure is used to store the busy-handler + ** callback for a given sqlite handle. + ** +Index: sqlite/src/vdbeaux.c +diff -u sqlite/src/vdbeaux.c:1.446 sqlite/src/vdbeaux.c:1.447 +--- sqlite/src/vdbeaux.c:1.446 Wed Mar 25 15:43:09 2009 ++++ sqlite/src/vdbeaux.c Sun Apr 5 12:22:09 2009 +@@ -1023,6 +1023,7 @@ + u8 *pEnd, /* Pointer to 1 byte past the end of *ppFrom buffer */ + int *pnByte /* If allocation cannot be made, increment *pnByte */ + ){ ++ assert( EIGHT_BYTE_ALIGNMENT(*ppFrom) ); + if( (*(void**)pp)==0 ){ + nByte = ROUND8(nByte); + if( (pEnd - *ppFrom)>=nByte ){ +@@ -1096,6 +1097,8 @@ + if( isExplain && nMem<10 ){ + nMem = 10; + } ++ zCsr += (zCsr - (u8*)0)&7; ++ assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); + + do { + memset(zCsr, 0, zEnd-zCsr); +Index: sqlite/src/vdbemem.c +diff -u sqlite/src/vdbemem.c:1.139 sqlite/src/vdbemem.c:1.140 +--- sqlite/src/vdbemem.c:1.139 Sun Mar 29 15:12:10 2009 ++++ sqlite/src/vdbemem.c Sun Apr 5 12:22:09 2009 +@@ -209,6 +209,7 @@ + assert( !(fg&(MEM_Str|MEM_Blob)) ); + assert( fg&(MEM_Int|MEM_Real) ); + assert( (pMem->flags&MEM_RowSet)==0 ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); + + + if( sqlite3VdbeMemGrow(pMem, nByte, 0) ){ +@@ -345,6 +346,7 @@ + i64 sqlite3VdbeIntValue(Mem *pMem){ + int flags; + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); + flags = pMem->flags; + if( flags & MEM_Int ){ + return pMem->u.i; +@@ -373,6 +375,7 @@ + */ + double sqlite3VdbeRealValue(Mem *pMem){ + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); + if( pMem->flags & MEM_Real ){ + return pMem->r; + }else if( pMem->flags & MEM_Int ){ +@@ -403,6 +406,7 @@ + assert( pMem->flags & MEM_Real ); + assert( (pMem->flags & MEM_RowSet)==0 ); + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); + + pMem->u.i = doubleToInt64(pMem->r); + if( pMem->r==(double)pMem->u.i ){ +@@ -416,6 +420,8 @@ + int sqlite3VdbeMemIntegerify(Mem *pMem){ + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); + assert( (pMem->flags & MEM_RowSet)==0 ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); ++ + pMem->u.i = sqlite3VdbeIntValue(pMem); + MemSetTypeFlag(pMem, MEM_Int); + return SQLITE_OK; +@@ -427,6 +433,8 @@ + */ + int sqlite3VdbeMemRealify(Mem *pMem){ + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); ++ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); ++ + pMem->r = sqlite3VdbeRealValue(pMem); + MemSetTypeFlag(pMem, MEM_Real); + return SQLITE_OK; +diff -u sqlite/src/vdbeaux.c:1.447 sqlite/src/vdbeaux.c:1.448 +--- sqlite/src/vdbeaux.c:1.447 Sun Apr 5 12:22:09 2009 ++++ sqlite/src/vdbeaux.c Mon Apr 6 11:11:43 2009 +@@ -1099,6 +1099,7 @@ + } + zCsr += (zCsr - (u8*)0)&7; + assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); ++ if( zEnd, for the Debian GNU/Linux system (but may be used diff --git a/sqlite-3.6.6.2-libdl.patch b/sqlite-3.6.6.2-libdl.patch deleted file mode 100644 index 19d10ba..0000000 --- a/sqlite-3.6.6.2-libdl.patch +++ /dev/null @@ -1,240 +0,0 @@ -diff -up sqlite-3.6.4/configure.ac.orig sqlite-3.6.4/configure.ac ---- sqlite-3.6.4/configure.ac.orig 2008-11-08 11:37:15.000000000 +0200 -+++ sqlite-3.6.4/configure.ac 2008-11-08 11:35:50.000000000 +0200 -@@ -606,6 +606,7 @@ AC_ARG_ENABLE(load-extension, AC_HELP_ST - [use_loadextension=$enableval],[use_loadextension=no]) - if test "${use_loadextension}" = "yes" ; then - OPT_FEATURE_FLAGS="" -+ AC_SEARCH_LIBS(dlopen, [dl]) - else - OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" - fi -diff -up sqlite-3.6.4/configure.orig sqlite-3.6.4/configure ---- sqlite-3.6.4/configure.orig 2008-11-08 11:39:22.000000000 +0200 -+++ sqlite-3.6.4/configure 2008-11-08 11:39:29.000000000 +0200 -@@ -1,6 +1,6 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.59 for sqlite 3.6.1. -+# Generated by GNU Autoconf 2.59 for sqlite 3.6.4. - # - # Copyright (C) 2003 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation -@@ -416,8 +416,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} - # Identity of this package. - PACKAGE_NAME='sqlite' - PACKAGE_TARNAME='sqlite' --PACKAGE_VERSION='3.6.1' --PACKAGE_STRING='sqlite 3.6.1' -+PACKAGE_VERSION='3.6.4' -+PACKAGE_STRING='sqlite 3.6.4' - PACKAGE_BUGREPORT='' - - # Factoring default headers for most tests. -@@ -926,7 +926,7 @@ if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF --\`configure' configures sqlite 3.6.1 to adapt to many kinds of systems. -+\`configure' configures sqlite 3.6.4 to adapt to many kinds of systems. - - Usage: $0 [OPTION]... [VAR=VALUE]... - -@@ -987,7 +987,7 @@ fi - - if test -n "$ac_init_help"; then - case $ac_init_help in -- short | recursive ) echo "Configuration of sqlite 3.6.1:";; -+ short | recursive ) echo "Configuration of sqlite 3.6.4:";; - esac - cat <<\_ACEOF - -@@ -1137,7 +1137,7 @@ fi - test -n "$ac_init_help" && exit 0 - if $ac_init_version; then - cat <<\_ACEOF --sqlite configure 3.6.1 -+sqlite configure 3.6.4 - generated by GNU Autoconf 2.59 - - Copyright (C) 2003 Free Software Foundation, Inc. -@@ -1151,7 +1151,7 @@ cat >&5 <<_ACEOF - This file contains any messages produced by compilers while - running configure, to aid debugging if configure makes a mistake. - --It was created by sqlite $as_me 3.6.1, which was -+It was created by sqlite $as_me 3.6.4, which was - generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ -@@ -1489,7 +1489,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - # The following RCS revision string applies to configure.in --# $Revision: 1.65 $ -+# $Revision: 1.49 $ - - ######### - # Programs needed -@@ -11266,10 +11266,6 @@ if test "$TARGET_EXEEXT" = ".exe"; then - SQLITE_OS_WIN=0 - SQLITE_OS_OS2=1 - CFLAGS="$CFLAGS -DSQLITE_OS_OS2=1" -- if test "$ac_compiler_gnu" = "yes" ; then -- CFLAGS="$CFLAGS -Zomf -Zexe -Zmap" -- BUILD_CFLAGS="$BUILD_CFLAGS -Zomf -Zexe" -- fi - else - SQLITE_OS_UNIX=0 - SQLITE_OS_WIN=1 -@@ -12066,6 +12062,132 @@ else - fi; - if test "${use_loadextension}" = "yes" ; then - OPT_FEATURE_FLAGS="" -+ echo "$as_me:$LINENO: checking for library containing dlopen" >&5 -+echo $ECHO_N "checking for library containing dlopen... $ECHO_C" >&6 -+if test "${ac_cv_search_dlopen+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_func_search_save_LIBS=$LIBS -+ac_cv_search_dlopen=no -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char dlopen (); -+int -+main () -+{ -+dlopen (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_search_dlopen="none required" -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+if test "$ac_cv_search_dlopen" = no; then -+ for ac_lib in dl; do -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char dlopen (); -+int -+main () -+{ -+dlopen (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_search_dlopen="-l$ac_lib" -+break -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ done -+fi -+LIBS=$ac_func_search_save_LIBS -+fi -+echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5 -+echo "${ECHO_T}$ac_cv_search_dlopen" >&6 -+if test "$ac_cv_search_dlopen" != no; then -+ test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS" -+ -+fi -+ - else - OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" - fi -@@ -12506,7 +12628,7 @@ _ASBOX - } >&5 - cat >&5 <<_CSEOF - --This file was extended by sqlite $as_me 3.6.1, which was -+This file was extended by sqlite $as_me 3.6.4, which was - generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES -@@ -12569,7 +12691,7 @@ _ACEOF - - cat >>$CONFIG_STATUS <<_ACEOF - ac_cs_version="\\ --sqlite config.status 3.6.1 -+sqlite config.status 3.6.4 - configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -