From d6e78a2e4f4824f2270c2e45916be2488c7981f3 Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 20 Jul 2007 13:42:26 +0000 Subject: [PATCH] Updates to build scripts. Added scripts for building FTS2 shared libraries. (CVS 4171) FossilOrigin-Name: e269f6e9f6273210259a488c356f4996d75c6436 --- main.mk | 5 +++++ manifest | 14 ++++++++------ manifest.uuid | 2 +- mkextu.sh | 13 +++++++++++++ mkextw.sh | 22 ++++++++++++++++++++++ 5 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 mkextu.sh create mode 100644 mkextw.sh diff --git a/main.mk b/main.mk index d665f0a985..f9f2979cb8 100644 --- a/main.mk +++ b/main.mk @@ -141,8 +141,10 @@ SRC += \ $(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 SRC += \ $(TOP)/ext/icu/icu.c @@ -274,6 +276,9 @@ sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c tclsh $(TOP)/tool/mksqlite3internalh.tcl +fts2amal.c: target_source $(TOP)/ext/fts2/mkfts2amal.tcl + tclsh $(TOP)/ext/fts2/mkfts2amal.tcl + # Rules to build the LEMON compiler generator # lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c diff --git a/manifest b/manifest index d988bed928..4408a567b0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Version\s3.4.1\s(CVS\s4170) -D 2007-07-20T10:56:08 +C Updates\sto\sbuild\sscripts.\s\sAdded\sscripts\sfor\sbuilding\sFTS2\sshared\slibraries.\s(CVS\s4171) +D 2007-07-20T13:42:26 F Makefile.in 0c0e53720f658c7a551046442dd7afba0b72bfbe F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -51,8 +51,10 @@ F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33 F ext/icu/icu.c 61a345d8126686aa3487aa8d2d0f68abd655f7a4 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F ltmain.sh 56abb507100ed2d4261f6dd1653dec3cf4066387 -F main.mk 819122ab96e26ed5914b0f5bf34f0c21348878e8 +F main.mk 570e26f4e1b2060ad1cf08e36a8ce29065b1db75 F mkdll.sh 37fa8a7412e51b5ab2bc6d4276135f022a0feffb +F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f +F mkextw.sh 1a866b53637dab137191341cc875575a5ca110fb F mkopcodec.awk bd46ad001c98dfbab07b1713cb8e692fa0e5415d F mkopcodeh.awk cde995d269aa06c94adbf6455bea0acedb913fa5 F mkso.sh 24bde4c09e6fe80f718db3c31c068f45e13a2f2c @@ -518,7 +520,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 7cf15a5f651f0777972e21e0a96d601cf294f0f3 -R 53a63e386d2f1bebd83197639640d532 +P 81a4dd07c1d7099461e9e6668433dac5d99b1f32 +R 1ad56d3b4d154f3cbb44ee4dac0e86c2 U drh -Z af056197b0e00b9f1ca6244c6a209215 +Z 43fa5edb181c3b479ee5d344b0b5c317 diff --git a/manifest.uuid b/manifest.uuid index 40ee3ae1a7..960abb9eca 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -81a4dd07c1d7099461e9e6668433dac5d99b1f32 \ No newline at end of file +e269f6e9f6273210259a488c356f4996d75c6436 \ No newline at end of file diff --git a/mkextu.sh b/mkextu.sh new file mode 100644 index 0000000000..1d96897769 --- /dev/null +++ b/mkextu.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# +# This script is used to compile SQLite into a shared library on Linux. +# +# Two separate shared libraries are generated. "sqlite3.so" is the core +# library. "tclsqlite3.so" contains the TCL bindings and is the +# library that is loaded into TCL in order to run SQLite. +# +CFLAGS=-O2 -Wall +make fts2amal.c +echo gcc $CFLAGS -shared fts2amal.c -o fts2.so +gcc $CFLAGS -shared fts2amal.c -o fts2.so +strip fts2.so diff --git a/mkextw.sh b/mkextw.sh new file mode 100644 index 0000000000..3332f912f3 --- /dev/null +++ b/mkextw.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# This script is used to compile SQLite extensions into DLLs. +# +make fts2amal.c +PATH=$PATH:/opt/mingw/bin +OPTS='-DTHREADSAFE=1 -DBUILD_sqlite=1 -DOS_WIN=1' +CC="i386-mingw32msvc-gcc -O2 $OPTS -Itsrc" +NM="i386-mingw32msvc-nm" +CMD="$CC -c fts2amal.c" +echo $CMD +$CMD +echo 'EXPORTS' >fts2.def +echo 'sqlite3_extension_init' >>fts2.def +i386-mingw32msvc-dllwrap \ + --def fts2.def -v --export-all \ + --driver-name i386-mingw32msvc-gcc \ + --dlltool-name i386-mingw32msvc-dlltool \ + --as i386-mingw32msvc-as \ + --target i386-mingw32 \ + -dllname fts2.dll -lmsvcrt fts2amal.o +zip fts2dll.zip fts2.dll fts2.def