Changeset e263d0647f7f8ef1fdb531aa7e7bd4a34bf183af
- Timestamp:
- 29/11/07 00:22:01 (1 year ago)
- git-parent:
- Files:
-
- extras/MacOSX/Framework/Pre-Compile.sh (modified) (5 diffs)
- extras/MacOSX/Framework/VLC.xcodeproj/project.pbxproj (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
extras/MacOSX/Framework/Pre-Compile.sh
rdb4a6b8 re263d06 1 if [ ${ACTION} = "" ]; then1 if test "${ACTION}" = ""; then 2 2 # Debug -- 3 3 TARGET_BUILD_DIR="." … … 6 6 VLC_BUILD_DIR="../../.." 7 7 VLC_SRC_DIR="../../.." 8 ACTION="build" 9 rm -fr ${FULL_PRODUCT_NAME} 8 10 # Debug -- 9 11 fi 10 12 11 if [ ${ACTION} = "build" ]; then13 if test "${ACTION}" = "build"; then 12 14 vlc_config="${VLC_SRC_DIR}/vlc-config" 13 15 lib="lib" … … 16 18 target_lib="${target}/${lib}" # Should we consider using a different well-known folder like shared resources? 17 19 target_modules="${target}/${modules}" # Should we consider using a different well-known folder like shared resources? 20 linked_libs=" " 18 21 19 22 ########################## … … 50 53 51 54 # Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory 52 for linked_lib in `otool -L "${lib_dest}" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'`; do55 for linked_lib in `otool -L ${lib_dest} | grep '(' | sed 's/\((.*)\)//'`; do 53 56 ref_lib=`echo "${linked_lib}" | sed 's:executable_path/:loader_path/../:'` 54 install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest} 57 58 if test "${ref_lib}" != "${linked_lib}"; then 59 install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest} 60 fi 61 if test `echo "${ref_lib}" | grep "^@loader_path"`; then 62 linked_libs="${linked_libs} ${ref_lib}" 63 fi; 55 64 done 56 65 fi 57 66 } 58 67 # @function install_library 68 ########################## 69 70 ########################## 71 # Build the modules folder (Same as VLC.framework/modules in Makefile) 72 echo "Building modules folder..." 73 # Figure out what modules are available to install 74 for module in `top_builddir="${VLC_BUILD_DIR}" ${vlc_config} --target plugin` ; do 75 # Check to see that the reported module actually exists 76 if test -n ${module}; then 77 module_src="`dirname ${module}`/.libs/`basename ${module}`.dylib" 78 install_library ${module_src} ${target_modules} "module" 79 fi 80 done 81 # Build the modules folder 59 82 ########################## 60 83 … … 77 100 # Build the library folder (Same as VLC.framework/lib in Makefile) 78 101 echo "Building library folder..." 79 80 # Check to see if there are any vlc libraries available 81 echo "Copying VLC libraries..." 82 if test -d ${VLC_BUILD_DIR}/extras/contrib/vlc-lib; then 83 # Iterate through the dyanmic libraries available 84 for lib_src in ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/*.dylib ; do 85 install_library ${lib_src} ${target_lib} "library" 86 done 87 fi 88 89 # Check to see if there are any core libraries available 90 echo "Copying core libraries..." 91 # if test -d ${VLC_BUILD_DIR}/src/.libs; then 92 # # Iterate through all the core libraries 93 # for lib_src = ${VLC_BUILD_DIR}/src/.libs/*.dylib; do 94 # # Only install the library if it is not a symbolic link 95 # if ! test -L ${lib_src}; then 96 # echo "install_library ${lib_src} ${target_lib} `echo "${lib_src}" | sed 's:(.\d+)+.dylib:.dylib:'`" 97 # fi 98 # done 99 # fi 100 101 install_library "${VLC_BUILD_DIR}/src/.libs/libvlc.dylib" ${target_lib} "library" 102 install_library "${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib" ${target_lib} "library" 103 install_library "${VLC_BUILD_DIR}/extras/contrib/vlc-lib/vlc_libintl.dylib" ${target_lib} "library" 102 for linked_lib in ${linked_libs} ; do 103 case "${linked_lib}" in 104 @loader_path/../lib/*) 105 ref_lib=`echo ${linked_lib} | sed 's:@loader_path/../lib/::'` 106 if test -e ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/${ref_lib}; then 107 src_lib=${VLC_BUILD_DIR}/extras/contrib/vlc-lib/${ref_lib} 108 elif test -e ${VLC_BUILD_DIR}/src/.libs/${ref_lib}; then 109 src_lib=${VLC_BUILD_DIR}/src/.libs/${ref_lib} 110 fi 111 install_library ${src_lib} ${target_lib} "library" 112 ;; 113 esac 114 done 104 115 # Build the library folder 105 116 ########################## 106 107 ########################## 108 # Build the modules folder (Same as VLC.framework/modules in Makefile) 109 echo "Building modules folder..." 110 # Figure out what modules are available to install 111 for module in `top_builddir="${VLC_BUILD_DIR}" ${vlc_config} --target plugin` ; do 112 # Check to see that the reported module actually exists 113 if test -n ${module}; then 114 module_src="`dirname ${module}`/.libs/`basename ${module}`.dylib" 115 install_library ${module_src} ${target_modules} "module" 116 fi 117 done 118 119 # Build the modules folder 120 ########################## 117 install_library "${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib" ${target_lib} "library" 121 118 fi 122 if [ ${ACTION} = "" ]; then123 # Debug --124 TARGET_BUILD_DIR="."125 FULL_PRODUCT_NAME="VLC.framework"126 CONTENTS_FOLDER_PATH="${FULL_PRODUCT_NAME}/Versions/A"127 VLC_BUILD_DIR="../../.."128 VLC_SRC_DIR="../../.."129 # Debug --130 fi131 132 if [ ${ACTION} = "build" ]; then133 vlc_config="${VLC_SRC_DIR}/vlc-config"134 lib="lib"135 modules="modules"136 target="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}"137 target_lib="${target}/${lib}" # Should we consider using a different well-known folder like shared resources?138 target_modules="${target}/${modules}" # Should we consider using a different well-known folder like shared resources?139 140 ##########################141 # @function install_library(src_lib, dest_dir)142 # @description Installs the specified library into the destination folder, automatically changes the references to dependencies143 # @param src_lib source library to copy to the destination directory144 # @param dest_dir destination directory where the src_lib should be copied to145 install_library() {146 if [ ${3} = "library" ]; then147 install_name="@loader_path/lib"148 else149 install_name="@loader_path/modules"150 fi151 152 if [ "${4}" != "" ]; then153 lib_dest="${2}/${4}"154 else155 lib_dest="${2}/`basename ${1}`"156 fi157 158 if test -e ${1} && ! test -e ${lib_dest}; then159 mkdir -p ${2}160 161 # Lets copy the library from the source folder to our new destination folder162 cp ${1} ${lib_dest}163 164 # Update the dynamic library so it will know where to look for the other libraries165 echo "Installing ${3} `basename ${lib_dest}`"166 167 # Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory168 install_name_tool -change /usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib ${lib_dest}169 install_name_tool -change @executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib ${lib_dest}170 install_name_tool -id "${install_name}/`basename ${lib_dest}`" ${lib_dest}171 172 # Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory173 for linked_lib in `otool -L "${lib_dest}" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'` ; do174 ref_lib=`echo "${linked_lib}" | sed 's:executable_path/:loader_path/../:'`175 install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest}176 done177 fi178 }179 # @function install_library180 ##########################181 182 ##########################183 # Create a symbolic link in the root of the framework184 mkdir -p ${target_lib}185 mkdir -p ${target_modules}186 187 pushd `pwd` > /dev/null188 cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}189 190 ln -sf Versions/Current/${lib} .191 ln -sf Versions/Current/${modules} .192 193 popd > /dev/null194 # Create a symbolic link in the root of the framework195 ##########################196 197 ##########################198 # Build the library folder (Same as VLC.framework/lib in Makefile)199 echo "Building library folder..."200 201 # Check to see if there are any vlc libraries available202 echo "Copying VLC libraries..."203 if test -d ${VLC_BUILD_DIR}/extras/contrib/vlc-lib; then204 # Iterate through the dyanmic libraries available205 for lib_src in ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/*.dylib ; do206 install_library ${lib_src} ${target_lib} "library"207 done208 fi209 210 # Check to see if there are any core libraries available211 echo "Copying core libraries..."212 # if test -d ${VLC_BUILD_DIR}/src/.libs; then213 # # Iterate through all the core libraries214 # for lib_src = ${VLC_BUILD_DIR}/src/.libs/*.dylib; do215 # # Only install the library if it is not a symbolic link216 # if ! test -L ${lib_src}; then217 # echo "install_library ${lib_src} ${target_lib} `echo "${lib_src}" | sed 's:(.\d+)+.dylib:.dylib:'`"218 # fi219 # done220 # fi221 222 install_library "${VLC_BUILD_DIR}/src/.libs/libvlc.dylib" ${target_lib} "library"223 install_library "${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib" ${target_lib} "library"224 install_library "${VLC_BUILD_DIR}/extras/contrib/vlc-lib/vlc_libintl.dylib" ${target_lib} "library"225 # Build the library folder226 ##########################227 228 ##########################229 # Build the modules folder (Same as VLC.framework/modules in Makefile)230 echo "Building modules folder..."231 # Figure out what modules are available to install232 for module in `top_builddir="${VLC_BUILD_DIR}" ${vlc_config} --target plugin` ; do233 # Check to see that the reported module actually exists234 if test -n ${module}; then235 module_src="`dirname ${module}`/.libs/`basename ${module}`.dylib"236 install_library ${module_src} ${target_modules} "module"237 fi238 done239 240 # Build the modules folder241 ##########################242 fiextras/MacOSX/Framework/VLC.xcodeproj/project.pbxproj
r933b9ff re263d06 248 248 isa = PBXProject; 249 249 buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "VLC" */; 250 compatibilityVersion = "Xcode 2.4";251 250 hasScannedForEncodings = 1; 252 251 mainGroup = 0867D691FE84028FC02AAC07 /* VLC */; … … 282 281 runOnlyForDeploymentPostprocessing = 0; 283 282 shellPath = /bin/sh; 284 shellScript = "if [ ${ACTION} = \"\" ]; then\n\t# Debug --\n\tTARGET_BUILD_DIR=\".\"\n\tFULL_PRODUCT_NAME=\"VLC.framework\"\n\tCONTENTS_FOLDER_PATH=\"${FULL_PRODUCT_NAME}/Versions/A\"\n\tVLC_BUILD_DIR=\"../../..\"\n\tVLC_SRC_DIR=\"../../..\"\n\t# Debug --\nfi\n\nif [ ${ACTION} = \"build\" ]; then\t\n\tvlc_config=\"${VLC_SRC_DIR}/vlc-config\"\n\tlib=\"lib\"\n\tmodules=\"modules\"\n\ttarget=\"${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}\"\n\ttarget_lib=\"${target}/${lib}\"\t\t\t# Should we consider using a different well-known folder like shared resources?\n\ttarget_modules=\"${target}/${modules}\"\t# Should we consider using a different well-known folder like shared resources?\n\t\n ##########################\n # @function install_library(src_lib, dest_dir)\n\t# @description Installs the specified library into the destination folder, automatically changes the references to dependencies\n\t# @param src_lib \tsource library to copy to the destination directory\n\t# @param dest_dir\tdestination directory where the src_lib should be copied to\n\tinstall_library() {\t\n\t\tif [ ${3} = \"library\" ]; then\n\t\t\tinstall_name=\"@loader_path/lib\"\n\t\telse\n\t\t\tinstall_name=\"@loader_path/modules\"\n\t\tfi\n\t\t\n\t\tif [ \"${4}\" != \"\" ]; then\n\t\t\tlib_dest=\"${2}/${4}\"\n\t\telse\n\t\t\tlib_dest=\"${2}/`basename ${1}`\"\n\t\tfi\n\t\t\n\t\tif test -e ${1} && ! test -e ${lib_dest}; then\n\t\t\tmkdir -p ${2}\n\t\t\t\n\t\t\t# Lets copy the library from the source folder to our new destination folder\n\t\t\tcp ${1} ${lib_dest}\n\n\t\t\t# Update the dynamic library so it will know where to look for the other libraries\n\t\t\techo \"Installing ${3} `basename ${lib_dest}`\"\n\n\t\t\t# Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory\n\t\t\tinstall_name_tool -change /usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib ${lib_dest}\n\t\t\tinstall_name_tool -change @executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib ${lib_dest}\n\t\t\tinstall_name_tool -id \"${install_name}/`basename ${lib_dest}`\" ${lib_dest}\n\n\t\t\t# Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory\n\t\t\tfor linked_lib in `otool -L \"${lib_dest}\" | grep @executable_path | sed 's/(\\([0-z]*\\ *\\.*\\,*\\)*)//g'` ; do\n\t\t\t\tref_lib=`echo \"${linked_lib}\" | sed 's:executable_path/:loader_path/../:'`\n\t\t\t\tinstall_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest}\n\t\t\tdone\n\t\tfi\n\t}\n\t# @function install_library\n ##########################\n\n ##########################\n\t# Create a symbolic link in the root of the framework\n\tmkdir -p ${target_lib}\n\tmkdir -p ${target_modules}\n\t\n\tpushd `pwd` > /dev/null \n\tcd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}\n\t\n\tln -sf Versions/Current/${lib} .\n\tln -sf Versions/Current/${modules} .\n\t\n\tpopd > /dev/null \n\t# Create a symbolic link in the root of the framework\n ##########################\n\t\n ##########################\n # Build the library folder (Same as VLC.framework/lib in Makefile)\n\techo \"Building library folder...\"\n\n\t# Check to see if there are any vlc libraries available\n\techo \"Copying VLC libraries...\"\n\tif test -d ${VLC_BUILD_DIR}/extras/contrib/vlc-lib; then\n\t\t# Iterate through the dyanmic libraries available\n\t\tfor lib_src in ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/*.dylib ; do\n\t\t\tinstall_library ${lib_src} ${target_lib} \"library\"\n\t\tdone\n\tfi\n\n\t# Check to see if there are any core libraries available\n\techo \"Copying core libraries...\"\n#\tif test -d ${VLC_BUILD_DIR}/src/.libs; then\n#\t\t# Iterate through all the core libraries\n#\t\tfor lib_src = ${VLC_BUILD_DIR}/src/.libs/*.dylib; do\n#\t\t\t# Only install the library if it is not a symbolic link\n#\t\t\tif ! test -L ${lib_src}; then\n#\t\t\t\techo \"install_library ${lib_src} ${target_lib} `echo \"${lib_src}\" | sed 's:(.\\d+)+.dylib:.dylib:'`\"\n#\t\t\tfi\n#\t\tdone\n#\tfi\n\n\tinstall_library \"${VLC_BUILD_DIR}/src/.libs/libvlc.dylib\" ${target_lib} \"library\"\n\tinstall_library \"${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib\" ${target_lib} \"library\"\n\tinstall_library \"${VLC_BUILD_DIR}/extras/contrib/vlc-lib/vlc_libintl.dylib\" ${target_lib} \"library\"\n # Build the library folder\n ##########################\n\n ##########################\n # Build the modules folder (Same as VLC.framework/modules in Makefile)\n\techo \"Building modules folder...\"\n\t# Figure out what modules are available to install\n\tfor module in `top_builddir=\"${VLC_BUILD_DIR}\" ${vlc_config} --target plugin` ; do\n\t\t# Check to see that the reported module actually exists\n\t\tif test -n ${module}; then\n\t\t\tmodule_src=\"`dirname ${module}`/.libs/`basename ${module}`.dylib\"\n\t\t\tinstall_library ${module_src} ${target_modules} \"module\"\n\t\tfi\n done\n\t\n # Build the modules folder\n ##########################\nfi";283 shellScript = "if test \"${ACTION}\" = \"\"; then\n # Debug --\n TARGET_BUILD_DIR=\".\"\n FULL_PRODUCT_NAME=\"VLC.framework\"\n CONTENTS_FOLDER_PATH=\"${FULL_PRODUCT_NAME}/Versions/A\"\n VLC_BUILD_DIR=\"../../..\"\n VLC_SRC_DIR=\"../../..\"\n ACTION=\"build\"\n rm -fr ${FULL_PRODUCT_NAME}\n # Debug --\nfi\n\nif test \"${ACTION}\" = \"build\"; then \n vlc_config=\"${VLC_SRC_DIR}/vlc-config\"\n lib=\"lib\"\n modules=\"modules\"\n target=\"${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}\"\n target_lib=\"${target}/${lib}\" # Should we consider using a different well-known folder like shared resources?\n target_modules=\"${target}/${modules}\" # Should we consider using a different well-known folder like shared resources?\n linked_libs=\" \"\n \n ##########################\n # @function install_library(src_lib, dest_dir)\n # @description Installs the specified library into the destination folder, automatically changes the references to dependencies\n # @param src_lib source library to copy to the destination directory\n # @param dest_dir destination directory where the src_lib should be copied to\n install_library() { \n if [ ${3} = \"library\" ]; then\n install_name=\"@loader_path/lib\"\n else\n install_name=\"@loader_path/modules\"\n fi\n \n if [ \"${4}\" != \"\" ]; then\n lib_dest=\"${2}/${4}\"\n else\n lib_dest=\"${2}/`basename ${1}`\"\n fi\n \n if test -e ${1} && ! test -e ${lib_dest}; then\n mkdir -p ${2}\n \n # Lets copy the library from the source folder to our new destination folder\n cp ${1} ${lib_dest}\n\n # Update the dynamic library so it will know where to look for the other libraries\n echo \"Installing ${3} `basename ${lib_dest}`\"\n\n # Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory\n install_name_tool -change /usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib ${lib_dest}\n install_name_tool -change @executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib ${lib_dest}\n install_name_tool -id \"${install_name}/`basename ${lib_dest}`\" ${lib_dest}\n\n # Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory\n for linked_lib in `otool -L ${lib_dest} | grep '(' | sed 's/\\((.*)\\)//'`; do\n ref_lib=`echo \"${linked_lib}\" | sed 's:executable_path/:loader_path/../:'`\n \n if test \"${ref_lib}\" != \"${linked_lib}\"; then\n install_name_tool -change ${linked_lib} ${ref_lib} ${lib_dest}\n fi\n if test `echo \"${ref_lib}\" | grep \"^@loader_path\"`; then\n linked_libs=\"${linked_libs} ${ref_lib}\"\n fi;\n done\n fi\n }\n # @function install_library\n ##########################\n\n ##########################\n # Build the modules folder (Same as VLC.framework/modules in Makefile)\n echo \"Building modules folder...\"\n # Figure out what modules are available to install\n for module in `top_builddir=\"${VLC_BUILD_DIR}\" ${vlc_config} --target plugin` ; do\n # Check to see that the reported module actually exists\n if test -n ${module}; then\n module_src=\"`dirname ${module}`/.libs/`basename ${module}`.dylib\"\n install_library ${module_src} ${target_modules} \"module\"\n fi\n done\n # Build the modules folder\n ##########################\n\n ##########################\n # Create a symbolic link in the root of the framework\n mkdir -p ${target_lib}\n mkdir -p ${target_modules}\n \n pushd `pwd` > /dev/null \n cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}\n \n ln -sf Versions/Current/${lib} .\n ln -sf Versions/Current/${modules} .\n \n popd > /dev/null \n # Create a symbolic link in the root of the framework\n ##########################\n \n ##########################\n # Build the library folder (Same as VLC.framework/lib in Makefile)\n echo \"Building library folder...\"\n for linked_lib in ${linked_libs} ; do\n case \"${linked_lib}\" in\n @loader_path/../lib/*)\n ref_lib=`echo ${linked_lib} | sed 's:@loader_path/../lib/::'`\n if test -e ${VLC_BUILD_DIR}/extras/contrib/vlc-lib/${ref_lib}; then\n src_lib=${VLC_BUILD_DIR}/extras/contrib/vlc-lib/${ref_lib}\n elif test -e ${VLC_BUILD_DIR}/src/.libs/${ref_lib}; then\n src_lib=${VLC_BUILD_DIR}/src/.libs/${ref_lib}\n fi\n install_library ${src_lib} ${target_lib} \"library\"\n ;;\n esac\n done\n # Build the library folder\n ##########################\n install_library \"${VLC_BUILD_DIR}/src/.libs/libvlc-control.dylib\" ${target_lib} \"library\"\nfi"; 285 284 }; 286 285 /* End PBXShellScriptBuildPhase section */
