123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- if [ ${ACTION} = "" ]; then
- # Debug --
- TARGET_BUILD_DIR="."
- FULL_PRODUCT_NAME="VLC.framework"
- CONTENTS_FOLDER_PATH="${FULL_PRODUCT_NAME}/Versions/A"
- VLC_BUILD_DIR="../../.."
- VLC_SRC_DIR="../../.."
- # Debug --
- fi
- if [ ${ACTION} = "build" ]; then
- vlc_config="${VLC_SRC_DIR}/vlc-config"
- lib="lib"
- modules="modules"
- target="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}"
- target_lib="${target}/${lib}" # Should we consider using a different well-known folder like shared resources?
- target_modules="${target}/${modules}" # Should we consider using a different well-known folder like shared resources?
-
- ##########################
- # @function install_library(src_lib, dest_dir)
- # @description Installs the specified library into the destination folder, automatically changes the references to dependencies
- # @param src_lib source library to copy to the destination directory
- # @param dest_dir destination directory where the src_lib should be copied to
- install_library() {
- if [ ${3} = "library" ]; then
- install_name="@loader_path/lib"
- else
- install_name="@loader_path/modules"
- fi
-
- if [ "${4}" != "" ]; then
- lib_dest="${2}/${4}"
- else
- lib_dest="${2}/`basename ${1}`"
- fi
-
- if test -e ${1} && ! test -e ${lib_dest}; then
- mkdir -p ${2}
-
- # Lets copy the library from the source folder to our new destination folder
- cp ${1} ${lib_dest}
- # Update the dynamic library so it will know where to look for the other libraries
- echo "Installing ${3} `basename ${lib_dest}`"
- # Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory
- install_name_tool -change /usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib ${lib_dest}
- install_name_tool -change @executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib ${lib_dest}
- install_name_tool -id "${install_name}/`basename ${lib_dest}`" ${lib_dest}
- # Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory
- for linked_lib in `otool -L "${lib_dest}" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'` ; do
- ref_lib=`echo "${linked_lib}" | sed 's:executable_path/:loader_path/../:'`
- install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest}
- done
- fi
- }
- # @function install_library
- ##########################
- ##########################
- # Create a symbolic link in the root of the framework
- mkdir -p ${target_lib}
- mkdir -p ${target_modules}
-
- pushd `pwd` > /dev/null
- cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}
-
- ln -sf Versions/Current/${lib} .
- ln -sf Versions/Current/${modules} .
-
- popd > /dev/null
- # Create a symbolic link in the root of the framework
- ##########################
-
- ##########################
- # Build the library folder (Same as VLC.framework/lib in Makefile)
- echo "Building library folder..."
- # Check to see if there are any vlc libraries available
- echo "Copying VLC libraries..."
- if test -d ${VLC_BUILD_DIR}/extras/contrib/vlc-lib; then
- # Iterate through the dyanmic libraries available
- for lib_src in ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/*.dylib ; do
- install_library ${lib_src} ${target_lib} "library"
- done
- fi
- # Check to see if there are any core libraries available
- echo "Copying core libraries..."
- # if test -d ${VLC_BUILD_DIR}/src/.libs; then
- # # Iterate through all the core libraries
- # for lib_src = ${VLC_BUILD_DIR}/src/.libs/*.dylib; do
- # # Only install the library if it is not a symbolic link
- # if ! test -L ${lib_src}; then
- # echo "install_library ${lib_src} ${target_lib} `echo "${lib_src}" | sed 's:(.\d+)+.dylib:.dylib:'`"
- # fi
- # done
- # fi
- install_library "${VLC_BUILD_DIR}/src/.libs/libvlc.dylib" ${target_lib} "library"
- install_library "${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib" ${target_lib} "library"
- install_library "${VLC_BUILD_DIR}/extras/contrib/vlc-lib/vlc_libintl.dylib" ${target_lib} "library"
- # Build the library folder
- ##########################
- ##########################
- # Build the modules folder (Same as VLC.framework/modules in Makefile)
- echo "Building modules folder..."
- # Figure out what modules are available to install
- for module in `top_builddir="${VLC_BUILD_DIR}" ${vlc_config} --target plugin` ; do
- # Check to see that the reported module actually exists
- if test -n ${module}; then
- module_src="`dirname ${module}`/.libs/`basename ${module}`.dylib"
- install_library ${module_src} ${target_modules} "module"
- fi
- done
-
- # Build the modules folder
- ##########################
- fi
- if [ ${ACTION} = "" ]; then
- # Debug --
- TARGET_BUILD_DIR="."
- FULL_PRODUCT_NAME="VLC.framework"
- CONTENTS_FOLDER_PATH="${FULL_PRODUCT_NAME}/Versions/A"
- VLC_BUILD_DIR="../../.."
- VLC_SRC_DIR="../../.."
- # Debug --
- fi
- if [ ${ACTION} = "build" ]; then
- vlc_config="${VLC_SRC_DIR}/vlc-config"
- lib="lib"
- modules="modules"
- target="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}"
- target_lib="${target}/${lib}" # Should we consider using a different well-known folder like shared resources?
- target_modules="${target}/${modules}" # Should we consider using a different well-known folder like shared resources?
-
- ##########################
- # @function install_library(src_lib, dest_dir)
- # @description Installs the specified library into the destination folder, automatically changes the references to dependencies
- # @param src_lib source library to copy to the destination directory
- # @param dest_dir destination directory where the src_lib should be copied to
- install_library() {
- if [ ${3} = "library" ]; then
- install_name="@loader_path/lib"
- else
- install_name="@loader_path/modules"
- fi
-
- if [ "${4}" != "" ]; then
- lib_dest="${2}/${4}"
- else
- lib_dest="${2}/`basename ${1}`"
- fi
-
- if test -e ${1} && ! test -e ${lib_dest}; then
- mkdir -p ${2}
-
- # Lets copy the library from the source folder to our new destination folder
- cp ${1} ${lib_dest}
- # Update the dynamic library so it will know where to look for the other libraries
- echo "Installing ${3} `basename ${lib_dest}`"
- # Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory
- install_name_tool -change /usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib ${lib_dest}
- install_name_tool -change @executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib ${lib_dest}
- install_name_tool -id "${install_name}/`basename ${lib_dest}`" ${lib_dest}
- # Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory
- for linked_lib in `otool -L "${lib_dest}" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'` ; do
- ref_lib=`echo "${linked_lib}" | sed 's:executable_path/:loader_path/../:'`
- install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest}
- done
- fi
- }
- # @function install_library
- ##########################
- ##########################
- # Create a symbolic link in the root of the framework
- mkdir -p ${target_lib}
- mkdir -p ${target_modules}
-
- pushd `pwd` > /dev/null
- cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}
-
- ln -sf Versions/Current/${lib} .
- ln -sf Versions/Current/${modules} .
-
- popd > /dev/null
- # Create a symbolic link in the root of the framework
- ##########################
-
- ##########################
- # Build the library folder (Same as VLC.framework/lib in Makefile)
- echo "Building library folder..."
- # Check to see if there are any vlc libraries available
- echo "Copying VLC libraries..."
- if test -d ${VLC_BUILD_DIR}/extras/contrib/vlc-lib; then
- # Iterate through the dyanmic libraries available
- for lib_src in ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/*.dylib ; do
- install_library ${lib_src} ${target_lib} "library"
- done
- fi
- # Check to see if there are any core libraries available
- echo "Copying core libraries..."
- # if test -d ${VLC_BUILD_DIR}/src/.libs; then
- # # Iterate through all the core libraries
- # for lib_src = ${VLC_BUILD_DIR}/src/.libs/*.dylib; do
- # # Only install the library if it is not a symbolic link
- # if ! test -L ${lib_src}; then
- # echo "install_library ${lib_src} ${target_lib} `echo "${lib_src}" | sed 's:(.\d+)+.dylib:.dylib:'`"
- # fi
- # done
- # fi
- install_library "${VLC_BUILD_DIR}/src/.libs/libvlc.dylib" ${target_lib} "library"
- install_library "${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib" ${target_lib} "library"
- install_library "${VLC_BUILD_DIR}/extras/contrib/vlc-lib/vlc_libintl.dylib" ${target_lib} "library"
- # Build the library folder
- ##########################
- ##########################
- # Build the modules folder (Same as VLC.framework/modules in Makefile)
- echo "Building modules folder..."
- # Figure out what modules are available to install
- for module in `top_builddir="${VLC_BUILD_DIR}" ${vlc_config} --target plugin` ; do
- # Check to see that the reported module actually exists
- if test -n ${module}; then
- module_src="`dirname ${module}`/.libs/`basename ${module}`.dylib"
- install_library ${module_src} ${target_modules} "module"
- fi
- done
-
- # Build the modules folder
- ##########################
- fi
|