From b168c9d273e2135eb88b3d0f56591624498c49be Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 18 Oct 2014 22:03:12 -0400 Subject: [PATCH] Remove shell script in preparation for build integration with Limelight-iOS --- limelight-common.xcodeproj/project.pbxproj | 17 --- make_fat_lib.sh | 122 --------------------- 2 files changed, 139 deletions(-) delete mode 100755 make_fat_lib.sh diff --git a/limelight-common.xcodeproj/project.pbxproj b/limelight-common.xcodeproj/project.pbxproj index d4caafc..453863a 100644 --- a/limelight-common.xcodeproj/project.pbxproj +++ b/limelight-common.xcodeproj/project.pbxproj @@ -188,7 +188,6 @@ FB290E2A19B37A4E004C83CF /* Sources */, FB290E2B19B37A4E004C83CF /* Frameworks */, FB290E2C19B37A4E004C83CF /* Headers */, - FB290E7719B37ABD004C83CF /* ShellScript */, ); buildRules = ( ); @@ -225,22 +224,6 @@ }; /* End PBXProject section */ -/* Begin PBXShellScriptBuildPhase section */ - FB290E7719B37ABD004C83CF /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "##########################################\n#\n# c.f. http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4\n#\n# Version 2.7\n#\n# Latest Change:\n# - Supports iPhone 5 / iPod Touch 5 (uses Apple's workaround to lipo bug)\n#\n# Purpose:\n# Automatically create a Universal static library for iPhone + iPad + iPhone Simulator from within XCode\n#\n# Author: Adam Martin - http://twitter.com/t_machine_org\n# Based on: original script from Eonil (main changes: Eonil's script WILL NOT WORK in Xcode GUI - it WILL CRASH YOUR COMPUTER)\n#\n\nset -e\nset -o pipefail\n\n#################[ Tests: helps workaround any future bugs in Xcode ]########\n#\nDEBUG_THIS_SCRIPT=\"false\"\n\nif [ $DEBUG_THIS_SCRIPT = \"true\" ]\nthen\necho \"########### TESTS #############\"\necho \"Use the following variables when debugging this script; note that they may change on recursions\"\necho \"BUILD_DIR = $BUILD_DIR\"\necho \"BUILD_ROOT = $BUILD_ROOT\"\necho \"CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR\"\necho \"BUILT_PRODUCTS_DIR = $BUILT_PRODUCTS_DIR\"\necho \"CONFIGURATION_TEMP_DIR = $CONFIGURATION_TEMP_DIR\"\necho \"TARGET_BUILD_DIR = $TARGET_BUILD_DIR\"\nfi\n\n#####################[ part 1 ]##################\n# First, work out the BASESDK version number (NB: Apple ought to report this, but they hide it)\n# (incidental: searching for substrings in sh is a nightmare! Sob)\n\nSDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\\{3\\}$')\n\n# Next, work out if we're in SIM or DEVICE\n\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]\nthen\nOTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION}\nelse\nOTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION}\nfi\n\necho \"XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})\"\necho \"...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}\"\n#\n#####################[ end of part 1 ]##################\n\n#####################[ part 2 ]##################\n#\n# IF this is the original invocation, invoke WHATEVER other builds are required\n#\n# Xcode is already building ONE target...\n#\n# ...but this is a LIBRARY, so Apple is wrong to set it to build just one.\n# ...we need to build ALL targets\n# ...we MUST NOT re-build the target that is ALREADY being built: Xcode WILL CRASH YOUR COMPUTER if you try this (infinite recursion!)\n#\n#\n# So: build ONLY the missing platforms/configurations.\n\nif [ \"true\" == ${ALREADYINVOKED:-false} ]\nthen\necho \"RECURSION: I am NOT the root invocation, so I'm NOT going to recurse\"\nelse\n# CRITICAL:\n# Prevent infinite recursion (Xcode sucks)\nexport ALREADYINVOKED=\"true\"\n\necho \"RECURSION: I am the root ... recursing all missing build targets NOW...\"\necho \"RECURSION: ...about to invoke: xcodebuild -configuration \\\"${CONFIGURATION}\\\" -project \\\"${PROJECT_NAME}.xcodeproj\\\" -target \\\"${TARGET_NAME}\\\" -sdk \\\"${OTHER_SDK_TO_BUILD}\\\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\" BUILD_DIR=\\\"${BUILD_DIR}\\\" BUILD_ROOT=\\\"${BUILD_ROOT}\\\" SYMROOT=\\\"${SYMROOT}\\\"\n\nxcodebuild -configuration \"${CONFIGURATION}\" -project \"${PROJECT_NAME}.xcodeproj\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\" SYMROOT=\"${SYMROOT}\"\n\nACTION=\"build\"\n\n#Merge all platform binaries as a fat binary for each configurations.\n\n# Calculate where the (multiple) built files are coming from:\nCURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos\nCURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator\n\necho \"Taking device build from: ${CURRENTCONFIG_DEVICE_DIR}\"\necho \"Taking simulator build from: ${CURRENTCONFIG_SIMULATOR_DIR}\"\n\nCREATING_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal\necho \"...I will output a universal build to: ${CREATING_UNIVERSAL_DIR}\"\n\n# ... remove the products of previous runs of this script\n# NB: this directory is ONLY created by this script - it should be safe to delete!\n\nrm -rf \"${CREATING_UNIVERSAL_DIR}\"\nmkdir \"${CREATING_UNIVERSAL_DIR}\"\n\n#\necho \"lipo: for current configuration (${CONFIGURATION}) creating output file: ${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\"\nxcrun -sdk iphoneos lipo -create -output \"${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}\"\n\n#########\n#\n# Added: StackOverflow suggestion to also copy \"include\" files\n# (untested, but should work OK)\n#\necho \"Fetching headers from ${PUBLIC_HEADERS_FOLDER_PATH}\"\necho \" (if you embed your library project in another project, you will need to add\"\necho \" a \"User Search Headers\" build setting of: (NB INCLUDE THE DOUBLE QUOTES BELOW!)\"\necho ' \"$(TARGET_BUILD_DIR)/usr/local/include/\"'\nif [ -d \"${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\" ]\nthen\nmkdir -p \"${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"\n# * needs to be outside the double quotes?\ncp -r \"${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"* \"${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"\nfi\nfi"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ FB290E2A19B37A4E004C83CF /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/make_fat_lib.sh b/make_fat_lib.sh deleted file mode 100755 index b5b7ec8..0000000 --- a/make_fat_lib.sh +++ /dev/null @@ -1,122 +0,0 @@ -########################################## -# -# c.f. http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4 -# -# Version 2.7 -# -# Latest Change: -# - Supports iPhone 5 / iPod Touch 5 (uses Apple's workaround to lipo bug) -# -# Purpose: -# Automatically create a Universal static library for iPhone + iPad + iPhone Simulator from within XCode -# -# Author: Adam Martin - http://twitter.com/t_machine_org -# Based on: original script from Eonil (main changes: Eonil's script WILL NOT WORK in Xcode GUI - it WILL CRASH YOUR COMPUTER) -# - -set -e -set -o pipefail - -#################[ Tests: helps workaround any future bugs in Xcode ]######## -# -DEBUG_THIS_SCRIPT="false" - -if [ $DEBUG_THIS_SCRIPT = "true" ] -then -echo "########### TESTS #############" -echo "Use the following variables when debugging this script; note that they may change on recursions" -echo "BUILD_DIR = $BUILD_DIR" -echo "BUILD_ROOT = $BUILD_ROOT" -echo "CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR" -echo "BUILT_PRODUCTS_DIR = $BUILT_PRODUCTS_DIR" -echo "CONFIGURATION_TEMP_DIR = $CONFIGURATION_TEMP_DIR" -echo "TARGET_BUILD_DIR = $TARGET_BUILD_DIR" -fi - -#####################[ part 1 ]################## -# First, work out the BASESDK version number (NB: Apple ought to report this, but they hide it) -# (incidental: searching for substrings in sh is a nightmare! Sob) - -SDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\{3\}$') - -# Next, work out if we're in SIM or DEVICE - -if [ ${PLATFORM_NAME} = "iphonesimulator" ] -then -OTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION} -else -OTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION} -fi - -echo "XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})" -echo "...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}" -# -#####################[ end of part 1 ]################## - -#####################[ part 2 ]################## -# -# IF this is the original invocation, invoke WHATEVER other builds are required -# -# Xcode is already building ONE target... -# -# ...but this is a LIBRARY, so Apple is wrong to set it to build just one. -# ...we need to build ALL targets -# ...we MUST NOT re-build the target that is ALREADY being built: Xcode WILL CRASH YOUR COMPUTER if you try this (infinite recursion!) -# -# -# So: build ONLY the missing platforms/configurations. - -if [ "true" == ${ALREADYINVOKED:-false} ] -then -echo "RECURSION: I am NOT the root invocation, so I'm NOT going to recurse" -else -# CRITICAL: -# Prevent infinite recursion (Xcode sucks) -export ALREADYINVOKED="true" - -echo "RECURSION: I am the root ... recursing all missing build targets NOW..." -echo "RECURSION: ...about to invoke: xcodebuild -configuration \"${CONFIGURATION}\" -project \"${PROJECT_NAME}.xcodeproj\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO" BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\" SYMROOT=\"${SYMROOT}\" - -xcodebuild -configuration "${CONFIGURATION}" -project "${PROJECT_NAME}.xcodeproj" -target "${TARGET_NAME}" -sdk "${OTHER_SDK_TO_BUILD}" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" SYMROOT="${SYMROOT}" - -ACTION="build" - -#Merge all platform binaries as a fat binary for each configurations. - -# Calculate where the (multiple) built files are coming from: -CURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos -CURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator - -echo "Taking device build from: ${CURRENTCONFIG_DEVICE_DIR}" -echo "Taking simulator build from: ${CURRENTCONFIG_SIMULATOR_DIR}" - -CREATING_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal -echo "...I will output a universal build to: ${CREATING_UNIVERSAL_DIR}" - -# ... remove the products of previous runs of this script -# NB: this directory is ONLY created by this script - it should be safe to delete! - -rm -rf "${CREATING_UNIVERSAL_DIR}" -mkdir "${CREATING_UNIVERSAL_DIR}" - -# -echo "lipo: for current configuration (${CONFIGURATION}) creating output file: ${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}" -xcrun -sdk iphoneos lipo -create -output "${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}" "${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}" "${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}" - -######### -# -# Added: StackOverflow suggestion to also copy "include" files -# (untested, but should work OK) -# -echo "Fetching headers from ${PUBLIC_HEADERS_FOLDER_PATH}" -echo " (if you embed your library project in another project, you will need to add" -echo " a "User Search Headers" build setting of: (NB INCLUDE THE DOUBLE QUOTES BELOW!)" -echo ' "$(TARGET_BUILD_DIR)/usr/local/include/"' -if [ -d "${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}" ] -then -mkdir -p "${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}" -# * needs to be outside the double quotes? -cp -r "${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}"* "${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}" -fi -fi -open "${CREATING_UNIVERSAL_DIR}" \ No newline at end of file