libdrm: cross-compile fix

This commit is contained in:
Jörg Thalheim 2019-08-02 11:16:32 +01:00
parent 4ca8e53e1d
commit 396e3a6b3c
No known key found for this signature in database
GPG Key ID: B3F5D81B0C6967C4
2 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,48 @@
From 9e05fece7918edce9c6aa5a1f1ea375108e5b2be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Fri, 2 Aug 2019 10:26:37 +0100
Subject: [PATCH] meson: support for custom nm path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When cross-compiling target toolchains i.e. binutils are often
prefixed by its target architecture. This patch gives the user
to option to specify the nm used during the build process.
Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
---
meson.build | 2 +-
meson_options.txt | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index e292554a..64607139 100644
--- a/meson.build
+++ b/meson.build
@@ -327,7 +327,7 @@ pkg.generate(
)
env_test = environment()
-env_test.set('NM', find_program('nm').path())
+env_test.set('NM', find_program(get_option('nm-path')).path())
if with_libkms
subdir('libkms')
diff --git a/meson_options.txt b/meson_options.txt
index 8af33f1c..b4f46a52 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -141,3 +141,9 @@ option(
value : false,
description : 'Enable support for using udev instead of mknod.',
)
+option(
+ 'nm-path',
+ type : 'string',
+ description : 'path to nm',
+ value : 'nm'
+)
--
2.22.0

View File

@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig meson ninja ];
buildInputs = [ libpthreadstubs libpciaccess valgrind-light ];
patches = [ ./cross-build-nm-path.patch ];
postPatch = ''
for a in */*-symbol-check ; do
patchShebangs $a
@ -21,7 +23,9 @@ stdenv.mkDerivation rec {
'';
mesonFlags =
[ "-Dinstall-test-programs=true" ]
[
"-Dnm-path=${stdenv.cc.targetPrefix}nm"
"-Dinstall-test-programs=true" ]
++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
[ "-Dtegra=true" "-Detnaviv=true" ]
++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-Dintel=false"