From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 30 Oct 2015 16:28:46 +0200 Subject: [PATCH] giscanner: add a --use-ldd-wrapper option This is useful in cross-compile environments where system's ldd command does not work on binaries built for a different architecture Upstream-Status: Pending [review in oe-core] Signed-off-by: Alexander Kanavin --- giscanner/scannermain.py | 3 +++ giscanner/shlibs.py | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py index 061def0..5cb793e 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py @@ -129,6 +129,9 @@ def _get_option_parser(): parser.add_option("", "--use-binary-wrapper", action="store", dest="wrapper", default=None, help="wrapper to use for running programs (useful when cross-compiling)") + parser.add_option("", "--use-ldd-wrapper", + action="store", dest="ldd_wrapper", default=None, + help="wrapper to use instead of ldd (useful when cross-compiling)") parser.add_option("", "--program-arg", action="append", dest="program_args", default=[], help="extra arguments to program") diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py index 7b7b2d0..01d21a3 100644 --- a/giscanner/shlibs.py +++ b/giscanner/shlibs.py @@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries): args.extend(libtool) args.append('--mode=execute') platform_system = platform.system() - if platform_system == 'Darwin': + if options.ldd_wrapper: + args.extend([options.ldd_wrapper, binary.args[0]]) + elif platform_system == 'Darwin': args.extend(['otool', '-L', binary.args[0]]) else: args.extend(['ldd', binary.args[0]])