1 From d4ad57fd4a32c4f0d2f0522a3090ef940746431b Mon Sep 17 00:00:00 2001
2 From: Alexander Kanavin <alex.kanavin@gmail.com>
3 Date: Fri, 30 Oct 2015 16:28:46 +0200
4 Subject: [PATCH 4/5] giscanner: add a --use-ldd-wrapper option
6 This is useful in cross-compile environments where system's ldd
7 command does not work on binaries built for a different architecture
9 Upstream-Status: Pending [review in oe-core]
10 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12 giscanner/scannermain.py | 3 +++
13 giscanner/shlibs.py | 4 +++-
14 2 files changed, 6 insertions(+), 1 deletion(-)
16 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
17 index d684cd0..1b3b369 100755
18 --- a/giscanner/scannermain.py
19 +++ b/giscanner/scannermain.py
20 @@ -127,6 +127,9 @@ def _get_option_parser():
21 parser.add_option("", "--use-binary-wrapper",
22 action="store", dest="wrapper", default=None,
23 help="wrapper to use for running programs (useful when cross-compiling)")
24 + parser.add_option("", "--use-ldd-wrapper",
25 + action="store", dest="ldd_wrapper", default=None,
26 + help="wrapper to use instead of ldd (useful when cross-compiling)")
27 parser.add_option("", "--program-arg",
28 action="append", dest="program_args", default=[],
29 help="extra arguments to program")
30 diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
31 index c93d20c..c5b5942 100644
32 --- a/giscanner/shlibs.py
33 +++ b/giscanner/shlibs.py
34 @@ -105,7 +105,9 @@ def _resolve_non_libtool(options, binary, libraries):
36 args.append('--mode=execute')
37 platform_system = platform.system()
38 - if platform_system == 'Darwin':
39 + if options.ldd_wrapper:
40 + args.extend([options.ldd_wrapper, binary.args[0]])
41 + elif platform_system == 'Darwin':
42 args.extend(['otool', '-L', binary.args[0]])
44 args.extend(['ldd', binary.args[0]])