From fdb5a8b3d437537aee53380091dabe6258667a49 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 4 Jan 2019 00:13:56 +0000 Subject: meson: use a sensible default for libdir when cross-compiling If --libdir isn't passed to Meson a default is used, but as this default value changes depending on the host (whether it is Debian-like, or has /usr/lib64) this isn't appropriate for cross builds. Signed-off-by: Ross Burton --- meta/recipes-devtools/meson/meson.inc | 1 + .../meson/meson/cross-libdir.patch | 41 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 meta/recipes-devtools/meson/meson/cross-libdir.patch diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc index ef8c5aefa5..d37afc3b0d 100644 --- a/meta/recipes-devtools/meson/meson.inc +++ b/meta/recipes-devtools/meson/meson.inc @@ -11,6 +11,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://0003-native_bindir.patch \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ file://disable-rpath-handling.patch \ + file://cross-libdir.patch \ " SRC_URI[sha256sum] = "fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551" SRC_URI[md5sum] = "3c35b91e8040901034809576d54007c6" diff --git a/meta/recipes-devtools/meson/meson/cross-libdir.patch b/meta/recipes-devtools/meson/meson/cross-libdir.patch new file mode 100644 index 0000000000..2bd4fb3f9e --- /dev/null +++ b/meta/recipes-devtools/meson/meson/cross-libdir.patch @@ -0,0 +1,41 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From ce24f0d6a9be22ba61d80cd254e0409de2eaffd7 Mon Sep 17 00:00:00 2001 +From: Jussi Pakkanen +Date: Thu, 27 Dec 2018 23:43:35 +0200 +Subject: [PATCH] Default libdir is "lib" when cross compiling. Closes #2535. + +--- + docs/markdown/snippets/crosslib.md | 7 +++++++ + mesonbuild/coredata.py | 8 ++++++++ + run_unittests.py | 13 +++++++++++++ + 3 files changed, 28 insertions(+) + create mode 100644 docs/markdown/snippets/crosslib.md + +diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py +index d70c23038c..4e2f3e008c 100644 +--- a/mesonbuild/coredata.py ++++ b/mesonbuild/coredata.py +@@ -299,6 +299,7 @@ def __init__(self, options): + # Only to print a warning if it changes between Meson invocations. + self.pkgconf_envvar = os.environ.get('PKG_CONFIG_PATH', '') + self.config_files = self.__load_config_files(options.native_file) ++ self.libdir_cross_fixup() + + @staticmethod + def __load_config_files(filenames): +@@ -348,6 +349,13 @@ def __load_cross_file(filename): + + raise MesonException('Cannot find specified cross file: ' + filename) + ++ def libdir_cross_fixup(self): ++ # By default set libdir to "lib" when cross compiling since ++ # getting the "system default" is always wrong on multiarch ++ # platforms as it gets a value like lib/x86_64-linux-gnu. ++ if self.cross_file is not None: ++ self.builtins['libdir'].value = 'lib' ++ + def sanitize_prefix(self, prefix): + if not os.path.isabs(prefix): + raise MesonException('prefix value {!r} must be an absolute path' -- cgit 1.2.3-korg