mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2026-10-27 14:29:58 +00:00
Remove shell script in preparation for build integration with Limelight-iOS
This commit is contained in:
1 parent
1906128eb7
commit
b168c9d273
2 files changed
-139
No files matched your search
@@ -188,7 +188,6 @@
|
|||||||
FB290E2A19B37A4E004C83CF /* Sources */,
|
FB290E2A19B37A4E004C83CF /* Sources */,
|
||||||
FB290E2B19B37A4E004C83CF /* Frameworks */,
|
FB290E2B19B37A4E004C83CF /* Frameworks */,
|
||||||
FB290E2C19B37A4E004C83CF /* Headers */,
|
FB290E2C19B37A4E004C83CF /* Headers */,
|
||||||
FB290E7719B37ABD004C83CF /* ShellScript */,
|
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -225,22 +224,6 @@
|
|||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* 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_PLine truncated
|
|
||||||
};
|
|
||||||
/* End PBXShellScriptBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
FB290E2A19B37A4E004C83CF /* Sources */ = {
|
FB290E2A19B37A4E004C83CF /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
|
|||||||
-122
@@ -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}"
|
|
||||||
Reference in new issue
Block a user