X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fchange_prefix.sh;h=df9c0a2bef817c1420233c2f2423b4f9d709cb6d;hb=HEAD;hp=176ae85618b20d6db10448742a84b4e6bb5fca74;hpb=0eb0aecc2def1c9bad9b9ca10916ab321a91c540;p=vlc diff --git a/extras/contrib/change_prefix.sh b/extras/contrib/change_prefix.sh index 176ae85618..df9c0a2bef 100755 --- a/extras/contrib/change_prefix.sh +++ b/extras/contrib/change_prefix.sh @@ -2,8 +2,8 @@ # *************************************************************************** # change_prefix.sh : allow to transfer a contrib dir # *************************************************************************** -# Copyright (C) 2003 VideoLAN -# $Id: change_prefix.sh,v 1.1 2003/11/23 13:06:43 massiot Exp $ +# Copyright (C) 2003 the VideoLAN team +# $Id$ # # Authors: Christophe Massiot # @@ -19,7 +19,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. # *************************************************************************** usage="Usage: $0 " @@ -34,7 +34,8 @@ fi top_dir=`cd $1; pwd` prefix=$2 -new_prefix=$3 +new_prefix2=$3 +new_prefix=/$new_prefix2 if test -z $prefix -o -z $new_prefix; then echo $usage @@ -42,16 +43,42 @@ if test -z $prefix -o -z $new_prefix; then fi cd $top_dir +pwd files=`find . -type f` for file in $files; do - libs=`otool -L $file 2>/dev/null | grep $prefix | cut -d\ -f 1` - for i in "" $libs; do - if ! test -z $i; then - install_name_tool -change $i \ - `echo $i | sed -e "s,$prefix,$new_prefix,"` \ - $file + if test ".`file $file | grep Mach-O`" != "." ; then + echo "Changing prefixes of '$file'" + islib=n + if test ".`file $file | grep 'dynamically linked shared library'`" != "." ; then + islib=y fi - done - sed -e "s,$prefix,$new_prefix,g" < $file > $file.tmp - mv -f $file.tmp $file + libs=`otool -L $file 2>/dev/null | grep $prefix | cut -d\ -f 1` + first=y + for i in "" $libs; do + if ! test -z $i; then + if test $islib = y -a $first = y; then + install_name_tool -id `echo $i | sed -e "s,$prefix,$new_prefix,"` $file + first=n + else + install_name_tool -change $i `echo $i | sed -e "s,$prefix,$new_prefix,"` $file + fi + fi + done + elif test ".`file $file | grep \"text\|shell\"`" != "." -o ".`echo $file | grep pc$`" != "."; then + echo "Fixing up shell/text/pc file "$file"" + cp $file $file.tmp + sed -e "s,$prefix,$new_prefix,g" < $file > $file.tmp + mv -f $file.tmp $file + else + echo "Not doing anything with $file" + fi done + +files=`find . -name *.la` +for file in $files; do + echo "Fixing up .la $file" + cp $file $file.tmp + sed -e "s,$prefix,$new_prefix,g" < $file > $file.tmp + mv -f $file.tmp $file +done +