package/pkg-meson.mk: fix multiple _MESON_EXTRA_BINARIES

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>
This commit is contained in:
John Keeping 2020-03-10 12:15:10 +00:00 committed by Yann E. MORIN
parent a4fb0177a0
commit a1e3c7b693

View 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) \