summaryrefslogtreecommitdiff
path: root/autodeps/darwin.req
blob: e571710d801c00db5d5a306c65939c025df14456 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
# ----------------------------------------------------------------
#	find-requires for Darwin/MacOSX
# ----------------------------------------------------------------
ulimit -c 0

filelist=`sed "s/['\"]/\\\&/g"`
exelist=`echo $filelist | xargs file | grep -F Mach-O | cut -d: -f1 `
scriptlist=`echo $filelist | xargs file | grep -E ":.* (commands|script) " | cut -d: -f1 `

for f in $exelist; do
    if [ -x $f ]; then
        otool -L $f  \
	| awk '/^\t/ { print }' \
	| sed -n -e '/ (compatibility version .* current version .*)/p' \
	| sed -e 's/ (compatibility version .* current version .*)//'
    fi
done | sort -u | sed "s/['\"]/\\\&/g" | xargs -n 1 basename | sort -u

for f in $scriptlist; do
    if [ -x $f ]; then
        head -1 $f | sed -e 's/^\#\![   ]*//' \
	| sed -n -e '/^\/bin/!p' | sed -n -e '/^\/usr\/bin/!p' | uniq \
	| cut -d" " -f1
    fi
done