Re: Include SQLite3 source upon buildworld

From: Archimedes Gaviola <archimedes.gaviola_at_gmail.com>
Date: Wed, 16 Nov 2022 02:06:41 UTC
On Wed, Nov 16, 2022 at 1:48 AM Xin LI <delphij@gmail.com> wrote:

>
>
> On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola <
> archimedes.gaviola@gmail.com> wrote:
>
>> Hi,
>>
>> There's an SQLite3 source located in the /usr/src/contrib/sqlite3. Is
>> there a way to include this upon buildworld so that I can run the binary
>> after compiling?
>>
>
Hi Xin Li,


> Yes and no.
>
> Yes -- you can always compile shell.c source and link against the library;
> the code is there, just the BSD make build glues are missing.
>

Okay, nice! I'm so glad that it can be done. My goal is to make SQLite3 be
part of the base system in a customized FreeBSD build to make it embedded.
I am checking the version and it's updated 3.93.3 as I'm using the
14.0-CURRENT. I need to figure-out this BSD make and glues you've mentioned
to make this happen.

No -- the omission is intentional: the library is meant to be used by the
> base system as a "private library", which gives us the flexibility to not
> give a stable API/ABI promise and to only build with options that the base
> system needed (to reduce attack surface), so that when we make an update,
> it will be a "wholesale" update and user applications are not broken, even
> if sqlite3 update have introduced one.  Users who want sqlite3 should
> really install it from ports (databases/sqlite3) or package.
>

Oh I see, now I know its purpose. Currently, I have my system installed
with SQLite3 via package install 'pkg install sqlite3' and it works very
well but because this time I want something embeddable. It so happened that
I was checking the source and surprisingly found sqlite3. Anyway, let me
explore and try.

Thanks and best regards,
Archimedes