copywithlibdeps() { file=$1 echo "Copying library dependencies for $file..." cp $file ${file/\//} ldd $file | ( while read ; do # Strip leading whitespace. REPLY=`echo "$REPLY" | sed -e 's+^[ \t]*++'` # Try to parse the possible ldd output lines. src= dest= case "$REPLY" in *' => '*) src=`echo $REPLY | \ sed -re 's+^.* => ([^ ]*).*$+\1+;/=>/d'` dst=`echo $REPLY | \ sed -re 's+^.*[ /\t]*([^ /\t]*) => .*$+lib/\1+;/=>/d'` ;; /*) src=`echo $REPLY | sed -re 's+^([^ \t]*)[ \t].*$+\1+'` dst=`echo $src | sed -e 's+^/++'` ;; *) ;; esac if [ -n "$src" -a -n "$dst" ]; then case "$src" in \(*) echo "Skipping $REPLY" ;; *) /bin/cp -u $src $dst || \ echo "oops on $REPLY ($src) ($dst)" ;; esac else echo "WARNING: Unparseable $REPLY" fi done ) }