Try not to build fallback packages unless necessary.

This commit is contained in:
David Given
2024-03-31 21:30:26 +02:00
parent cdf9cc387c
commit 621523db62

View File

@@ -16,9 +16,6 @@ HOST_PACKAGES := $(shell $(HOST_PKG_CONFIG) --list-all | cut -d' ' -f1 | sort)
@Rule
def package(self, name, package=None, fallback: Target = None):
self.ins = []
self.outs = []
emit("ifeq ($(filter %s, $(PACKAGES)),)" % package)
if fallback:
emit(
@@ -29,7 +26,7 @@ def package(self, name, package=None, fallback: Target = None):
f"PACKAGE_LDFLAGS_{package} := ",
bubbledattrsof(fallback, "caller_ldflags"),
)
self.outs = filenamesof(fallback)
emit(f"PACKAGE_DEPS_{package} := ", filenamesof(fallback))
else:
emit(f"$(error Required package '{package}' not installed.)")
emit("else")
@@ -39,6 +36,7 @@ def package(self, name, package=None, fallback: Target = None):
emit(
f"PACKAGE_LDFLAGS_{package} := $(shell $(PKG_CONFIG) --libs {package})"
)
emit(f"PACKAGE_DEPS_{package} :=")
emit("endif")
self.attr.caller_cflags = [f"$(PACKAGE_CFLAGS_{package})"]
@@ -46,6 +44,9 @@ def package(self, name, package=None, fallback: Target = None):
self.traits.add("clibrary")
self.traits.add("cheaders")
self.ins = []
self.outs = [f"$(PACKAGE_DEPS_{package})"]
@Rule
def hostpackage(self, name, package=None, fallback: Target = None):