]> git.sesse.net Git - vlc/commitdiff
* Fixed bugs in the contrib build system. In particular 'make bin' should
authorChristophe Massiot <massiot@videolan.org>
Sun, 23 Nov 2003 13:06:43 +0000 (13:06 +0000)
committerChristophe Massiot <massiot@videolan.org>
Sun, 23 Nov 2003 13:06:43 +0000 (13:06 +0000)
  work now.

Makefile.am
extras/contrib/Makefile
extras/contrib/change_prefix.sh [new file with mode: 0755]
extras/contrib/src/Makefile

index d4c7ed343154fd3aff33d4672ba7928507afd387..338cd268ab26ea8c67a58a8ddffe78cc05398ec4 100644 (file)
@@ -484,8 +484,10 @@ VLC.app: vlc
                           "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
          fi ; done
        if test -d $(top_builddir)/extras/contrib/vlc-lib; then \
-         cp -R $(top_builddir)/extras/contrib/vlc-lib \
-           $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
+         mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
+         for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \
+           install -c $${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
+         done ; \
        fi
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share
        $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http
index 4d123087b0f8754349cf4c9cdd7e96615a5e4928..9bef79459f966c48058f961561a85f342df8c38e 100644 (file)
@@ -2,7 +2,7 @@
 # Makefile : Build vlc-contrib files
 # ***************************************************************************
 # Copyright (C) 2003 VideoLAN
-# $Id: Makefile,v 1.2 2003/11/15 13:09:02 massiot Exp $
+# $Id: Makefile,v 1.3 2003/11/23 13:06:43 massiot Exp $
 # 
 # Authors: Christophe Massiot <massiot@via.ecp.fr>
 # 
@@ -23,7 +23,7 @@
 
 include ./config.mak
 
-BUILDDIRS = bin doc etc include info lib man sbin share vlc-lib
+BUILDDIRS = bin doc etc include info lib man sbin share vlc-lib tmp
 
 all: FORCE
        @echo "Do you mean to make src or make bin ?"
@@ -35,7 +35,15 @@ contrib-macosx.tar.bz2: FORCE
        $(WGET) $(CONTRIB_URL)
 
 bin: contrib-macosx.tar.bz2
-       bunzip2 -c $< | tar xf -
+       @if test -d tmp; then \
+               echo "Move away ./tmp, it's in the way" ; \
+               exit 1 ; \
+       fi
+       mkdir tmp
+       bunzip2 -c $< | (cd tmp; tar xf -)
+       ./change_prefix.sh tmp @@CONTRIB_PREFIX@@ $(PREFIX)
+       (cd tmp; tar cf -) | tar xf -
+       rm -rf tmp
 
 clean-src: FORCE
        $(MAKE) -C src clean-src
@@ -48,8 +56,16 @@ clean: FORCE
        @echo "Do you mean to clean-src or clean-bin ?"
 
 package: FORCE
+       @if test -d tmp; then \
+               echo "Move away ./tmp, it's in the way" ; \
+               exit 1 ; \
+       fi
+       mkdir tmp
        tar cf - bin include lib vlc-lib share/aclocal* share/autoconf* \
                share/automake* share/gettext* \
-               | bzip2 -c > contrib.tar.bz2
+               | (cd tmp; tar xf -)
+       ./change_prefix.sh tmp $(PREFIX) @@CONTRIB_PREFIX@@
+       (cd tmp; tar cf - .) | bzip2 -c > contrib-macosx.tar.bz2
+       rm -rf tmp
 
 FORCE:
diff --git a/extras/contrib/change_prefix.sh b/extras/contrib/change_prefix.sh
new file mode 100755 (executable)
index 0000000..176ae85
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+# ***************************************************************************
+# 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 $
+#
+# Authors: Christophe Massiot <massiot@via.ecp.fr>
+#
+# 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.
+#
+# 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.
+# ***************************************************************************
+
+usage="Usage: $0 <directory> <prefix> <new_prefix>"
+
+LANG=C
+export LANG
+
+if test .$1 = .-h -o .$1 = .--help -o $# != 3; then
+  echo $usage
+  exit 1
+fi
+
+top_dir=`cd $1; pwd`
+prefix=$2
+new_prefix=$3
+
+if test -z $prefix -o -z $new_prefix; then
+  echo $usage
+  exit 1
+fi
+
+cd $top_dir
+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
+    fi
+  done
+  sed -e "s,$prefix,$new_prefix,g" < $file > $file.tmp
+  mv -f $file.tmp $file
+done
index 58621e82034dd9314cbdae67bc28a2879314d5ca..a21400338c48f1665ae16ae5693ac4f8ff298ffe 100644 (file)
@@ -2,7 +2,7 @@
 # src/Makefile : Dearchive and compile all files necessary
 # ***************************************************************************
 # Copyright (C) 2003 VideoLAN
-# $Id: Makefile,v 1.5 2003/11/17 15:11:05 hartman Exp $
+# $Id: Makefile,v 1.6 2003/11/23 13:06:43 massiot Exp $
 #
 # Authors: Christophe Massiot <massiot@via.ecp.fr>
 #
@@ -76,7 +76,7 @@ endef
 define INSTALL_NAME_LIB
        install_name_tool \
                -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
-               @executable_path/lib/lib$(INSTALL_LIB).dylib \
+               @executable_path/lib/vlc_lib$(INSTALL_LIB).dylib \
                $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ;
 endef
 
@@ -86,7 +86,7 @@ define INSTALL_NAME
                cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).dylib \
                        $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
                install_name_tool \
-                       -id @executable_path/lib/lib$(patsubst .%,%,$@).dylib \
+                       -id @executable_path/lib/vlc_lib$(patsubst .%,%,$@).dylib \
                        $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
                $(foreach INSTALL_LIB,$(patsubst .%,%,$(filter .%,$^)), \
                        $(INSTALL_NAME_LIB)) \