From: John Keeping <john@metanate.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES
Date: Wed, 11 Mar 2020 11:22:55 +0000 [thread overview]
Message-ID: <20200311112256.2849174-1-john@metanate.com> (raw)
With autoconf packages, we often specify ac_cv_func_... cached values to
avoid runtime checks during configure. With meson the equivalent is
setting properties in cross-compilation.conf which we cannot do in
Buildroot at the moment.
For example, libglib2 used to set ac_cv_func_printf_unix98 and
ac_cv_func_vsnprintf_c99 so that the system printf could be used, but
with the conversion to meson these checks fail and the gnulib fallback
is used.
Add infrastructure in the same way as FOO_MESON_EXTRA_BINARIES to allow
per-package modification to the cross-compilation properties.
Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
---
v2:
- Reword documentation on the format of _MESON_EXTRA_PROPERTIES entries
- Add Peter's reviewed-by - thanks!
---
docs/manual/adding-packages-meson.txt | 9 +++++++++
package/pkg-meson.mk | 4 ++++
2 files changed, 13 insertions(+)
diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.txt
index e84bf7f60a..029c8c2488 100644
--- a/docs/manual/adding-packages-meson.txt
+++ b/docs/manual/adding-packages-meson.txt
@@ -116,6 +116,15 @@ will therefore only use a few of them.
single quotes. By default, empty. Note that Buildroot already sets the
correct values for +c+, +cpp+, +ar+, +strip+, and +pkgconfig+.
+* +FOO_MESON_EXTRA_PROPERTIES+, to specify a space-separated list of
+ properties to add to the `[properties]` section of the meson
+ `cross-compilation.conf` configuration file. The format is
+ `property-name=<value>` with no space around the +=+ sign, and with
+ single quotes around string values. By default, empty. Note that
+ Buildroot already sets values for +needs_exe_wrapper+, +c_args+,
+ +c_link_args+, +cpp_args+, +cpp_link_args+, +sys_root+, and
+ +pkg_config_libdir+.
+
* +FOO_NINJA_ENV+, to specify additional environment variables to pass to
+ninja+, meson companion tool in charge of the build operations. By default,
empty.
diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk
index 6ac3f79fe9..4df1326cad 100644
--- a/package/pkg-meson.mk
+++ b/package/pkg-meson.mk
@@ -80,6 +80,10 @@ define $(2)_CONFIGURE_CMDS
$$(foreach x,$$($(2)_MESON_EXTRA_BINARIES), \
s:$$$$:\n$$(x): ; \
) }" \
+ -e "/^\[properties\]$$$$/ { \
+ $$(foreach x,$$($(2)_MESON_EXTRA_PROPERTIES), \
+ s:$$$$:\n$$(x): ; \
+ ) }" \
package/meson/cross-compilation.conf.in \
> $$($$(PKG)_SRCDIR)/build/cross-compilation.conf
PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \
--
2.25.1
next reply other threads:[~2020-03-11 11:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-11 11:22 John Keeping [this message]
2020-03-11 11:22 ` [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf John Keeping
2020-04-21 20:51 ` Thomas Petazzoni
2020-05-08 7:15 ` Peter Korsgaard
2020-03-12 20:38 ` [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES Adam Duskett
2020-03-22 21:40 ` Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200311112256.2849174-1-john@metanate.com \
--to=john@metanate.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox