* [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES
@ 2020-03-11 11:22 John Keeping
2020-03-11 11:22 ` [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf John Keeping
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: John Keeping @ 2020-03-11 11:22 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf
2020-03-11 11:22 [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES John Keeping
@ 2020-03-11 11:22 ` John Keeping
2020-04-21 20:51 ` Thomas Petazzoni
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
2 siblings, 1 reply; 6+ messages in thread
From: John Keeping @ 2020-03-11 11:22 UTC (permalink / raw)
To: buildroot
Prior to commit 4102db0f7a ("package/libglib2: bump to version 2.60.3")
which converted libglib2 to meson, Buildroot used to set a range of
autoconf options to bypass tests that require running binaries.
The meson version of libglib2's build system has many fewer of these
checks, but there are still some and these can be fed the "correct"
answer by adding properties to cross-compilation.conf.
Add the necessary properties to indicate that we have C99 compliant
print functions to avoid pulling in the gnulib fallback.
Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
---
v2:
- Add Peter's reviewed-by - thanks!
---
package/libglib2/libglib2.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index f00818f69c..a206639f74 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -52,6 +52,11 @@ LIBGLIB2_CONF_OPTS = \
-Dinstalled_tests=false \
-Doss_fuzz=disabled
+LIBGLIB2_MESON_EXTRA_PROPERTIES = \
+ have_c99_vsnprintf=true \
+ have_c99_snprintf=true \
+ have_unix98_printf=true
+
ifneq ($(BR2_ENABLE_LOCALE),y)
LIBGLIB2_DEPENDENCIES += libiconv
endif
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES
2020-03-11 11:22 [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES John Keeping
2020-03-11 11:22 ` [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf John Keeping
@ 2020-03-12 20:38 ` Adam Duskett
2020-03-22 21:40 ` Yann E. MORIN
2 siblings, 0 replies; 6+ messages in thread
From: Adam Duskett @ 2020-03-12 20:38 UTC (permalink / raw)
To: buildroot
All;
reviewed-by: Adam Duskett <aduskett@gmail.com>
On Wed, Mar 11, 2020 at 4:23 AM John Keeping <john@metanate.com> wrote:
>
> 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
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES
2020-03-11 11:22 [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES John Keeping
2020-03-11 11:22 ` [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf John Keeping
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
2 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2020-03-22 21:40 UTC (permalink / raw)
To: buildroot
John, All,
On 2020-03-11 11:22 +0000, John Keeping spake thusly:
> 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>
Applied to master, after I changed the code to do a single substitution
as in a1e3c7b693. Thanks!
Regards,
Yann E. MORIN.
> ---
> 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
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf
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
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2020-04-21 20:51 UTC (permalink / raw)
To: buildroot
On Wed, 11 Mar 2020 11:22:56 +0000
John Keeping <john@metanate.com> wrote:
> Prior to commit 4102db0f7a ("package/libglib2: bump to version 2.60.3")
> which converted libglib2 to meson, Buildroot used to set a range of
> autoconf options to bypass tests that require running binaries.
>
> The meson version of libglib2's build system has many fewer of these
> checks, but there are still some and these can be fed the "correct"
> answer by adding properties to cross-compilation.conf.
>
> Add the necessary properties to indicate that we have C99 compliant
> print functions to avoid pulling in the gnulib fallback.
>
> Signed-off-by: John Keeping <john@metanate.com>
> Reviewed-by: Peter Seiderer <ps.report@gmx.net>
> ---
> v2:
> - Add Peter's reviewed-by - thanks!
> ---
> package/libglib2/libglib2.mk | 5 +++++
> 1 file changed, 5 insertions(+)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] package/libglib2: restore use of system printf
2020-04-21 20:51 ` Thomas Petazzoni
@ 2020-05-08 7:15 ` Peter Korsgaard
0 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2020-05-08 7:15 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:
> On Wed, 11 Mar 2020 11:22:56 +0000
> John Keeping <john@metanate.com> wrote:
>> Prior to commit 4102db0f7a ("package/libglib2: bump to version 2.60.3")
>> which converted libglib2 to meson, Buildroot used to set a range of
>> autoconf options to bypass tests that require running binaries.
>>
>> The meson version of libglib2's build system has many fewer of these
>> checks, but there are still some and these can be fed the "correct"
>> answer by adding properties to cross-compilation.conf.
>>
>> Add the necessary properties to indicate that we have C99 compliant
>> print functions to avoid pulling in the gnulib fallback.
>>
>> Signed-off-by: John Keeping <john@metanate.com>
>> Reviewed-by: Peter Seiderer <ps.report@gmx.net>
>> ---
>> v2:
>> - Add Peter's reviewed-by - thanks!
>> ---
>> package/libglib2/libglib2.mk | 5 +++++
>> 1 file changed, 5 insertions(+)
> Applied to master, thanks.
Committed to 2020.02.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-05-08 7:15 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-11 11:22 [Buildroot] [PATCH v2 1/2] package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES John Keeping
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox