]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Get clean builds for MS tools. Add build examples for extension glommer (basexx.c)
authorlarrybr <larrybr@noemail.net>
Mon, 21 Nov 2022 02:18:12 +0000 (02:18 +0000)
committerlarrybr <larrybr@noemail.net>
Mon, 21 Nov 2022 02:18:12 +0000 (02:18 +0000)
Make sure extensions build for dynamic load and built into shell.

FossilOrigin-Name: da940d507e9e31a84daedede44a56f743198d7258a9e83892511fe8dd4c78d2b

ext/misc/base64.c
ext/misc/basexx.c
manifest
manifest.uuid

index d6f7834a850907a1a94e308eab820596b70ed163..1ab0dc4ead23efdd7e474d6a2a1d2a82596d448d 100644 (file)
@@ -84,7 +84,7 @@ static const ubyte b64DigitValues[128] = {
     41,42,43,44, 45,46,47,48, 49,50,51,ND, ND,ND,ND,ND
 };
 
-static const char b64Numerals[64]
+static const char b64Numerals[64+1]
 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
 #define BX_DV_PROTO(c) ((((ubyte)(c))<0x80)? b64DigitValues[c] : 0x80)
index 700a99409c3fe366369f568531e4b6200f8afb2b..a113134c854914ca5133bcbc77c65b72a8a22228 100644 (file)
 **
 ** Presently, it combines the base64.c and base85.c extensions. However,
 ** it can be used as a template for other combinations.
+**
+** Example usages:
+**
+**  - Build a runtime-loadable extension from SQLite checkout directory:
+** *Nix, OSX: gcc -O2 -shared -I. -fPIC -o basexx.so ext/misc/basexx.c
+** Win32: cl /Os -I. ext/misc/basexx.c -link -dll -out:basexx.dll
+**
+**  - Incorporate as built-in in sqlite3 shell:
+** *Nix, OSX with gcc on a like platform:
+**  export mop1=-DSQLITE_SHELL_EXTSRC=ext/misc/basexx.c
+**  export mop2=-DSQLITE_SHELL_EXTFUNCS=BASEXX
+**  make sqlite3 "OPTS=$mop1 $mop2"
+** Win32 with Microsoft toolset on Windows: 
+**  set mop1=-DSQLITE_SHELL_EXTSRC=ext/misc/basexx.c
+**  set mop2=-DSQLITE_SHELL_EXTFUNCS=BASEXX
+**  set mops="OPTS=%mop1% %mop2%"
+**  nmake -f Makefile.msc sqlite3.exe %mops%
 */
 
 #ifndef SQLITE_SHELL_EXTFUNCS /* Guard for #include as built-in extension. */
@@ -44,7 +61,10 @@ static void init_api_ptr(const sqlite3_api_routines *pApi){
 #define sqlite3_base_init sqlite3_base85_init
 #include "base85.c"
 
-static int sqlite3_basexx_init(sqlite3 *db, char **pzErr,
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_basexx_init(sqlite3 *db, char **pzErr,
                                const sqlite3_api_routines *pApi){
   init_api_ptr(pApi);
   int rc1 = BASE64_INIT(db);
index f02b4834b7cd3cd6e25851b36bbff91e1dcffa3c..6d28b2a3407c9bc5a9f02c5d9a60d328ea326862 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sbase64\sdecode\sbug.\sProvide\sfor\sconvenient\sinclusion\sof\sextension(s)\sbuilt\sinto\sthe\sCLI,\sto\ssimplify\stesting\sand\sfor\sits\sown\ssake.\sImprove\scomments.\sCure\scollision\sbetween\sbase64.c\sand\sbase85.c\swhen\sboth\sare\sin\sthe\ssame\stranslation\sunit.
-D 2022-11-21T00:11:09.323
+C Get\sclean\sbuilds\sfor\sMS\stools.\sAdd\sbuild\sexamples\sfor\sextension\sglommer\s(basexx.c)\nMake\ssure\sextensions\sbuild\sfor\sdynamic\sload\sand\sbuilt\sinto\sshell.
+D 2022-11-21T02:18:12.614
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -289,9 +289,9 @@ F ext/misc/README.md d6dd0fe1d8af77040216798a6a2b0c46c73054d2f0ea544fbbcdccf6f23
 F ext/misc/amatch.c e3ad5532799cee9a97647f483f67f43b38796b84b5a8c60594fe782a4338f358
 F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
 F ext/misc/appendvfs.c 9642c7a194a2a25dca7ad3e36af24a0a46d7702168c4ad7e59c9f9b0e16a3824
-F ext/misc/base64.c 05da915d991f24e59515d0566f9a206c338032410d42472a3d9348da8bc166f9
+F ext/misc/base64.c e611e8ce552b16251c1691191d95912f9e03400637311dbd458062d2d0b95e2a
 F ext/misc/base85.c 2c680ca7733f9a86f5d292fec71d10777290e68e7ae59d90597ae75fc44a88b6
-F ext/misc/basexx.c d32037f1414d9da11e0be334395cd4d82438b756933c99fc4075b6346cd11fd2
+F ext/misc/basexx.c 678dcc83894f78c26fd3662b322886777cc26bf2b40809236cd2abdad532a33c
 F ext/misc/blobio.c a867c4c4617f6ec223a307ebfe0eabb45e0992f74dd47722b96f3e631c0edb2a
 F ext/misc/btreeinfo.c d28ce349b40054eaa9473e835837bad7a71deec33ba13e39f963d50933bfa0f9
 F ext/misc/carray.c b752f46411e4e47e34dce6f0c88bc8e51bb821ba9e49bfcd882506451c928f69
@@ -2058,8 +2058,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 5cc1fe1ddc2a33c59d3c006057e474c7c7975c483395ddea530df6968fe15341
-R 0260a27c5340f9b412a0f6e0981a0d6d
+P 07543d23a98c2a851393a2674e59d3cf1df37c244fb451cb7436f49c95c1423f
+R 1b52ba3002b9af5fda34f27079570bff
 U larrybr
-Z 18487c3a1bcdc27a89418b38ad3e3f97
+Z 7a2c313c3d99c0b1eaaafc6ea380893a
 # Remove this line to create a well-formed Fossil manifest.
index 41284b2a7cbb53fb692da2eac89caeea9a5e6b6b..81f47459488a776a74831e35e3da7408bb266798 100644 (file)
@@ -1 +1 @@
-07543d23a98c2a851393a2674e59d3cf1df37c244fb451cb7436f49c95c1423f
\ No newline at end of file
+da940d507e9e31a84daedede44a56f743198d7258a9e83892511fe8dd4c78d2b
\ No newline at end of file