]> git.sesse.net Git - vlc/blobdiff - extras/contrib/change_prefix.sh
contribs: use latest OS X binary package
[vlc] / extras / contrib / change_prefix.sh
index 553be58106548601f92a8f4c7d8c5e8e22310faa..df9c0a2bef817c1420233c2f2423b4f9d709cb6d 100755 (executable)
@@ -2,8 +2,8 @@
 # ***************************************************************************
 # change_prefix.sh : allow to transfer a contrib dir
 # ***************************************************************************
-# Copyright (C) 2003 VideoLAN
-# $Id: change_prefix.sh,v 1.2 2003/11/23 13:23:20 massiot Exp $
+# Copyright (C) 2003 the VideoLAN team
+# $Id$
 #
 # Authors: Christophe Massiot <massiot@via.ecp.fr>
 #
@@ -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 <directory> <prefix> <new_prefix>"
@@ -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,19 +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
-  if test ".`file $file | grep Mach-O`" != "." ; then
+ 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
     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
-        install_name_tool -change $i \
-                          `echo $i | sed -e "s,$prefix,$new_prefix,"` \
-                          $file
+        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
-  else
+  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
+