Permalink
Browse files

[ios] fixed crash when built under SDK6, VideoToolbox changed from /S…

…ystem/Library/PrivateFrameworks to /System/Library/Frameworks and we need to fixup the internal path to reflect the actual location on iOS4/iOS5 devices
  • Loading branch information...
1 parent 967a050 commit 7062904f939d0f99b8d946f6bcaf206bc18ee2a2 @davilla davilla committed Oct 11, 2012
Showing with 2 additions and 2 deletions.
  1. +1 −1 XBMC-ATV2.xcodeproj/project.pbxproj
  2. +1 −1 XBMC-IOS.xcodeproj/project.pbxproj
@@ -6595,7 +6595,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash;
- shellScript = "#set -x\n\nfunction check_dyloaded_depends\n{\n b=$(find \"$EXTERNAL_LIBS\" -name $1 -print)\n if [ -f \"$b\" ]; then\n #echo \"Processing $b\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $b)\" ]; then\n echo \" Packaging $b\"\n cp -f \"$b\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n if [ -f \"$a\" ]; then\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n fi\n done \n fi\n}\n\nfunction check_xbmc_dylib_depends\n{\n REWIND=\"1\"\n while [ $REWIND = \"1\" ]\n do\n let REWIND=\"0\"\n for b in $(find \"$1\" -type f -name \"$2\" -print) ; do\n #echo \"Processing $b\"\n install_name_tool -id \"$(basename $b)\" \"$b\"\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n #echo \" Packaging $a\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n let REWIND=\"1\"\n fi\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$b\"\n done\n done\n done\n}\n\nEXTERNAL_LIBS=/Users/Shared/xbmc-depends/\"$SDK_NAME\"_\"$ARCHS\"\n\nTARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION\nTARGET_CONTENTS=$TARGET_BUILD_DIR/$TARGET_NAME\n\nTARGET_BINARY=$TARGET_CONTENTS/XBMC\nTARGET_FRAMEWORKS=$TARGET_CONTENTS/Frameworks\nDYLIB_NAMEPATH=@executable_path/Appliances/XBMC.frappliance/Frameworks\nXBMC_HOME=$TARGET_CONTENTS/XBMCData/XBMCHome\n\nmkdir -p \"$TARGET_CONTENTS\"\nmkdir -p \"$TARGET_CONTENTS/XBMCData/XBMCHome\"\n# start clean so we don't keep old dylibs\nrm -rf \"$TARGET_CONTENTS/Frameworks\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks\"\n\necho \"Package $TARGET_BUILD_DIR/XBMC\"\n\n# Copy all of XBMC's dylib dependencies and rename their locations to inside the Framework\necho \"Checking $TARGET_BINARY dylib dependencies\"\nfor a in $(otool -L \"$TARGET_BINARY\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do \n\techo \" Packaging $a\"\n\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_BINARY\"\ndone\n\necho \"Package $EXTERNAL_LIBS/lib/python2.6\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks/lib\"\nPYTHONSYNC=\"rsync -aq --exclude .DS_Store --exclude *.a --exclude *.exe --exclude test --exclude tests\"\n${PYTHONSYNC} \"$EXTERNAL_LIBS/lib/python2.6\" \"$TARGET_FRAMEWORKS/lib/\"\nrm -rf \"$TARGET_FRAMEWORKS/lib/python2.6/config\"\n\necho \"Checking $TARGET_FRAMEWORKS/lib/python2.6 *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$TARGET_FRAMEWORKS\"/lib/python2.6 \"*.so\"\n\necho \"Checking $XBMC_HOME/system *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/system \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.pvr for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.pvr\"\n\necho \"Checking $XBMC_HOME/addons *.xbs for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.xbs\"\n\necho \"Checking xbmc/DllPaths_generated.h for dylib dependencies\"\nfor a in $(grep .dylib \"$SRCROOT\"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\\\"//g) ; do\n check_dyloaded_depends $a\ndone\n\necho \"Checking $TARGET_FRAMEWORKS for missing dylib dependencies\"\nREWIND=\"1\"\nwhile [ $REWIND = \"1\" ]\ndo\n\tlet REWIND=\"0\"\n\tfor b in \"$TARGET_FRAMEWORKS/\"*dylib* ; do\n\t\t#echo \" Processing $b\"\n\t\tfor a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n\t\t\t#echo \"Processing $a\"\n\t\t\tif [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n\t\t\t\techo \" Packaging $a\"\n\t\t\t\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\t\t\t\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\t\t\t\tlet REWIND=\"1\"\n\t\t\tfi\n\t\t\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n\t\tdone \n\tdone\ndone\n";
+ shellScript = "#set -x\n\nfunction check_dyloaded_depends\n{\n b=$(find \"$EXTERNAL_LIBS\" -name $1 -print)\n if [ -f \"$b\" ]; then\n #echo \"Processing $b\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $b)\" ]; then\n echo \" Packaging $b\"\n cp -f \"$b\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n if [ -f \"$a\" ]; then\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n fi\n done \n fi\n}\n\nfunction check_xbmc_dylib_depends\n{\n REWIND=\"1\"\n while [ $REWIND = \"1\" ]\n do\n let REWIND=\"0\"\n for b in $(find \"$1\" -type f -name \"$2\" -print) ; do\n #echo \"Processing $b\"\n install_name_tool -id \"$(basename $b)\" \"$b\"\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n #echo \" Packaging $a\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n let REWIND=\"1\"\n fi\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$b\"\n done\n done\n done\n}\n\nEXTERNAL_LIBS=/Users/Shared/xbmc-depends/\"$SDK_NAME\"_\"$ARCHS\"\n\nTARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION\nTARGET_CONTENTS=$TARGET_BUILD_DIR/$TARGET_NAME\n\nTARGET_BINARY=$TARGET_CONTENTS/XBMC\nTARGET_FRAMEWORKS=$TARGET_CONTENTS/Frameworks\nDYLIB_NAMEPATH=@executable_path/Appliances/XBMC.frappliance/Frameworks\nXBMC_HOME=$TARGET_CONTENTS/XBMCData/XBMCHome\n\nmkdir -p \"$TARGET_CONTENTS\"\nmkdir -p \"$TARGET_CONTENTS/XBMCData/XBMCHome\"\n# start clean so we don't keep old dylibs\nrm -rf \"$TARGET_CONTENTS/Frameworks\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks\"\n\necho \"Package $TARGET_BUILD_DIR/XBMC\"\n\n# Copy all of XBMC's dylib dependencies and rename their locations to inside the Framework\necho \"Checking $TARGET_BINARY dylib dependencies\"\nfor a in $(otool -L \"$TARGET_BINARY\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do \n\techo \" Packaging $a\"\n\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_BINARY\"\ndone\n\nif [ \"$SDK_NAME\" = \"iphoneos6.0\" ] ; then\n\techo \"Fixing $TARGET_BINARY VideoToolbox dylib name\"\n VTB_SDK6=/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox\n VTB_SDK5=/System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox\n\tinstall_name_tool -change \"$VTB_SDK6\" \"$VTB_SDK5\" \"$TARGET_BINARY\"\nfi\n\necho \"Package $EXTERNAL_LIBS/lib/python2.6\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks/lib\"\nPYTHONSYNC=\"rsync -aq --exclude .DS_Store --exclude *.a --exclude *.exe --exclude test --exclude tests\"\n${PYTHONSYNC} \"$EXTERNAL_LIBS/lib/python2.6\" \"$TARGET_FRAMEWORKS/lib/\"\nrm -rf \"$TARGET_FRAMEWORKS/lib/python2.6/config\"\n\necho \"Checking $TARGET_FRAMEWORKS/lib/python2.6 *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$TARGET_FRAMEWORKS\"/lib/python2.6 \"*.so\"\n\necho \"Checking $XBMC_HOME/system *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/system \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.pvr for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.pvr\"\n\necho \"Checking $XBMC_HOME/addons *.xbs for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.xbs\"\n\necho \"Checking xbmc/DllPaths_generated.h for dylib dependencies\"\nfor a in $(grep .dylib \"$SRCROOT\"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\\\"//g) ; do\n check_dyloaded_depends $a\ndone\n\necho \"Checking $TARGET_FRAMEWORKS for missing dylib dependencies\"\nREWIND=\"1\"\nwhile [ $REWIND = \"1\" ]\ndo\n\tlet REWIND=\"0\"\n\tfor b in \"$TARGET_FRAMEWORKS/\"*dylib* ; do\n\t\t#echo \" Processing $b\"\n\t\tfor a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n\t\t\t#echo \"Processing $a\"\n\t\t\tif [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n\t\t\t\techo \" Packaging $a\"\n\t\t\t\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\t\t\t\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\t\t\t\tlet REWIND=\"1\"\n\t\t\tfi\n\t\t\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n\t\tdone \n\tdone\ndone\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -6618,7 +6618,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash;
- shellScript = "#set -x\n\nfunction check_dyloaded_depends\n{\n b=$(find \"$EXTERNAL_LIBS\" -name $1 -print)\n if [ -f \"$b\" ]; then\n #echo \"Processing $b\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $b)\" ]; then\n echo \" Packaging $b\"\n cp -f \"$b\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n if [ -f \"$a\" ]; then\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n fi\n done \n fi\n}\n\nfunction check_xbmc_dylib_depends\n{\n REWIND=\"1\"\n while [ $REWIND = \"1\" ]\n do\n let REWIND=\"0\"\n for b in $(find \"$1\" -type f -name \"$2\" -print) ; do\n #echo \"Processing $b\"\n install_name_tool -id \"$(basename $b)\" \"$b\"\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n #echo \" Packaging $a\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n let REWIND=\"1\"\n fi\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$b\"\n done\n done\n done\n}\n\nEXTERNAL_LIBS=/Users/Shared/xbmc-depends/\"$SDK_NAME\"_\"$ARCHS\"\n\nTARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION\nTARGET_CONTENTS=$TARGET_BUILD_DIR/$TARGET_NAME\n\nTARGET_BINARY=$TARGET_CONTENTS/XBMC\nTARGET_FRAMEWORKS=$TARGET_CONTENTS/Frameworks\nDYLIB_NAMEPATH=@executable_path/Frameworks\nXBMC_HOME=$TARGET_CONTENTS/XBMCData/XBMCHome\n\nmkdir -p \"$TARGET_CONTENTS\"\nmkdir -p \"$TARGET_CONTENTS/XBMCData/XBMCHome\"\n# start clean so we don't keep old dylibs\nrm -rf \"$TARGET_CONTENTS/Frameworks\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks\"\n\necho \"Package $TARGET_BUILD_DIR/XBMC\"\n\n# Copy all of XBMC's dylib dependencies and rename their locations to inside the Framework\necho \"Checking $TARGET_BINARY dylib dependencies\"\nfor a in $(otool -L \"$TARGET_BINARY\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do \n\techo \" Packaging $a\"\n\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_BINARY\"\ndone\n\necho \"Package $EXTERNAL_LIBS/lib/python2.6\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks/lib\"\nPYTHONSYNC=\"rsync -aq --exclude .DS_Store --exclude *.a --exclude *.exe --exclude test --exclude tests\"\n${PYTHONSYNC} \"$EXTERNAL_LIBS/lib/python2.6\" \"$TARGET_FRAMEWORKS/lib/\"\nrm -rf \"$TARGET_FRAMEWORKS/lib/python2.6/config\"\n\necho \"Checking $TARGET_FRAMEWORKS/lib/python2.6 *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$TARGET_FRAMEWORKS\"/lib/python2.6 \"*.so\"\n\necho \"Checking $XBMC_HOME/system *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/system \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.pvr for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.pvr\"\n\necho \"Checking $XBMC_HOME/addons *.xbs for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.xbs\"\n\necho \"Checking xbmc/DllPaths_generated.h for dylib dependencies\"\nfor a in $(grep .dylib \"$SRCROOT\"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\\\"//g) ; do\n check_dyloaded_depends $a\ndone\n\necho \"Checking $TARGET_FRAMEWORKS for missing dylib dependencies\"\nREWIND=\"1\"\nwhile [ $REWIND = \"1\" ]\ndo\n\tlet REWIND=\"0\"\n\tfor b in \"$TARGET_FRAMEWORKS/\"*dylib* ; do\n\t\t#echo \" Processing $b\"\n\t\tfor a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n\t\t\t#echo \"Processing $a\"\n\t\t\tif [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n\t\t\t\techo \" Packaging $a\"\n\t\t\t\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\t\t\t\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\t\t\t\tlet REWIND=\"1\"\n\t\t\tfi\n\t\t\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n\t\tdone \n\tdone\ndone\n";
+ shellScript = "#set -x\n\nfunction check_dyloaded_depends\n{\n b=$(find \"$EXTERNAL_LIBS\" -name $1 -print)\n if [ -f \"$b\" ]; then\n #echo \"Processing $b\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $b)\" ]; then\n echo \" Packaging $b\"\n cp -f \"$b\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n if [ -f \"$a\" ]; then\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n fi\n fi\n done \n fi\n}\n\nfunction check_xbmc_dylib_depends\n{\n REWIND=\"1\"\n while [ $REWIND = \"1\" ]\n do\n let REWIND=\"0\"\n for b in $(find \"$1\" -type f -name \"$2\" -print) ; do\n #echo \"Processing $b\"\n install_name_tool -id \"$(basename $b)\" \"$b\"\n for a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n #echo \" Packaging $a\"\n if [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n echo \" Packaging $a\"\n cp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n chmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n let REWIND=\"1\"\n fi\n install_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$b\"\n done\n done\n done\n}\n\nEXTERNAL_LIBS=/Users/Shared/xbmc-depends/\"$SDK_NAME\"_\"$ARCHS\"\n\nTARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION\nTARGET_CONTENTS=$TARGET_BUILD_DIR/$TARGET_NAME\n\nTARGET_BINARY=$TARGET_CONTENTS/XBMC\nTARGET_FRAMEWORKS=$TARGET_CONTENTS/Frameworks\nDYLIB_NAMEPATH=@executable_path/Frameworks\nXBMC_HOME=$TARGET_CONTENTS/XBMCData/XBMCHome\n\nmkdir -p \"$TARGET_CONTENTS\"\nmkdir -p \"$TARGET_CONTENTS/XBMCData/XBMCHome\"\n# start clean so we don't keep old dylibs\nrm -rf \"$TARGET_CONTENTS/Frameworks\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks\"\n\necho \"Package $TARGET_BUILD_DIR/XBMC\"\n\n# Copy all of XBMC's dylib dependencies and rename their locations to inside the Framework\necho \"Checking $TARGET_BINARY dylib dependencies\"\nfor a in $(otool -L \"$TARGET_BINARY\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do \n\techo \" Packaging $a\"\n\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_BINARY\"\ndone\n\nif [ \"$SDK_NAME\" = \"iphoneos6.0\" ] ; then\n\techo \"Fixing $TARGET_BINARY VideoToolbox dylib name\"\n VTB_SDK6=/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox\n VTB_SDK5=/System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox\n\tinstall_name_tool -change \"$VTB_SDK6\" \"$VTB_SDK5\" \"$TARGET_BINARY\"\nfi\n\necho \"Package $EXTERNAL_LIBS/lib/python2.6\"\nmkdir -p \"$TARGET_CONTENTS/Frameworks/lib\"\nPYTHONSYNC=\"rsync -aq --exclude .DS_Store --exclude *.a --exclude *.exe --exclude test --exclude tests\"\n${PYTHONSYNC} \"$EXTERNAL_LIBS/lib/python2.6\" \"$TARGET_FRAMEWORKS/lib/\"\nrm -rf \"$TARGET_FRAMEWORKS/lib/python2.6/config\"\n\necho \"Checking $TARGET_FRAMEWORKS/lib/python2.6 *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$TARGET_FRAMEWORKS\"/lib/python2.6 \"*.so\"\n\necho \"Checking $XBMC_HOME/system *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/system \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.so for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.so\"\n\necho \"Checking $XBMC_HOME/addons *.pvr for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.pvr\"\n\necho \"Checking $XBMC_HOME/addons *.xbs for dylib dependencies\"\ncheck_xbmc_dylib_depends \"$XBMC_HOME\"/addons \"*.xbs\"\n\necho \"Checking xbmc/DllPaths_generated.h for dylib dependencies\"\nfor a in $(grep .dylib \"$SRCROOT\"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\\\"//g) ; do\n check_dyloaded_depends $a\ndone\n\necho \"Checking $TARGET_FRAMEWORKS for missing dylib dependencies\"\nREWIND=\"1\"\nwhile [ $REWIND = \"1\" ]\ndo\n\tlet REWIND=\"0\"\n\tfor b in \"$TARGET_FRAMEWORKS/\"*dylib* ; do\n\t\t#echo \" Processing $b\"\n\t\tfor a in $(otool -L \"$b\" | grep \"$EXTERNAL_LIBS\" | awk ' { print $1 } ') ; do\n\t\t\t#echo \"Processing $a\"\n\t\t\tif [ ! -f \"$TARGET_FRAMEWORKS/$(basename $a)\" ]; then\n\t\t\t\techo \" Packaging $a\"\n\t\t\t\tcp -f \"$a\" \"$TARGET_FRAMEWORKS/\"\n\t\t\t\tchmod u+w \"$TARGET_FRAMEWORKS/$(basename $a)\"\n\t\t\t\tlet REWIND=\"1\"\n\t\t\tfi\n\t\t\tinstall_name_tool -change \"$a\" \"$DYLIB_NAMEPATH/$(basename $a)\" \"$TARGET_FRAMEWORKS/$(basename $b)\"\n\t\tdone \n\tdone\ndone\n";
};
/* End PBXShellScriptBuildPhase section */

0 comments on commit 7062904

Please sign in to comment.