#!/bin/sh
#  
# Copyright (C) 1999-2000 Wojciech Purczynski <wp@elzabsoft.pl>
#
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
# THE FREE SOFTWARE  FOUNDATION;  EITHER  VERSION 2 OF THE LICENSE, OR
# (AT YOUR OPTION) ANY LATER VERSION.
#
# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
# BUT WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED  WARRANTY OF
# MERCHANTABILITY OR FITNESS  FOR A PARTICULAR  PURPOSE.  SEE THE
# GNU GENERAL PUBLIC LICENSE FOR MORE DETAILS.
#

BIN=$1
DIR=$2

if [ -z "$BIN" ]; then
	echo -n "Enter name of the binary:"
	read BIN
fi

if [ -z "$DIR" ]; then
	echo -n "Enter name of target directory:"
	read DIR
fi

if [ -z "$BIN" -o -z "$DIR" -o ! -f "$BIN" ]; then
	echo "You have to enter both binary and directory name"
	exit -1
fi

LIBDIR=$(echo /lib /usr/lib; cat /etc/ld.so.conf)

mkdir -p "$DIR" || exit -1

ldd "$BIN"|awk -F" " '{print $1}'|while read LIB; do
	if [ $(echo "$LIB"|cut -c1) != "/" ]; then
		# Looking for library in LIBDIRs
		LIB=$(find $LIBDIR \( -type f -o -type l \) -name "$LIB"|head -n 1)
		if [ -z "$LIB" ]; then
			echo "ERROR: Library $LIB not found"
			exit -1
		fi
	fi
	SUBDIR=$(dirname "$LIB");
	echo "Copying $LIB -> $DIR$LIB"
	mkdir -p "$DIR$SUBDIR" || exit -1
	cp "$LIB" "$DIR$LIB" || exit -1
	strip "$DIR$LIB" || exit -1
done

echo "Done"

