package/pkg-meson.mk: fix multiple _MESON_EXTRA_BINARIES
authorJohn Keeping <john@metanate.com>
Tue, 10 Mar 2020 12:15:10 +0000 (12:15 +0000)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 11 Mar 2020 22:28:44 +0000 (23:28 +0100)
If multiple entries are specified for _MESON_EXTRA_BINARIES, the current
sed expression will only replace the first one.

Specifically, from GNU sed 4.8 the manual says:

    /regexp/
        Match  lines matching the regular expression regexp.  Matching
        is performed on the current pattern space, which can be modified
        with commands such as ``s///''.

so after the first binary has been added, the next entry no longer
matches since the pattern space has been modifed.

Instead of adding a script for each value, apply the match once and add
a subsitution for all entries at once.

Signed-off-by: John Keeping <john@metanate.com>
Tested-by: Peter Seiderer <ps.report@gmx.net>
[yann.morin.1998@free.fr: do a single substitution]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/pkg-meson.mk

index a0b467caba2b085fc3caf8be2358e87ab4f08e97..835098b85cc009abdf265575591310350c26071e 100644 (file)
@@ -76,9 +76,7 @@ define $(2)_CONFIGURE_CMDS
            -e 's%@TARGET_CXXFLAGS@%$$(call make-comma-list,$$($(2)_CXXFLAGS))%g' \
            -e 's%@HOST_DIR@%$$(HOST_DIR)%g' \
            -e 's%@STAGING_DIR@%$$(STAGING_DIR)%g' \
-           $$(foreach x,$$($(2)_MESON_EXTRA_BINARIES), \
-               -e "/^\[binaries\]$$$$/s:$$$$:\n$$(x):" \
-           ) \
+           -e "/^\[binaries\]$$$$/s:$$$$:$$(foreach x,$$($(2)_MESON_EXTRA_BINARIES),\n$$(x)):" \
            package/meson/cross-compilation.conf.in \
            > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf
        PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \