summaryrefslogtreecommitdiff
path: root/pkgtools/bootstrap-extras/files
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2010-02-06 10:26:09 +0000
committerobache <obache@pkgsrc.org>2010-02-06 10:26:09 +0000
commit7488e29f9500b694cb6022bec4502ca75f397b1d (patch)
tree871b5ce043468b4d5112e5071b8b65f5217b6704 /pkgtools/bootstrap-extras/files
parentd0bd59d5994bcaa0dafdb3ebd7d57b2f5eb3039e (diff)
downloadpkgsrc-7488e29f9500b694cb6022bec4502ca75f397b1d.tar.gz
Added fakeldd for Haiku.
Diffstat (limited to 'pkgtools/bootstrap-extras/files')
-rw-r--r--pkgtools/bootstrap-extras/files/fakeldd-Haiku40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgtools/bootstrap-extras/files/fakeldd-Haiku b/pkgtools/bootstrap-extras/files/fakeldd-Haiku
new file mode 100644
index 00000000000..9e664982365
--- /dev/null
+++ b/pkgtools/bootstrap-extras/files/fakeldd-Haiku
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# $NetBSD: fakeldd-Haiku,v 1.1 2010/02/06 10:26:09 obache Exp $
+#
+
+read_rpath_needed_from_obj ()
+{
+ objdump -p "$1" | awk '
+ /^ *NEEDED */ {num++; libs[num] = $2;}
+ /^ *RPATH */ {rpath = $2;}
+ END {
+ print rpath;
+ for(x = 1; x <= num; x++) {
+ print libs[x];
+ }
+ }'
+}
+
+print_as_ldd ()
+{
+ read rpath
+ rpath="$rpath:$LIBRARY_PATH"
+ while read f; do
+ abpath="not found"
+ IFS=':'
+ for r in $rpath; do
+ if test -e "$r/$f"; then
+ abpath="$r/$f"
+ break;
+ fi
+ done
+ echo " $f => $abpath";
+ done
+}
+
+while test $# -gt 0; do
+ echo $1:
+ read_rpath_needed_from_obj $1 | print_as_ldd
+ shift
+done