[Concept,05/13] examples: ulib: Build shared-linked binaries only when .so is available

Message ID 20260214021317.816170-6-sjg@u-boot.org
State New
Headers
Series ulib: Support building examples for x86 |

Commit Message

Simon Glass Feb. 14, 2026, 2:12 a.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

The shared-linked example binaries (demo, boot) are only useful when
libu-boot.so exists. Use $(wildcard) to conditionally include them,
so standalone builds also adapt correctly.

Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---

 examples/ulib/rules.mk | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
  

Patch

diff --git a/examples/ulib/rules.mk b/examples/ulib/rules.mk
index c4b0bdb3668..bc677488649 100644
--- a/examples/ulib/rules.mk
+++ b/examples/ulib/rules.mk
@@ -5,9 +5,12 @@ 
 # Copyright 2025 Canonical Ltd.
 # Written by Simon Glass <simon.glass@canonical.com>
 
-# Generate normal and statically linked binary names from progs variable
-all_bins := $(foreach prog,$(progs),$(OUTDIR)/$(prog) \
-	$(OUTDIR)/$(prog)_static)
+# Generate binary names from progs variable
+# Shared-linked versions are only built when libu-boot.so is available
+static_bins := $(foreach prog,$(progs),$(OUTDIR)/$(prog)_static)
+shared_bins := $(if $(wildcard $(UBOOT_BUILD)/libu-boot.so),\
+	$(foreach prog,$(progs),$(OUTDIR)/$(prog)))
+all_bins := $(shared_bins) $(static_bins)
 
 # Default target builds both programs
 all: $(all_bins)