mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Try not to build fallback packages unless necessary.
This commit is contained in:
@@ -16,9 +16,6 @@ HOST_PACKAGES := $(shell $(HOST_PKG_CONFIG) --list-all | cut -d' ' -f1 | sort)
|
|||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
def package(self, name, package=None, fallback: Target = None):
|
def package(self, name, package=None, fallback: Target = None):
|
||||||
self.ins = []
|
|
||||||
self.outs = []
|
|
||||||
|
|
||||||
emit("ifeq ($(filter %s, $(PACKAGES)),)" % package)
|
emit("ifeq ($(filter %s, $(PACKAGES)),)" % package)
|
||||||
if fallback:
|
if fallback:
|
||||||
emit(
|
emit(
|
||||||
@@ -29,7 +26,7 @@ def package(self, name, package=None, fallback: Target = None):
|
|||||||
f"PACKAGE_LDFLAGS_{package} := ",
|
f"PACKAGE_LDFLAGS_{package} := ",
|
||||||
bubbledattrsof(fallback, "caller_ldflags"),
|
bubbledattrsof(fallback, "caller_ldflags"),
|
||||||
)
|
)
|
||||||
self.outs = filenamesof(fallback)
|
emit(f"PACKAGE_DEPS_{package} := ", filenamesof(fallback))
|
||||||
else:
|
else:
|
||||||
emit(f"$(error Required package '{package}' not installed.)")
|
emit(f"$(error Required package '{package}' not installed.)")
|
||||||
emit("else")
|
emit("else")
|
||||||
@@ -39,6 +36,7 @@ def package(self, name, package=None, fallback: Target = None):
|
|||||||
emit(
|
emit(
|
||||||
f"PACKAGE_LDFLAGS_{package} := $(shell $(PKG_CONFIG) --libs {package})"
|
f"PACKAGE_LDFLAGS_{package} := $(shell $(PKG_CONFIG) --libs {package})"
|
||||||
)
|
)
|
||||||
|
emit(f"PACKAGE_DEPS_{package} :=")
|
||||||
emit("endif")
|
emit("endif")
|
||||||
|
|
||||||
self.attr.caller_cflags = [f"$(PACKAGE_CFLAGS_{package})"]
|
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("clibrary")
|
||||||
self.traits.add("cheaders")
|
self.traits.add("cheaders")
|
||||||
|
|
||||||
|
self.ins = []
|
||||||
|
self.outs = [f"$(PACKAGE_DEPS_{package})"]
|
||||||
|
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
def hostpackage(self, name, package=None, fallback: Target = None):
|
def hostpackage(self, name, package=None, fallback: Target = None):
|
||||||
|
|||||||
Reference in New Issue
Block a user