From a50b2d910bc6d39a3928fc6813788cce9004f7b7 Mon Sep 17 00:00:00 2001 From: Paul Holzinger Date: Tue, 10 Jun 2025 18:27:11 +0200 Subject: [PATCH] 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 3.3 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 --- Makefile | 3 ++- hack/sqlite_tag.sh | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100755 hack/sqlite_tag.sh diff --git a/Makefile b/Makefile index bfa1f002..459723bc 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,8 @@ MANPAGES ?= $(MANPAGES_MD:%.md=%) BTRFS_BUILD_TAG = $(shell hack/btrfs_installed_tag.sh) LIBSUBID_BUILD_TAG = $(shell hack/libsubid_tag.sh) -LOCAL_BUILD_TAGS = $(BTRFS_BUILD_TAG) $(LIBSUBID_BUILD_TAG) +SQLITE_BUILD_TAG = $(shell hack/sqlite_tag.sh) +LOCAL_BUILD_TAGS = $(BTRFS_BUILD_TAG) $(LIBSUBID_BUILD_TAG) $(SQLITE_BUILD_TAG) BUILDTAGS += $(LOCAL_BUILD_TAGS) ifeq ($(DISABLE_CGO), 1) diff --git a/hack/sqlite_tag.sh b/hack/sqlite_tag.sh new file mode 100755 index 00000000..0248355c --- /dev/null +++ b/hack/sqlite_tag.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +${CPP:-${CC:-cc} -E} ${CPPFLAGS} - &> /dev/null << EOF +#include +EOF +if test $? -eq 0 ; then + echo libsqlite3 +fi