tools: gnulib: fix broken install of .m4 files
authorChristian Marangi <[email protected]>
Thu, 4 Dec 2025 15:32:03 +0000 (16:32 +0100)
committerChristian Marangi <[email protected]>
Thu, 4 Dec 2025 15:35:40 +0000 (16:35 +0100)
Makefile foreach works only on parsing the Makefile and in this specific
case only works if the package is already extracted and file actually
exist.

On scenario where the package still has to be built, foreach doesn't
find any file causing Host/Install to not install any .m4 file.

To handle this, use a shell for loop that scan files in the
Host/install.

Fixes: c820f097e0be ("tools: gnulib: install .m4 file with gl_ prefix")
Signed-off-by: Christian Marangi <[email protected]>
tools/gnulib/Makefile

index 018ff5db14c2b63b4a715c5c55d1acccde027c62..0b28d73d134b5589b47e04791edb1ced84ca3ece 100644 (file)
@@ -20,8 +20,10 @@ endef
 define Host/Install
        $(call Host/Uninstall)
        $(INSTALL_DIR) $(1)/share/aclocal
-       $(foreach m4,$(notdir $(wildcard $(HOST_BUILD_DIR)/m4/*.m4)),
-               $(INSTALL_DATA) $(HOST_BUILD_DIR)/m4/$(m4) $(1)/share/aclocal/gl_$(m4))
+       for m4 in $(HOST_BUILD_DIR)/m4/*.m4; do \
+               $(INSTALL_DATA) $(HOST_BUILD_DIR)/m4/$$$$(basename $$$$m4) \
+                               $(1)/share/aclocal/gl_$$$$(basename $$$$m4); \
+       done
        $(CP) $(HOST_BUILD_DIR)/ $(1)/share/gnulib/
        ln -sf ../share/gnulib/gnulib-tool $(STAGING_DIR_HOST)/bin/gnulib-tool
 endef