xtool/contrib/mORMot/SQLite3/amalgamation/ReadMe.md

1.9 KiB

SQLite3 Database Engine With Encryption

Reference Only - Do Not Use

This source code is included as reference.

You should not have to compile the SQLite3 c code by yourself.

We supply and validate the proper static .o .obj files within our https://github/synopse repository, or directly from https://synopse.info/files/sqlite3fpc.7z (for FPC) or https://synopse.info/files/sqlite3obj.7z (for Delphi).

How To Compile The SQlite3 Engine

  1. Copy here the latest amalgamation files from https://www.sqlite.org/download.html

  2. Run the patch-and-compile.sh script to patch main sqlite3.c and cross-compile it for FPC

  3. Run c*.bat to generate the sqlite3.o and sqlite3.obj for Delphi Win32/Win64

  4. Don't forget to tune the expected SQLite3 version text in SynSQLite3Static.pas

Cross-Compile

Scripts are supplied to cross-compile from Linux to other systems.

It will use either the cross-compiler as installed by fpcupdeluxe or you should manually add some packages.

Here are some instructions for Debian/Ubuntu.

Cross-Compile to Linux i386 from Linux x86_64

Install the following package:

sudo apt install libc6-dev:i386

granted the following has been run beforehand:

dpkg --add-architecture i386

You may also try the gcc-multilib package as alternative.

Cross-Compile To Win32 And Win64

Install the following package:

sudo apt install mingw-w64

Cross-Compile to Darwin / Linux ARM/AARCH64

Ensure you installed the latest version of the corresponding cross-compilers in fpcupdeluxe (in the Cross tab), and modify the *.sh path if necessary, from its default value:

CROSS=/home/ab/fpcup/cross/bin/$ARCH 

Acknowledgment

Our c wrapper is a cut-down, deeply adapted, version from https://github.com/utelle/SQLite3MultipleCiphers to use our SynCrypto unit and ensure compatibily with bcc32/bcc64 Embarcadero compilers.

Original MIT License - (c) 2006-2020 Ulrich Telle