Re: Include SQLite3 source upon buildworld
Archimedes Gaviola <[email protected]> Wed, 16 Nov 2022 10:06:41 +0800
| Newsgroups | gmane.os.freebsd.devel.database |
|---|---|
| Message-ID | <CAJFbk7FSXshHziwTMkiMWsNE-SG2YUmFpXvOxJ6pd7f_xvDOOw@mail.gmail.com> |
--000000000000e1c76f05ed8cee9e Content-Type: text/plain; charset="UTF-8" On Wed, Nov 16, 2022 at 1:48 AM Xin LI <[email protected]> wrote: > > > On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola < > [email protected]> 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 --000000000000e1c76f05ed8cee9e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 16, 2022 at 1:48 AM Xin L= I <<a href=3D"mailto:[email protected]">[email protected]</a>> wrote:= <br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8= ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr= "><div dir=3D"ltr"><div style=3D"font-family:monospace,monospace"><br></div= ></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"= >On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola <<a href=3D"mailto:a= [email protected]" target=3D"_blank">[email protected]= </a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:= 0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">= <div dir=3D"ltr"><div>Hi,</div><div><br></div><div>There's an SQLite3 s= ource located in the=20 /usr/src/contrib/sqlite3. Is there a way to include this upon buildworld so= that I can run the binary after compiling?</div></div></blockquote></div><= /div></blockquote><div><br></div><div>Hi Xin Li,</div><div></div><div>=C2= =A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px = 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"= ltr"><div class=3D"gmail_quote"><div style=3D"font-family:monospace,monospa= ce">Yes and no.</div><div style=3D"font-family:monospace,monospace"><br></d= iv><div style=3D"font-family:monospace,monospace">Yes -- you can always com= pile shell.c source and link against the library; the code is there, just t= he BSD make build glues are missing.</div></div></div></blockquote><div><br= ></div><div>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 ma= ke it embedded. I am checking the version and it's updated 3.93.3 as I&= #39;m using the 14.0-CURRENT. I need to figure-out this BSD make and glues = you've mentioned to make this happen.<br></div><div><br></div><blockquo= te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px = solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gma= il_quote"><div style=3D"font-family:monospace,monospace">No -- the omission= is intentional: the library is meant to be used by the base system as a &q= uot;private library", which gives us the flexibility to not give a sta= ble API/ABI promise and to only build with options that the base system nee= ded (to reduce attack surface), so that when we make an update, it will be = a "wholesale" update and user applications are not broken, even i= f sqlite3 update have introduced one.=C2=A0 Users who want sqlite3 should r= eally install it from ports (databases/sqlite3) or package.</div></div></di= v></blockquote><div><br></div><div>Oh I see, now I know its purpose. Curren= tly, I have my system installed with SQLite3 via package install 'pkg i= nstall sqlite3' and it works very well but because this time I want som= ething embeddable. It so happened that I was checking the source and surpri= singly found sqlite3. Anyway, let me explore and try.</div><div><br></div><= div>Thanks and best regards,</div><div>Archimedes=C2=A0 <br></div></div></d= iv> --000000000000e1c76f05ed8cee9e--