Skip to content

Commit

Permalink
[osx/ios] refactor depends build and switchover to using 10.6sdk for osx
Browse files Browse the repository at this point in the history
  • Loading branch information
davilla committed May 10, 2012
1 parent 2cd1b7c commit 2a406ae
Show file tree
Hide file tree
Showing 24 changed files with 261 additions and 2,464 deletions.
14 changes: 7 additions & 7 deletions XBMC-ATV2.xcodeproj/project.pbxproj
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -3100,10 +3100,10 @@
children = ( children = (
DFC539391526659D00D5FD5C /* AppIcon.png */, DFC539391526659D00D5FD5C /* AppIcon.png */,
8316267513B670D7004AED87 /* Documentation */, 8316267513B670D7004AED87 /* Documentation */,
F589AE6D12890B6700D8079E /* Internal Libs */,
19C28FB6FE9D52B211CA2CBB /* Products */,
F56C704E131EC150000AD0F6 /* Source */, F56C704E131EC150000AD0F6 /* Source */,
F589AE6D12890B6700D8079E /* Internal Libs */,
F5899DC91287212700D8079E /* System Libs and Frameworks */, F5899DC91287212700D8079E /* System Libs and Frameworks */,
19C28FB6FE9D52B211CA2CBB /* Products */,
); );
name = "XBMC-frapp"; name = "XBMC-frapp";
sourceTree = "<group>"; sourceTree = "<group>";
Expand Down Expand Up @@ -6239,7 +6239,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash; 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\" -name \"$2\" -print) ; do\n #echo \"Processing $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/ios-4.2_armv7\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 *.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\" -name \"$2\" -print) ; do\n #echo \"Processing $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 *.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 */ /* End PBXShellScriptBuildPhase section */


Expand Down Expand Up @@ -7321,7 +7321,7 @@
TARGETED_DEVICE_FAMILY = "2,3"; TARGETED_DEVICE_FAMILY = "2,3";
USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6"; USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6";
WRAPPER_EXTENSION = frappliance; WRAPPER_EXTENSION = frappliance;
XBMC_DEPENDS = "/Users/Shared/xbmc-depends/ios-4.2_armv7"; XBMC_DEPENDS = "/Users/Shared/xbmc-depends/$(SDK_NAME)_$(ARCHS)";
}; };
name = Debug; name = Debug;
}; };
Expand Down Expand Up @@ -7437,7 +7437,7 @@
TARGETED_DEVICE_FAMILY = "2,3"; TARGETED_DEVICE_FAMILY = "2,3";
USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6"; USER_HEADER_SEARCH_PATHS = "$XBMC_DEPENDS/include $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6";
WRAPPER_EXTENSION = frappliance; WRAPPER_EXTENSION = frappliance;
XBMC_DEPENDS = "/Users/Shared/xbmc-depends/ios-4.2_armv7"; XBMC_DEPENDS = "/Users/Shared/xbmc-depends/$(SDK_NAME)_$(ARCHS)";
}; };
name = Release; name = Release;
}; };
Expand All @@ -7449,7 +7449,7 @@
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.1; IPHONEOS_DEPLOYMENT_TARGET = 4.2;
ONLY_ACTIVE_ARCH = NO; ONLY_ACTIVE_ARCH = NO;
PREBINDING = NO; PREBINDING = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
Expand All @@ -7468,7 +7468,7 @@
GCC_OPTIMIZATION_LEVEL = s; GCC_OPTIMIZATION_LEVEL = s;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.1; IPHONEOS_DEPLOYMENT_TARGET = 4.2;
ONLY_ACTIVE_ARCH = NO; ONLY_ACTIVE_ARCH = NO;
PREBINDING = NO; PREBINDING = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
Expand Down
Loading

0 comments on commit 2a406ae

Please sign in to comment.