diff --git a/Makefile.in b/Makefile.in index db52c84bc5..f09b8213b1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -305,6 +305,7 @@ SRC += \ $(TOP)/ext/fts3/fts3_tokenizer.c \ $(TOP)/ext/fts3/fts3_tokenizer1.c SRC += \ + $(TOP)/ext/icu/sqliteicu.h \ $(TOP)/ext/icu/icu.c SRC += \ $(TOP)/ext/rtree/rtree.h \ @@ -408,6 +409,8 @@ HDR += \ $(TOP)/ext/fts3/fts3_tokenizer.h HDR += \ $(TOP)/ext/rtree/rtree.h +HDR += \ + $(TOP)/ext/icu/sqliteicu.h # If using the amalgamation, use sqlite3.c directly to build the test # fixture. Otherwise link against libsqlite3.la. (This distinction is diff --git a/ext/icu/sqliteicu.h b/ext/icu/sqliteicu.h new file mode 100644 index 0000000000..69b42f9821 --- /dev/null +++ b/ext/icu/sqliteicu.h @@ -0,0 +1,27 @@ +/* +** 2008 May 26 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** This header file is used by programs that want to link against the +** ICU extension. All it does is declare the sqlite3IcuInit() interface. +*/ +#include "sqlite3.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +int sqlite3IcuInit(sqlite3 *db); + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + diff --git a/main.mk b/main.mk index 55cc7beaa4..92903ec2f9 100644 --- a/main.mk +++ b/main.mk @@ -44,7 +44,7 @@ # This is how we compile # -TCCX = $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP) -I$(TOP)/ext/rtree +TCCX = $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP) -I$(TOP)/ext/rtree -I$(TOP)/ext/icu # Object files for the SQLite library. # @@ -179,7 +179,8 @@ SRC += \ $(TOP)/ext/fts3/fts3_tokenizer.c \ $(TOP)/ext/fts3/fts3_tokenizer1.c SRC += \ - $(TOP)/ext/icu/icu.c + $(TOP)/ext/icu/sqliteicu.h \ + $(TOP)/ext/icu/icu.c SRC += \ $(TOP)/ext/rtree/rtree.h \ $(TOP)/ext/rtree/rtree.c @@ -277,6 +278,8 @@ EXTHDR += \ $(TOP)/ext/fts3/fts3_tokenizer.h EXTHDR += \ $(TOP)/ext/rtree/rtree.h +EXTHDR += \ + $(TOP)/ext/icu/sqliteicu.h # This is the default Makefile target. The objects listed here # are what get build when you type just "make" with no arguments. diff --git a/manifest b/manifest index f6a1919e23..a71653208d 100644 --- a/manifest +++ b/manifest @@ -1,7 +1,7 @@ -C Deallocate\sa\stemp\sregister\sallocated\sby\scodeEqualityTerm()\sin\swhere.c.\sIf\sit\sis\snot\sdeallocated,\sits\svalue\smay\sbe\sreused\sby\sthe\scolumn-cache\smechanism.\sHowever,\sby\sthe\stime\sit\sis\sused,\sthe\svalue\smay\shave\sbeen\sclobbered\sby\sa\ssub-routine\sthat\salso\suses\sthe\ssame\stemp\sregister.\sFix\sfor\s#3357.\s(CVS\s5679) -D 2008-09-06T14:19:11 +C Add\sheader\sfile\ssqliteicu.h\sto\sthe\sICU\sextension.\sThis\sis\sanalogous\sto\sthe\srtree.h\sand\sfts3.h\sheaders\sused\sby\sother\sextensions\sto\sdeclare\stheir\sentry\spoints.\sFix\sfor\sticket\s#3361.\s(CVS\s5680) +D 2008-09-08T08:08:09 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 -F Makefile.in 689e14735f862a5553bceef206d8c13e29504e44 +F Makefile.in d15a7ebfe5e057a72a49805ffb302dbb601c8329 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F README b974cdc3f9f12b87e851b04e75996d720ebf81ac F VERSION d1968c7d42b95f18d5fdb5cf7f4cef21797572fa @@ -63,6 +63,7 @@ F ext/fts3/fts3_tokenizer1.c 0a5bcc579f35de5d24a9345d7908dc25ae403ee7 F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100 F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33 F ext/icu/icu.c 12e763d288d23b5a49de37caa30737b971a2f1e2 +F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 F ext/rtree/rtree.c 5e372fdbe572ae8e4e3b4917f048e842dcb57915 F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e @@ -77,7 +78,7 @@ F ext/rtree/rtree_util.tcl ee0a0311eb12175319d78bfb37302320496cee6e F ext/rtree/viewrtree.tcl 09526398dae87a5a87c5aac2b3854dbaf8376869 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F ltmain.sh 09fe5815427dc7d0abb188bbcdf0e34896577210 -F main.mk 256259ff346a85fa98ad67848faae2b3ed817d57 +F main.mk b207901cca3301dcb08892be8563eab126f10037 F mkdll.sh 79d1ed6ae221c10589dd969f130f8a3cccfffbb7 F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac @@ -116,7 +117,7 @@ F src/insert.c 110cca7845ed5a66c08fdd413b02e706ae34455f F src/journal.c cffd2cd214e58c0e99c3ff632b3bee6c7cbb260e F src/legacy.c aac57bd984e666059011ea01ec4383892a253be3 F src/loadext.c 6581a5bbc4d74fcd46dbbcfd695a6a5417f778a2 -F src/main.c 088b513b16b480e96cbabab883107e0e74646a2e +F src/main.c 8704f23153fdcf3b748d8e7ca7e4ec7d7cd319be F src/malloc.c 6c3bcae8ee8885f1705f36306062f82a64d96118 F src/mem1.c 5a529ff121c55ab067be14de00f86f6dcc4f4fb9 F src/mem2.c f87e681d0d1ed8436870d089332ed0d27d885b5c @@ -616,7 +617,7 @@ F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8 F tool/memleak3.tcl 7707006ee908cffff210c98158788d85bb3fcdbf F tool/mkkeywordhash.c ef93810fc41fb3d3dbacf9a33a29be88ea99ffa9 F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x -F tool/mksqlite3c.tcl c4542127796826a26f89567c7bbaecafaf42a120 +F tool/mksqlite3c.tcl 370dca60b92731699887f92e0b1e69f8732a79eb F tool/mksqlite3internalh.tcl 7b43894e21bcb1bb39e11547ce7e38a063357e87 F tool/omittest.tcl 4be55add3ec87f45fe041b7bfa8f16dab8105431 F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c @@ -631,7 +632,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 55e677569ec131c388841f6f453291f737738076 -R 737efb409a0015e9a7163c40b2224334 +P 7c0f638ef3d7ff9156f07d6fb01448453ffcf5ac +R 4a1efcaea2f131dfd44298514b9ce3f7 U danielk1977 -Z 56b39276941be5e96c36dc21cdd5080a +Z 7597622eae79bdd1df2cc819cd2a8a3f diff --git a/manifest.uuid b/manifest.uuid index 9f03137009..efb60e4762 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7c0f638ef3d7ff9156f07d6fb01448453ffcf5ac \ No newline at end of file +79364b963b348d5433da737b4e21e97952882389 \ No newline at end of file diff --git a/src/main.c b/src/main.c index 9aded80b6b..749d14c9a3 100644 --- a/src/main.c +++ b/src/main.c @@ -14,7 +14,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: main.c,v 1.499 2008/09/03 00:43:15 drh Exp $ +** $Id: main.c,v 1.500 2008/09/08 08:08:09 danielk1977 Exp $ */ #include "sqliteInt.h" #include @@ -25,6 +25,9 @@ #ifdef SQLITE_ENABLE_RTREE # include "rtree.h" #endif +#ifdef SQLITE_ENABLE_ICU +# include "sqliteicu.h" +#endif /* ** The version of the library @@ -1588,7 +1591,6 @@ static int openDatabase( #ifdef SQLITE_ENABLE_ICU if( !db->mallocFailed && rc==SQLITE_OK ){ - extern int sqlite3IcuInit(sqlite3*); rc = sqlite3IcuInit(db); } #endif diff --git a/tool/mksqlite3c.tcl b/tool/mksqlite3c.tcl index e89e233fcf..9b4351297f 100644 --- a/tool/mksqlite3c.tcl +++ b/tool/mksqlite3c.tcl @@ -105,6 +105,7 @@ foreach hdr { rtree.h sqlite3ext.h sqlite3.h + sqliteicu.h sqliteInt.h sqliteLimit.h vdbe.h