1 From 81db1d3f04472b2d5f247d0cd69e3e8368862234 Mon Sep 17 00:00:00 2001
2 From: Scott Hess <shess@chromium.org>
3 Date: Fri, 16 Jan 2015 13:07:04 -0800
4 Subject: [PATCH 10/16] [fts2][test] Add fts2 to testfixture.
6 TODO(shess): The main.mk change to build a.out is because under OSX gcc
7 is a wrapper for clang, and it reports an error about having multiple
8 outputs. Figure out a less hacky solution.
10 third_party/sqlite/src/Makefile.linux-gcc | 1 +
11 third_party/sqlite/src/ext/fts2/fts2.c | 6 ++++--
12 third_party/sqlite/src/ext/fts2/fts2_tokenizer.c | 4 +++-
13 third_party/sqlite/src/main.mk | 20 +++++++++++++++++++-
14 4 files changed, 27 insertions(+), 4 deletions(-)
16 diff --git a/third_party/sqlite/src/Makefile.linux-gcc b/third_party/sqlite/src/Makefile.linux-gcc
17 index f60f1a1..026c03c 100644
18 --- a/third_party/sqlite/src/Makefile.linux-gcc
19 +++ b/third_party/sqlite/src/Makefile.linux-gcc
20 @@ -67,6 +67,7 @@ OPTS = -DNDEBUG=1
21 # These flags match those for SQLITE_CFLAGS in config.mk.
24 +OPTS += -DSQLITE_ENABLE_FTS2 -DSQLITE_ENABLE_BROKEN_FTS2
25 OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
26 OPTS += -DHAVE_USLEEP=1
28 diff --git a/third_party/sqlite/src/ext/fts2/fts2.c b/third_party/sqlite/src/ext/fts2/fts2.c
29 index 0405fb7..dd75b4a 100644
30 --- a/third_party/sqlite/src/ext/fts2/fts2.c
31 +++ b/third_party/sqlite/src/ext/fts2/fts2.c
33 #include "fts2_hash.h"
34 #include "fts2_tokenizer.h"
36 -#include "sqlite3ext.h"
37 -SQLITE_EXTENSION_INIT1
39 +# include "sqlite3ext.h"
40 + SQLITE_EXTENSION_INIT1
44 /* TODO(shess) MAN, this thing needs some refactoring. At minimum, it
45 diff --git a/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c b/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
46 index a3d6a63..36d89eb 100644
47 --- a/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
48 +++ b/third_party/sqlite/src/ext/fts2/fts2_tokenizer.c
52 #include "sqlite3ext.h"
53 -SQLITE_EXTENSION_INIT3
55 + SQLITE_EXTENSION_INIT1
58 #include "fts2_hash.h"
59 #include "fts2_tokenizer.h"
60 diff --git a/third_party/sqlite/src/main.mk b/third_party/sqlite/src/main.mk
61 index 54b5b35..7cb6362 100644
62 --- a/third_party/sqlite/src/main.mk
63 +++ b/third_party/sqlite/src/main.mk
64 @@ -72,6 +72,12 @@ LIBOBJ+= vdbe.o parse.o \
65 vdbetrace.o wal.o walker.o where.o utf.o vtab.o
75 # All of the source code files.
77 @@ -337,6 +343,17 @@ TESTSRC2 = \
78 $(TOP)/ext/fts3/fts3_write.c \
79 $(TOP)/ext/async/sqlite3async.c
82 + $(TOP)/ext/fts2/fts2.c \
83 + $(TOP)/ext/fts2/fts2.h \
84 + $(TOP)/ext/fts2/fts2_hash.c \
85 + $(TOP)/ext/fts2/fts2_hash.h \
86 + $(TOP)/ext/fts2/fts2_icu.c \
87 + $(TOP)/ext/fts2/fts2_porter.c \
88 + $(TOP)/ext/fts2/fts2_tokenizer.h \
89 + $(TOP)/ext/fts2/fts2_tokenizer.c \
90 + $(TOP)/ext/fts2/fts2_tokenizer1.c
92 # Header files used by all library source files.
95 @@ -593,7 +610,8 @@ TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
96 testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
97 $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \
98 $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \
99 - -o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS)
100 + $(LIBTCL) libsqlite3.a $(THREADLIB) $(TLIBS)
101 + mv a.out testfixture$(EXE)
103 amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
104 $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS) \