Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1 | From 291a92f200981a772b2d03739dffb5926a82c5a5 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 1/2] giscanner: add a --use-ldd-wrapper option |
| 5 | |
| 6 | This is useful in cross-compile environments where system's ldd |
| 7 | command does not work on binaries built for a different architecture |
| 8 | |
| 9 | Upstream-Status: Pending [review in oe-core] |
| 10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
| 11 | |
| 12 | --- |
| 13 | giscanner/scannermain.py | 3 +++ |
| 14 | giscanner/shlibs.py | 4 +++- |
| 15 | 2 files changed, 6 insertions(+), 1 deletion(-) |
| 16 | |
| 17 | diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py |
| 18 | index e37d3e3..b8fff5f 100755 |
| 19 | --- a/giscanner/scannermain.py |
| 20 | +++ b/giscanner/scannermain.py |
| 21 | @@ -121,6 +121,9 @@ def _get_option_parser(): |
| 22 | parser.add_option("", "--use-binary-wrapper", |
| 23 | action="store", dest="wrapper", default=None, |
| 24 | help="wrapper to use for running programs (useful when cross-compiling)") |
| 25 | + parser.add_option("", "--use-ldd-wrapper", |
| 26 | + action="store", dest="ldd_wrapper", default=None, |
| 27 | + help="wrapper to use instead of ldd (useful when cross-compiling)") |
| 28 | parser.add_option("", "--program-arg", |
| 29 | action="append", dest="program_args", default=[], |
| 30 | help="extra arguments to program") |
| 31 | diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py |
| 32 | index 1ad75ee..41117c6 100644 |
| 33 | --- a/giscanner/shlibs.py |
| 34 | +++ b/giscanner/shlibs.py |
| 35 | @@ -100,7 +100,9 @@ def _resolve_non_libtool(options, binary, libraries): |
| 36 | args.extend(libtool) |
| 37 | args.append('--mode=execute') |
| 38 | platform_system = platform.system() |
| 39 | - if platform_system == 'Darwin': |
| 40 | + if options.ldd_wrapper: |
| 41 | + args.extend([options.ldd_wrapper, binary.args[0]]) |
| 42 | + elif platform_system == 'Darwin': |
| 43 | args.extend(['otool', '-L', binary.args[0]]) |
| 44 | else: |
| 45 | args.extend(['ldd', binary.args[0]]) |
| 46 | -- |
| 47 | 2.1.4 |
| 48 | |