Commit 0450d838 authored by shess's avatar shess Committed by Commit bot

[sql] Remove fts2 patches.

Chromium's has not built fts2 for a few weeks with no problems reported,
seems safe to remove the patches for M-44.

SQLITE_CORE was only needed to compile the fts2 files independently from
the amalgamation.

The README.chromium changes were leftovers from the big import that I'm
arbitrarily dropping here.

BUG=455817

Review URL: https://codereview.chromium.org/1073293002

Cr-Commit-Position: refs/heads/master@{#325245}
parent 9bbf3e3e
...@@ -14,7 +14,6 @@ source_set("sqlite") { ...@@ -14,7 +14,6 @@ source_set("sqlite") {
cflags = [] cflags = []
defines = [ defines = [
"SQLITE_CORE",
"SQLITE_ENABLE_FTS3", "SQLITE_ENABLE_FTS3",
"SQLITE_DISABLE_FTS3_UNICODE", "SQLITE_DISABLE_FTS3_UNICODE",
"SQLITE_DISABLE_FTS4_DEFERRED", "SQLITE_DISABLE_FTS4_DEFERRED",
...@@ -101,6 +100,10 @@ if (is_linux) { ...@@ -101,6 +100,10 @@ if (is_linux) {
if (is_ios) { if (is_ios) {
source_set("sqlite_regexp") { source_set("sqlite_regexp") {
defines += [
# Necessary to statically compile the extension.
"SQLITE_CORE",
]
sources = [ sources = [
"src/ext/icu/icu.c", "src/ext/icu/icu.c",
] ]
......
...@@ -78,7 +78,7 @@ git cherry-pick <your change> ...@@ -78,7 +78,7 @@ git cherry-pick <your change>
git rm patches/* git rm patches/*
git format-patch --output-directory=patches sqlite_${BASE}..HEAD git format-patch --output-directory=patches sqlite_${BASE}..HEAD
git add patches/*.patch git add patches/*.patch
git commit -m "Rebuild patches for sqlite_${VERSION}" git commit -m "Rebuild patches for sqlite_${BASE}"
# Re-generate the amalgamation. # Re-generate the amalgamation.
./google_generate_amalgamation.sh ./google_generate_amalgamation.sh
...@@ -116,7 +116,7 @@ VERSION=3080704 ...@@ -116,7 +116,7 @@ VERSION=3080704
#### Create current-SQLite reference branch. #### Create current-SQLite reference branch.
git checkout -b sqlite_${BASE} master git checkout -b sqlite_${BASE} master
rm -rf src git rm -rf src
cp -a sqlite-src-${BASE} src cp -a sqlite-src-${BASE} src
# -f includes ignored files, of which there are a couple. # -f includes ignored files, of which there are a couple.
git add -f src/ git add -f src/
...@@ -141,14 +141,16 @@ unzip sqlite-src-${VERSION}.zip ...@@ -141,14 +141,16 @@ unzip sqlite-src-${VERSION}.zip
rm sqlite-src-${VERSION}.zip rm sqlite-src-${VERSION}.zip
# -f includes ignored files, of which there are a couple. # -f includes ignored files, of which there are a couple.
git add -f sqlite-src-${VERSION}/ git add -f sqlite-src-${VERSION}/
git commit -m "Begin import of sqlite-src-${VERSION}"
# Sometimes DOS line endings sneak into the source code. This command works on # Sometimes DOS line endings sneak into the source code. This command works on
# OSX and Linux and fixes those files, but double-check the results before # OSX and Linux and fixes those files, but double-check the results before
# committing: # committing:
egrep --exclude="*.eps" --exclude="*.ico" --exclude="*.jpg" \ egrep --exclude="*.eps" --exclude="*.ico" --exclude="*.jpg" \
--exclude="*.gif" --exclude="*.tiff" --exclude="*.vsix" -URl '\r' . | \ --exclude="*.gif" --exclude="*.tiff" --exclude="*.vsix" -URl '\r' \
LANG=C xargs sed -i~ -e $'s/\r$//' sqlite-src-${VERSION}/ | LANG=C xargs sed -i~ -e $'s/\r$//'
git commit -m "Begin import of sqlite-src-${VERSION}" sqlite-src-${VERSION} # This might fail for lack of changes.
rm -rf src git commit -a -m "Fix line endings for sqlite-src-${VERSION}"
git rm -rf src
cp -a sqlite-src-${VERSION} src cp -a sqlite-src-${VERSION} src
# -f includes ignored files, of which there are a couple. # -f includes ignored files, of which there are a couple.
git add -f src/ git add -f src/
......
...@@ -45,7 +45,7 @@ index 1c9f24f..6d67ba7 100644 ...@@ -45,7 +45,7 @@ index 1c9f24f..6d67ba7 100644
#### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1 #### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1
# to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all # to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all
@@ -58,7 +58,25 @@ TLIBS = @@ -58,7 +58,24 @@ TLIBS =
#OPTS = -DSQLITE_DEBUG=1 #OPTS = -DSQLITE_DEBUG=1
#OPTS = #OPTS =
OPTS = -DNDEBUG=1 OPTS = -DNDEBUG=1
...@@ -54,7 +54,6 @@ index 1c9f24f..6d67ba7 100644 ...@@ -54,7 +54,6 @@ index 1c9f24f..6d67ba7 100644
+ +
+# These flags match those for SQLITE_CFLAGS in config.mk. +# These flags match those for SQLITE_CFLAGS in config.mk.
+ +
+OPTS += -DSQLITE_CORE
+OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 +OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
+OPTS += -DHAVE_USLEEP=1 +OPTS += -DHAVE_USLEEP=1
+ +
......
From 81db1d3f04472b2d5f247d0cd69e3e8368862234 Mon Sep 17 00:00:00 2001
From: Scott Hess <shess@chromium.org>
Date: Fri, 16 Jan 2015 13:07:04 -0800
Subject: [PATCH 10/16] [fts2][test] Add fts2 to testfixture.
TODO(shess): The main.mk change to build a.out is because under OSX gcc
is a wrapper for clang, and it reports an error about having multiple
outputs. Figure out a less hacky solution.
---
third_party/sqlite/src/Makefile.linux-gcc | 1 +
third_party/sqlite/src/ext/fts2/fts2.c | 6 ++++--
third_party/sqlite/src/ext/fts2/fts2_tokenizer.c | 4 +++-
third_party/sqlite/src/main.mk | 20 +++++++++++++++++++-
4 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/third_party/sqlite/src/Makefile.linux-gcc b/third_party/sqlite/src/Makefile.linux-gcc
index f60f1a1..026c03c 100644
--- a/third_party/sqlite/src/Makefile.linux-gcc
+++ b/third_party/sqlite/src/Makefile.linux-gcc
@@ -67,6 +67,7 @@ OPTS = -DNDEBUG=1
# These flags match those for SQLITE_CFLAGS in config.mk.
OPTS += -DSQLITE_CORE
+OPTS += -DSQLITE_ENABLE_FTS2 -DSQLITE_ENABLE_BROKEN_FTS2
OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
OPTS += -DHAVE_USLEEP=1
diff --git a/third_party/sqlite/src/ext/fts2/fts2.c b/third_party/sqlite/src/ext/fts2/fts2.c
index 0405fb7..dd75b4a 100644
--- a/third_party/sqlite/src/ext/fts2/fts2.c
+++ b/third_party/sqlite/src/ext/fts2/fts2.c
@@ -310,8 +310,10 @@
#include "fts2_hash.h"
#include "fts2_tokenizer.h"
#include "sqlite3.h"
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
+#ifndef SQLITE_CORE
+# include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+#endif
/* TODO(shess) MAN, this thing needs some refactoring. At minimum, it
diff --git a/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c b/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
index a3d6a63..36d89eb 100644
--- a/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
+++ b/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
@@ -28,7 +28,9 @@
#include "sqlite3.h"
#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT3
+#ifndef SQLITE_CORE
+ SQLITE_EXTENSION_INIT1
+#endif
#include "fts2_hash.h"
#include "fts2_tokenizer.h"
diff --git a/third_party/sqlite/src/main.mk b/third_party/sqlite/src/main.mk
index 54b5b35..7cb6362 100644
--- a/third_party/sqlite/src/main.mk
+++ b/third_party/sqlite/src/main.mk
@@ -72,6 +72,12 @@ LIBOBJ+= vdbe.o parse.o \
vdbetrace.o wal.o walker.o where.o utf.o vtab.o
+LIBOBJ+= fts2.o \
+ fts2_hash.o \
+ fts2_icu.o \
+ fts2_porter.o \
+ fts2_tokenizer.o \
+ fts2_tokenizer1.o
# All of the source code files.
#
@@ -337,6 +343,17 @@ TESTSRC2 = \
$(TOP)/ext/fts3/fts3_write.c \
$(TOP)/ext/async/sqlite3async.c
+TESTSRC2 += \
+ $(TOP)/ext/fts2/fts2.c \
+ $(TOP)/ext/fts2/fts2.h \
+ $(TOP)/ext/fts2/fts2_hash.c \
+ $(TOP)/ext/fts2/fts2_hash.h \
+ $(TOP)/ext/fts2/fts2_icu.c \
+ $(TOP)/ext/fts2/fts2_porter.c \
+ $(TOP)/ext/fts2/fts2_tokenizer.h \
+ $(TOP)/ext/fts2/fts2_tokenizer.c \
+ $(TOP)/ext/fts2/fts2_tokenizer1.c
+
# Header files used by all library source files.
#
HDR = \
@@ -593,7 +610,8 @@ TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \
$(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \
- -o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS)
+ $(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS)
+ mv a.out testfixture$(EXE)
amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \
--
2.2.1
From 971ef3e0fc917c25d7c0037de0c7a6df80068368 Mon Sep 17 00:00:00 2001
From: Scott Hess <shess@chromium.org>
Date: Mon, 22 Dec 2014 14:06:33 -0800
Subject: [PATCH 11/16] [fts2] Disable fts2_tokenizer for security reasons.
This was a leftover bit from merging the Gears SQLite into Chromium's version.
Original commit URL, which also shifted directory structure:
http://src.chromium.org/viewvc/chrome?revision=7623&view=revision
---
third_party/sqlite/src/ext/fts2/fts2.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/third_party/sqlite/src/ext/fts2/fts2.c b/third_party/sqlite/src/ext/fts2/fts2.c
index dd75b4a..944f324 100644
--- a/third_party/sqlite/src/ext/fts2/fts2.c
+++ b/third_party/sqlite/src/ext/fts2/fts2.c
@@ -37,6 +37,20 @@
** This is an SQLite module implementing full-text search.
*/
+/* TODO(shess): To make it easier to spot changes without groveling
+** through changelogs, I've defined GEARS_FTS2_CHANGES to call them
+** out, and I will document them here. On imports, these changes
+** should be reviewed to make sure they are still present, or are
+** dropped as appropriate.
+**
+** SQLite core adds the custom function fts2_tokenizer() to be used
+** for defining new tokenizers. The second parameter is a vtable
+** pointer encoded as a blob. Obviously this cannot be exposed to
+** Gears callers for security reasons. It could be suppressed in the
+** authorizer, but for now I have simply commented the definition out.
+*/
+#define GEARS_FTS2_CHANGES 1
+
/*
** The code in this file is only compiled if:
**
@@ -6822,7 +6836,11 @@ int sqlite3Fts2Init(sqlite3 *db){
** module with sqlite.
*/
if( SQLITE_OK==rc
+#if GEARS_FTS2_CHANGES && !SQLITE_TEST
+ /* fts2_tokenizer() disabled for security reasons. */
+#else
&& SQLITE_OK==(rc = sqlite3Fts2InitHashTable(db, pHash, "fts2_tokenizer"))
+#endif
&& SQLITE_OK==(rc = sqlite3_overload_function(db, "snippet", -1))
&& SQLITE_OK==(rc = sqlite3_overload_function(db, "offsets", -1))
&& SQLITE_OK==(rc = sqlite3_overload_function(db, "optimize", -1))
--
2.2.1
From 087238f08e5ba1e3651e36d37709ed8ce41b2679 Mon Sep 17 00:00:00 2001
From: Scott Hess <shess@chromium.org>
Date: Fri, 9 Jan 2015 11:27:59 -0800
Subject: [PATCH 12/16] [fts2][backport] ICU tokenizer iterate by UTF16.
This issue was discovered in Gears and is upstream at:
http://www.sqlite.org/src/info/892b74116a
No original review URL because this was part of the initial Chromium commit.
---
third_party/sqlite/src/ext/fts2/fts2_icu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/third_party/sqlite/src/ext/fts2/fts2_icu.c b/third_party/sqlite/src/ext/fts2/fts2_icu.c
index 2670301..6b6b195 100644
--- a/third_party/sqlite/src/ext/fts2/fts2_icu.c
+++ b/third_party/sqlite/src/ext/fts2/fts2_icu.c
@@ -198,7 +198,7 @@ static int icuNext(
while( iStart<iEnd ){
int iWhite = iStart;
- U8_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c);
+ U16_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c);
if( u_isspace(c) ){
iStart = iWhite;
}else{
--
2.2.1
From b3310ec4e29ca2ef45e36a7b188503cd2637c8ba Mon Sep 17 00:00:00 2001
From: Matt Perry <mpcomplete@google.com>
Date: Wed, 17 Dec 2008 00:50:50 +0000
Subject: [PATCH 13/16] [fts2] Interpret "foo*" as a prefix search.
By default it interpreted it as "foo *" (two tokens).
Original review URL: http://codereview.chromium.org/14176
---
third_party/sqlite/src/ext/fts2/fts2.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/third_party/sqlite/src/ext/fts2/fts2.c b/third_party/sqlite/src/ext/fts2/fts2.c
index 944f324..1c68af5 100644
--- a/third_party/sqlite/src/ext/fts2/fts2.c
+++ b/third_party/sqlite/src/ext/fts2/fts2.c
@@ -3558,6 +3558,7 @@ static int tokenizeSegment(
int firstIndex = pQuery->nTerms;
int iCol;
int nTerm = 1;
+ int iEndLast = -1;
int rc = pModule->xOpen(pTokenizer, pSegment, nSegment, &pCursor);
if( rc!=SQLITE_OK ) return rc;
@@ -3582,6 +3583,20 @@ static int tokenizeSegment(
pQuery->nextIsOr = 1;
continue;
}
+
+ /*
+ * The ICU tokenizer considers '*' a break character, so the code below
+ * sets isPrefix correctly, but since that code doesn't eat the '*', the
+ * ICU tokenizer returns it as the next token. So eat it here until a
+ * better solution presents itself.
+ */
+ if( pQuery->nTerms>0 && nToken==1 && pSegment[iBegin]=='*' &&
+ iEndLast==iBegin){
+ pQuery->pTerms[pQuery->nTerms-1].isPrefix = 1;
+ continue;
+ }
+ iEndLast = iEnd;
+
queryAdd(pQuery, pToken, nToken);
if( !inPhrase && iBegin>0 && pSegment[iBegin-1]=='-' ){
pQuery->pTerms[pQuery->nTerms-1].isNot = 1;
--
2.2.1
From ab29deaf1d9911e7dfc5f12e1fb131f800c9d4fd Mon Sep 17 00:00:00 2001
From: cpu <cpu@chromium.org>
Date: Mon, 14 Sep 2009 17:37:35 +0000
Subject: [PATCH 15/16] [fts2] Fix a crasher in full text search (sqlite)
- If the xxx_segdir table gets corrupted, you can have non-contiguous indexes (idx).
- This causes an assertion in debug, and a crash later on on release
With this change it will return 'corrupted db'
We shall wait to get a couple more fixes to upstream to sqlite org.
BUG=21377
TEST=see bug
Original review URL: https://codereview.chromium.org/203046
===
Also slipstreams:
fixup [open][fts2] Tweak Carlos' change to cater for the additional cases:
- More (ordered) segments than we expect - would previously cause stack-based
buffer overflow.
- Less segments than we expect, where the missing segments are a strict
truncation rather than missing in the middle.
BUG=NONE
TEST=NONE
Original review URL: https://codereview.chromium.org/209001/
---
third_party/sqlite/src/ext/fts2/fts2.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/third_party/sqlite/src/ext/fts2/fts2.c b/third_party/sqlite/src/ext/fts2/fts2.c
index 5cb3fc6..a78e3d3 100644
--- a/third_party/sqlite/src/ext/fts2/fts2.c
+++ b/third_party/sqlite/src/ext/fts2/fts2.c
@@ -1838,7 +1838,7 @@ static const char *const fulltext_zStatement[MAX_STMT] = {
/* SEGDIR_MAX_INDEX */ "select max(idx) from %_segdir where level = ?",
/* SEGDIR_SET */ "insert into %_segdir values (?, ?, ?, ?, ?, ?)",
/* SEGDIR_SELECT_LEVEL */
- "select start_block, leaves_end_block, root from %_segdir "
+ "select start_block, leaves_end_block, root, idx from %_segdir "
" where level = ? order by idx",
/* SEGDIR_SPAN */
"select min(start_block), max(end_block) from %_segdir "
@@ -5287,16 +5287,19 @@ static int leavesReadersInit(fulltext_vtab *v, int iLevel,
sqlite_int64 iEnd = sqlite3_column_int64(s, 1);
const char *pRootData = sqlite3_column_blob(s, 2);
int nRootData = sqlite3_column_bytes(s, 2);
+ sqlite_int64 iIndex = sqlite3_column_int64(s, 3);
/* Corrupt if we get back different types than we stored. */
+ /* Also corrupt if the index is not sequential starting at 0. */
if( sqlite3_column_type(s, 0)!=SQLITE_INTEGER ||
sqlite3_column_type(s, 1)!=SQLITE_INTEGER ||
- sqlite3_column_type(s, 2)!=SQLITE_BLOB ){
+ sqlite3_column_type(s, 2)!=SQLITE_BLOB ||
+ i!=iIndex ||
+ i>=MERGE_COUNT ){
rc = SQLITE_CORRUPT_BKPT;
break;
}
- assert( i<MERGE_COUNT );
rc = leavesReaderInit(v, i, iStart, iEnd, pRootData, nRootData,
&pReaders[i]);
if( rc!=SQLITE_OK ) break;
@@ -5391,10 +5394,14 @@ static int segmentMerge(fulltext_vtab *v, int iLevel){
memset(&lrs, '\0', sizeof(lrs));
rc = leavesReadersInit(v, iLevel, lrs, &i);
if( rc!=SQLITE_OK ) return rc;
- assert( i==MERGE_COUNT );
leafWriterInit(iLevel+1, idx, &writer);
+ if( i!=MERGE_COUNT ){
+ rc = SQLITE_CORRUPT_BKPT;
+ goto err;
+ }
+
/* Since leavesReaderReorder() pushes readers at eof to the end,
** when the first reader is empty, all will be empty.
*/
--
2.2.1
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
}, },
'target_defaults': { 'target_defaults': {
'defines': [ 'defines': [
'SQLITE_CORE',
'SQLITE_ENABLE_FTS3', 'SQLITE_ENABLE_FTS3',
# New unicode61 tokenizer with built-in tables. # New unicode61 tokenizer with built-in tables.
'SQLITE_DISABLE_FTS3_UNICODE', 'SQLITE_DISABLE_FTS3_UNICODE',
...@@ -202,6 +201,10 @@ ...@@ -202,6 +201,10 @@
'../icu/icu.gyp:icui18n', '../icu/icu.gyp:icui18n',
'../icu/icu.gyp:icuuc', '../icu/icu.gyp:icuuc',
], ],
'defines': [
# Necessary to statically compile the extension.
'SQLITE_CORE',
],
'sources': [ 'sources': [
'src/ext/icu/icu.c', 'src/ext/icu/icu.c',
], ],
......
...@@ -66,8 +66,6 @@ OPTS = -DNDEBUG=1 ...@@ -66,8 +66,6 @@ OPTS = -DNDEBUG=1
# These flags match those for SQLITE_CFLAGS in config.mk. # These flags match those for SQLITE_CFLAGS in config.mk.
OPTS += -DSQLITE_CORE
OPTS += -DSQLITE_ENABLE_FTS2 -DSQLITE_ENABLE_BROKEN_FTS2
OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
OPTS += -DHAVE_USLEEP=1 OPTS += -DHAVE_USLEEP=1
......
This diff is collapsed.
...@@ -198,7 +198,7 @@ static int icuNext( ...@@ -198,7 +198,7 @@ static int icuNext(
while( iStart<iEnd ){ while( iStart<iEnd ){
int iWhite = iStart; int iWhite = iStart;
U16_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c); U8_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c);
if( u_isspace(c) ){ if( u_isspace(c) ){
iStart = iWhite; iStart = iWhite;
}else{ }else{
......
...@@ -28,9 +28,7 @@ ...@@ -28,9 +28,7 @@
#include "sqlite3.h" #include "sqlite3.h"
#include "sqlite3ext.h" #include "sqlite3ext.h"
#ifndef SQLITE_CORE SQLITE_EXTENSION_INIT3
SQLITE_EXTENSION_INIT1
#endif
#include "fts2_hash.h" #include "fts2_hash.h"
#include "fts2_tokenizer.h" #include "fts2_tokenizer.h"
......
...@@ -72,12 +72,6 @@ LIBOBJ+= vdbe.o parse.o \ ...@@ -72,12 +72,6 @@ LIBOBJ+= vdbe.o parse.o \
vdbetrace.o wal.o walker.o where.o utf.o vtab.o vdbetrace.o wal.o walker.o where.o utf.o vtab.o
LIBOBJ+= fts2.o \
fts2_hash.o \
fts2_icu.o \
fts2_porter.o \
fts2_tokenizer.o \
fts2_tokenizer1.o
# All of the source code files. # All of the source code files.
# #
...@@ -343,17 +337,6 @@ TESTSRC2 = \ ...@@ -343,17 +337,6 @@ TESTSRC2 = \
$(TOP)/ext/fts3/fts3_write.c \ $(TOP)/ext/fts3/fts3_write.c \
$(TOP)/ext/async/sqlite3async.c $(TOP)/ext/async/sqlite3async.c
TESTSRC2 += \
$(TOP)/ext/fts2/fts2.c \
$(TOP)/ext/fts2/fts2.h \
$(TOP)/ext/fts2/fts2_hash.c \
$(TOP)/ext/fts2/fts2_hash.h \
$(TOP)/ext/fts2/fts2_icu.c \
$(TOP)/ext/fts2/fts2_porter.c \
$(TOP)/ext/fts2/fts2_tokenizer.h \
$(TOP)/ext/fts2/fts2_tokenizer.c \
$(TOP)/ext/fts2/fts2_tokenizer1.c
# Header files used by all library source files. # Header files used by all library source files.
# #
HDR = \ HDR = \
...@@ -610,8 +593,7 @@ TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE ...@@ -610,8 +593,7 @@ TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \ $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \
$(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \ $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \
$(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS) -o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS)
mv a.out testfixture$(EXE)
amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \ $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment