[Buildroot] [PATCH 1/1] package/pkg-meson.mk: set correct pkgconfig for native dependencies
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Tue Apr 28 05:22:02 UTC 2020
Hello Arnout,
Could you have a look at the patch below? My understanding is that your
commit 4e0bc29993376613d200e892d491e31ea5a49622 should have made this
unnecessary. Could you comment ?
Thanks,
Thomas
On Mon, 27 Apr 2020 22:06:38 -0600
James Hilliard <james.hilliard1 at gmail.com> wrote:
> This sets the correct build.pkg_config_path for all meson packages so
> that dependencies with native: true will properly use the the host
> pkgconfig instead of the target pkgconfig.
>
> With this change we can now remove package specific workarounds.
>
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> ---
> ...d-scanner-provided-by-wayland-scanne.patch | 52 -------------------
> package/mesa3d/mesa3d.mk | 1 -
> package/pkg-meson.mk | 1 +
> package/weston/weston.mk | 1 -
> ...onfig-to-find-wayland-scanner-when-c.patch | 45 ----------------
> 5 files changed, 1 insertion(+), 99 deletions(-)
> delete mode 100644 package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
> delete mode 100644 package/wlroots/0001-Do-not-use-pkg-config-to-find-wayland-scanner-when-c.patch
>
> diff --git a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
> deleted file mode 100644
> index 784b27c4a2..0000000000
> --- a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -From 0e107f7bac8d84d8fb2bb5b83bfb4474348a82c1 Mon Sep 17 00:00:00 2001
> -From: Romain Naour <romain.naour at smile.fr>
> -Date: Wed, 17 Apr 2019 22:47:05 +0200
> -Subject: [PATCH] meson: use wayland-scanner provided by wayland-scanner-path
> -
> -When cross-compiling the .pc file might point to the wrong
> -wayland-scanner binary (target rather than host) resulting in a
> -non-executable and wrong scanner.
> -First try by using the path provided by wayland-scanner-path,
> -and if that fails fall back into pkg-config.
> -
> -Based on the patch for autotools provided by Gustavo Zacarias.
> -
> -Signed-off-by: Romain Naour <romain.naour at smile.fr>
> ----
> - meson.build | 5 ++++-
> - meson_options.txt | 6 ++++++
> - 2 files changed, 10 insertions(+), 1 deletion(-)
> -
> -diff --git a/meson.build b/meson.build
> -index 6c4f1508855..ef0532b2cfb 100644
> ---- a/meson.build
> -+++ b/meson.build
> -@@ -1319,7 +1319,10 @@ endif
> -
> - if with_platform_wayland
> - dep_wl_scanner = dependency('wayland-scanner', native: true)
> -- prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
> -+ prog_wl_scanner = get_option('wayland-scanner-path')
> -+ if prog_wl_scanner == ''
> -+ prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
> -+ endif
> - if dep_wl_scanner.version().version_compare('>= 1.15')
> - wl_scanner_arg = 'private-code'
> - else
> -diff --git a/meson_options.txt b/meson_options.txt
> -index ccf70659ff7..59ff8df8337 100644
> ---- a/meson_options.txt
> -+++ b/meson_options.txt
> -@@ -324,3 +324,9 @@ option(
> - value : true,
> - description : 'Enable direct rendering in GLX and EGL for DRI',
> - )
> -+option(
> -+ 'wayland-scanner-path',
> -+ type : 'string',
> -+ value : '',
> -+ description : 'Locations to wayland-scanner binary. Default: use path from pkg-config'
> -+)
> ---
> -2.20.1
> -
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 22eff24c56..e06cfc4023 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -193,7 +193,6 @@ endif
> ifeq ($(BR2_PACKAGE_WAYLAND),y)
> MESA3D_DEPENDENCIES += wayland wayland-protocols
> MESA3D_PLATFORMS += wayland
> -MESA3D_CONF_OPTS += -Dwayland-scanner-path=$(HOST_DIR)/bin/wayland-scanner
> endif
> ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_X11),y)
> MESA3D_DEPENDENCIES += \
> diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk
> index 2ba10f30ed..0a4ab2194c 100644
> --- a/package/pkg-meson.mk
> +++ b/package/pkg-meson.mk
> @@ -87,6 +87,7 @@ define $(2)_CONFIGURE_CMDS
> --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \
> --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \
> --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \
> + -Dbuild.pkg_config_path=$$(HOST_DIR)/lib/pkgconfig \
> $$($$(PKG)_CONF_OPTS) \
> $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build
> endef
> diff --git a/package/weston/weston.mk b/package/weston/weston.mk
> index b22e685948..541c6ba024 100644
> --- a/package/weston/weston.mk
> +++ b/package/weston/weston.mk
> @@ -14,7 +14,6 @@ WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
> libxkbcommon pixman libpng jpeg udev cairo libinput libdrm
>
> WESTON_CONF_OPTS = \
> - -Dbuild.pkg_config_path=$(HOST_DIR)/lib/pkgconfig \
> -Dbackend-headless=false \
> -Dcolor-management-colord=false \
> -Dremoting=false
> diff --git a/package/wlroots/0001-Do-not-use-pkg-config-to-find-wayland-scanner-when-c.patch b/package/wlroots/0001-Do-not-use-pkg-config-to-find-wayland-scanner-when-c.patch
> deleted file mode 100644
> index 898506a0dc..0000000000
> --- a/package/wlroots/0001-Do-not-use-pkg-config-to-find-wayland-scanner-when-c.patch
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -From 72138a67c8e6b0154aadc1b5fcb3d661033fbcd3 Mon Sep 17 00:00:00 2001
> -From: Adrian Perez de Castro <aperez at igalia.com>
> -Date: Thu, 13 Jun 2019 02:13:47 +0300
> -Subject: [PATCH] Do not use pkg-config to find wayland-scanner when cross
> - building
> -
> -When cross-compiling it is still needed to run a native wayland-scanner,
> -but many tools for the task will still have pkg-config return the
> -location of wayland-scanner for the target in some location which may
> -be the same as for some native installation of wayland-scanner; but
> -which is not the copy of the program that the compilation system wants
> -packages to use (which are typically in a "host tools" directory
> -elsewhere).
> -
> -This disables usage of pkg-config to find wayland-scanner when
> -cross-compiling because most tools for the job will set $PATH in a way
> -that the correct installation of the tool will be found first.
> -
> -Signed-off-by: Adrian Perez de Castro <aperez at igalia.com>
> -[Upstream status: https://github.com/swaywm/wlroots/pull/1722]
> -
> ----
> - protocol/meson.build | 7 ++++++-
> - 1 file changed, 6 insertions(+), 1 deletion(-)
> -
> -diff --git a/protocol/meson.build b/protocol/meson.build
> -index 7cc10320..73c06b24 100644
> ---- a/protocol/meson.build
> -+++ b/protocol/meson.build
> -@@ -1,6 +1,11 @@
> - wl_protocol_dir = wayland_protos.get_pkgconfig_variable('pkgdatadir')
> -
> --wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)
> -+if meson.is_cross_build()
> -+ wayland_scanner_dep = disabler()
> -+else
> -+ wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)
> -+endif
> -+
> - if wayland_scanner_dep.found()
> - wayland_scanner = find_program(
> - wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'),
> ---
> -2.22.0
> -
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list