Makefile: use libsqlite3 build when possible

Dynamically link sqlite3 when installed, the main motivation is that we
reduce the podman binary size with that. I see about 2.5 MB savings.

But also dynamically linking it means if there a vulnerabilities only
the sqlite3 distro package needs updating and we don't have to make a
new podman release with the vendored update.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger 2025-06-10 15:52:11 +02:00
parent 5ff067cdcd
commit c6842d3425
No known key found for this signature in database
GPG Key ID: EB145DD938A3CAF2
2 changed files with 8 additions and 0 deletions

View File

@ -61,6 +61,7 @@ REMOTETAGS ?= remote exclude_graphdriver_btrfs containers_image_openpgp
BUILDTAGS ?= \
$(shell hack/apparmor_tag.sh) \
$(shell hack/btrfs_installed_tag.sh) \
$(shell hack/sqlite_tag.sh) \
$(shell hack/systemd_tag.sh) \
$(shell hack/libsubid_tag.sh) \
$(if $(filter linux,$(GOOS)), seccomp,)

7
hack/sqlite_tag.sh Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
${CPP:-${CC:-cc} -E} ${CPPFLAGS} - &> /dev/null << EOF
#include <sqlite3.h>
EOF
if test $? -eq 0 ; then
echo libsqlite3
fi