From a0b54e9d425aa77fb2cc07437bb2e6510b68e6d5 Mon Sep 17 00:00:00 2001 From: Diego Waxemberg Date: Sun, 31 Aug 2014 13:07:44 -0400 Subject: [PATCH] Created Xcode project for compiling universal static lib for iOS --- .gitignore | 1 + limelight-common.xcodeproj/project.pbxproj | 386 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/limelight-common.xccheckout | 41 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 13887 bytes .../xcschemes/limelight-common.xcscheme | 59 +++ .../xcschemes/xcschememanagement.plist | 22 + limelight-common/InputStream.c | 4 +- limelight-common/RtspConnection.c | 5 +- limelight-common/SdpGenerator.c | 1 + make_fat_lib.sh | 122 ++++++ 11 files changed, 644 insertions(+), 4 deletions(-) create mode 100644 limelight-common.xcodeproj/project.pbxproj create mode 100644 limelight-common.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 limelight-common.xcodeproj/project.xcworkspace/xcshareddata/limelight-common.xccheckout create mode 100644 limelight-common.xcodeproj/project.xcworkspace/xcuserdata/diegowaxemberg.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/limelight-common.xcscheme create mode 100644 limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 make_fat_lib.sh diff --git a/.gitignore b/.gitignore index beccb97..a36762f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ limelight-common/ARM/ limelight-common/Debug/ +Build/ diff --git a/limelight-common.xcodeproj/project.pbxproj b/limelight-common.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d4caafc --- /dev/null +++ b/limelight-common.xcodeproj/project.pbxproj @@ -0,0 +1,386 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + FB290E5A19B37A8B004C83CF /* AudioStream.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E3619B37A8B004C83CF /* AudioStream.c */; }; + FB290E5B19B37A8B004C83CF /* ByteBuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E3719B37A8B004C83CF /* ByteBuffer.c */; }; + FB290E5C19B37A8B004C83CF /* ByteBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E3819B37A8B004C83CF /* ByteBuffer.h */; }; + FB290E5D19B37A8B004C83CF /* Connection.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E3919B37A8B004C83CF /* Connection.c */; }; + FB290E5E19B37A8B004C83CF /* ControlStream.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E3A19B37A8B004C83CF /* ControlStream.c */; }; + FB290E5F19B37A8B004C83CF /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E3B19B37A8B004C83CF /* Input.h */; }; + FB290E6019B37A8B004C83CF /* InputStream.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E3C19B37A8B004C83CF /* InputStream.c */; }; + FB290E6119B37A8B004C83CF /* Limelight-internal.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E3F19B37A8B004C83CF /* Limelight-internal.h */; }; + FB290E6219B37A8B004C83CF /* Limelight.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4019B37A8B004C83CF /* Limelight.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FB290E6319B37A8B004C83CF /* LinkedBlockingQueue.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E4119B37A8B004C83CF /* LinkedBlockingQueue.c */; }; + FB290E6419B37A8B004C83CF /* LinkedBlockingQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4219B37A8B004C83CF /* LinkedBlockingQueue.h */; }; + FB290E6519B37A8B004C83CF /* oaes_base64.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E4519B37A8B004C83CF /* oaes_base64.c */; }; + FB290E6619B37A8B004C83CF /* oaes_base64.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4619B37A8B004C83CF /* oaes_base64.h */; }; + FB290E6719B37A8B004C83CF /* oaes_common.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4719B37A8B004C83CF /* oaes_common.h */; }; + FB290E6819B37A8B004C83CF /* oaes_config.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4819B37A8B004C83CF /* oaes_config.h */; }; + FB290E6919B37A8B004C83CF /* oaes_lib.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E4919B37A8B004C83CF /* oaes_lib.c */; }; + FB290E6A19B37A8B004C83CF /* oaes_lib.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4A19B37A8B004C83CF /* oaes_lib.h */; }; + FB290E6B19B37A8B004C83CF /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4D19B37A8B004C83CF /* Platform.h */; }; + FB290E6C19B37A8B004C83CF /* PlatformSockets.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E4E19B37A8B004C83CF /* PlatformSockets.c */; }; + FB290E6D19B37A8B004C83CF /* PlatformSockets.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E4F19B37A8B004C83CF /* PlatformSockets.h */; }; + FB290E6E19B37A8B004C83CF /* PlatformThreads.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5019B37A8B004C83CF /* PlatformThreads.c */; }; + FB290E6F19B37A8B004C83CF /* PlatformThreads.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E5119B37A8B004C83CF /* PlatformThreads.h */; }; + FB290E7019B37A8B004C83CF /* Rtsp.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E5219B37A8B004C83CF /* Rtsp.h */; }; + FB290E7119B37A8B004C83CF /* RtspConnection.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5319B37A8B004C83CF /* RtspConnection.c */; }; + FB290E7219B37A8B004C83CF /* RtspParser.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5419B37A8B004C83CF /* RtspParser.c */; }; + FB290E7319B37A8B004C83CF /* SdpGenerator.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5519B37A8B004C83CF /* SdpGenerator.c */; }; + FB290E7419B37A8B004C83CF /* Video.h in Headers */ = {isa = PBXBuildFile; fileRef = FB290E5619B37A8B004C83CF /* Video.h */; }; + FB290E7519B37A8B004C83CF /* VideoDepacketizer.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5719B37A8B004C83CF /* VideoDepacketizer.c */; }; + FB290E7619B37A8B004C83CF /* VideoStream.c in Sources */ = {isa = PBXBuildFile; fileRef = FB290E5819B37A8B004C83CF /* VideoStream.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + FB290E2E19B37A4E004C83CF /* liblimelight-common.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "liblimelight-common.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + FB290E3619B37A8B004C83CF /* AudioStream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = AudioStream.c; sourceTree = ""; }; + FB290E3719B37A8B004C83CF /* ByteBuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ByteBuffer.c; sourceTree = ""; }; + FB290E3819B37A8B004C83CF /* ByteBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteBuffer.h; sourceTree = ""; }; + FB290E3919B37A8B004C83CF /* Connection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Connection.c; sourceTree = ""; }; + FB290E3A19B37A8B004C83CF /* ControlStream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ControlStream.c; sourceTree = ""; }; + FB290E3B19B37A8B004C83CF /* Input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Input.h; sourceTree = ""; }; + FB290E3C19B37A8B004C83CF /* InputStream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = InputStream.c; sourceTree = ""; }; + FB290E3D19B37A8B004C83CF /* limelight-common.vcxproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "limelight-common.vcxproj"; sourceTree = ""; }; + FB290E3E19B37A8B004C83CF /* limelight-common.vcxproj.filters */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "limelight-common.vcxproj.filters"; sourceTree = ""; }; + FB290E3F19B37A8B004C83CF /* Limelight-internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Limelight-internal.h"; sourceTree = ""; }; + FB290E4019B37A8B004C83CF /* Limelight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Limelight.h; sourceTree = ""; }; + FB290E4119B37A8B004C83CF /* LinkedBlockingQueue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = LinkedBlockingQueue.c; sourceTree = ""; }; + FB290E4219B37A8B004C83CF /* LinkedBlockingQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkedBlockingQueue.h; sourceTree = ""; }; + FB290E4419B37A8B004C83CF /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + FB290E4519B37A8B004C83CF /* oaes_base64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = oaes_base64.c; sourceTree = ""; }; + FB290E4619B37A8B004C83CF /* oaes_base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oaes_base64.h; sourceTree = ""; }; + FB290E4719B37A8B004C83CF /* oaes_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oaes_common.h; sourceTree = ""; }; + FB290E4819B37A8B004C83CF /* oaes_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oaes_config.h; sourceTree = ""; }; + FB290E4919B37A8B004C83CF /* oaes_lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = oaes_lib.c; sourceTree = ""; }; + FB290E4A19B37A8B004C83CF /* oaes_lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oaes_lib.h; sourceTree = ""; }; + FB290E4B19B37A8B004C83CF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + FB290E4C19B37A8B004C83CF /* VERSION */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VERSION; sourceTree = ""; }; + FB290E4D19B37A8B004C83CF /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = ""; }; + FB290E4E19B37A8B004C83CF /* PlatformSockets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = PlatformSockets.c; sourceTree = ""; }; + FB290E4F19B37A8B004C83CF /* PlatformSockets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformSockets.h; sourceTree = ""; }; + FB290E5019B37A8B004C83CF /* PlatformThreads.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = PlatformThreads.c; sourceTree = ""; }; + FB290E5119B37A8B004C83CF /* PlatformThreads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformThreads.h; sourceTree = ""; }; + FB290E5219B37A8B004C83CF /* Rtsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rtsp.h; sourceTree = ""; }; + FB290E5319B37A8B004C83CF /* RtspConnection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = RtspConnection.c; sourceTree = ""; }; + FB290E5419B37A8B004C83CF /* RtspParser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = RtspParser.c; sourceTree = ""; }; + FB290E5519B37A8B004C83CF /* SdpGenerator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SdpGenerator.c; sourceTree = ""; }; + FB290E5619B37A8B004C83CF /* Video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Video.h; sourceTree = ""; }; + FB290E5719B37A8B004C83CF /* VideoDepacketizer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = VideoDepacketizer.c; sourceTree = ""; }; + FB290E5819B37A8B004C83CF /* VideoStream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = VideoStream.c; sourceTree = ""; }; + FB290E5919B37A8B004C83CF /* make_fat_lib.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = make_fat_lib.sh; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FB290E2B19B37A4E004C83CF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FB290E2519B37A4E004C83CF = { + isa = PBXGroup; + children = ( + FB290E3519B37A8B004C83CF /* limelight-common */, + FB290E5919B37A8B004C83CF /* make_fat_lib.sh */, + FB290E2F19B37A4E004C83CF /* Products */, + ); + sourceTree = ""; + }; + FB290E2F19B37A4E004C83CF /* Products */ = { + isa = PBXGroup; + children = ( + FB290E2E19B37A4E004C83CF /* liblimelight-common.a */, + ); + name = Products; + sourceTree = ""; + }; + FB290E3519B37A8B004C83CF /* limelight-common */ = { + isa = PBXGroup; + children = ( + FB290E3619B37A8B004C83CF /* AudioStream.c */, + FB290E3719B37A8B004C83CF /* ByteBuffer.c */, + FB290E3819B37A8B004C83CF /* ByteBuffer.h */, + FB290E3919B37A8B004C83CF /* Connection.c */, + FB290E3A19B37A8B004C83CF /* ControlStream.c */, + FB290E3B19B37A8B004C83CF /* Input.h */, + FB290E3C19B37A8B004C83CF /* InputStream.c */, + FB290E3D19B37A8B004C83CF /* limelight-common.vcxproj */, + FB290E3E19B37A8B004C83CF /* limelight-common.vcxproj.filters */, + FB290E3F19B37A8B004C83CF /* Limelight-internal.h */, + FB290E4019B37A8B004C83CF /* Limelight.h */, + FB290E4119B37A8B004C83CF /* LinkedBlockingQueue.c */, + FB290E4219B37A8B004C83CF /* LinkedBlockingQueue.h */, + FB290E4319B37A8B004C83CF /* OpenAES */, + FB290E4D19B37A8B004C83CF /* Platform.h */, + FB290E4E19B37A8B004C83CF /* PlatformSockets.c */, + FB290E4F19B37A8B004C83CF /* PlatformSockets.h */, + FB290E5019B37A8B004C83CF /* PlatformThreads.c */, + FB290E5119B37A8B004C83CF /* PlatformThreads.h */, + FB290E5219B37A8B004C83CF /* Rtsp.h */, + FB290E5319B37A8B004C83CF /* RtspConnection.c */, + FB290E5419B37A8B004C83CF /* RtspParser.c */, + FB290E5519B37A8B004C83CF /* SdpGenerator.c */, + FB290E5619B37A8B004C83CF /* Video.h */, + FB290E5719B37A8B004C83CF /* VideoDepacketizer.c */, + FB290E5819B37A8B004C83CF /* VideoStream.c */, + ); + path = "limelight-common"; + sourceTree = ""; + }; + FB290E4319B37A8B004C83CF /* OpenAES */ = { + isa = PBXGroup; + children = ( + FB290E4419B37A8B004C83CF /* LICENSE */, + FB290E4519B37A8B004C83CF /* oaes_base64.c */, + FB290E4619B37A8B004C83CF /* oaes_base64.h */, + FB290E4719B37A8B004C83CF /* oaes_common.h */, + FB290E4819B37A8B004C83CF /* oaes_config.h */, + FB290E4919B37A8B004C83CF /* oaes_lib.c */, + FB290E4A19B37A8B004C83CF /* oaes_lib.h */, + FB290E4B19B37A8B004C83CF /* README */, + FB290E4C19B37A8B004C83CF /* VERSION */, + ); + path = OpenAES; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + FB290E2C19B37A4E004C83CF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FB290E6219B37A8B004C83CF /* Limelight.h in Headers */, + FB290E7019B37A8B004C83CF /* Rtsp.h in Headers */, + FB290E6819B37A8B004C83CF /* oaes_config.h in Headers */, + FB290E6619B37A8B004C83CF /* oaes_base64.h in Headers */, + FB290E6F19B37A8B004C83CF /* PlatformThreads.h in Headers */, + FB290E5C19B37A8B004C83CF /* ByteBuffer.h in Headers */, + FB290E6719B37A8B004C83CF /* oaes_common.h in Headers */, + FB290E5F19B37A8B004C83CF /* Input.h in Headers */, + FB290E6A19B37A8B004C83CF /* oaes_lib.h in Headers */, + FB290E6119B37A8B004C83CF /* Limelight-internal.h in Headers */, + FB290E6419B37A8B004C83CF /* LinkedBlockingQueue.h in Headers */, + FB290E6B19B37A8B004C83CF /* Platform.h in Headers */, + FB290E7419B37A8B004C83CF /* Video.h in Headers */, + FB290E6D19B37A8B004C83CF /* PlatformSockets.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + FB290E2D19B37A4E004C83CF /* limelight-common */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB290E3219B37A4E004C83CF /* Build configuration list for PBXNativeTarget "limelight-common" */; + buildPhases = ( + FB290E2A19B37A4E004C83CF /* Sources */, + FB290E2B19B37A4E004C83CF /* Frameworks */, + FB290E2C19B37A4E004C83CF /* Headers */, + FB290E7719B37ABD004C83CF /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "limelight-common"; + productName = "limelight-common"; + productReference = FB290E2E19B37A4E004C83CF /* liblimelight-common.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FB290E2619B37A4E004C83CF /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0510; + ORGANIZATIONNAME = "Limelight Stream"; + }; + buildConfigurationList = FB290E2919B37A4E004C83CF /* Build configuration list for PBXProject "limelight-common" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = FB290E2519B37A4E004C83CF; + productRefGroup = FB290E2F19B37A4E004C83CF /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FB290E2D19B37A4E004C83CF /* limelight-common */, + ); + }; +/* 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; + buildActionMask = 2147483647; + files = ( + FB290E6E19B37A8B004C83CF /* PlatformThreads.c in Sources */, + FB290E5D19B37A8B004C83CF /* Connection.c in Sources */, + FB290E6919B37A8B004C83CF /* oaes_lib.c in Sources */, + FB290E7219B37A8B004C83CF /* RtspParser.c in Sources */, + FB290E6C19B37A8B004C83CF /* PlatformSockets.c in Sources */, + FB290E6519B37A8B004C83CF /* oaes_base64.c in Sources */, + FB290E6319B37A8B004C83CF /* LinkedBlockingQueue.c in Sources */, + FB290E7619B37A8B004C83CF /* VideoStream.c in Sources */, + FB290E5E19B37A8B004C83CF /* ControlStream.c in Sources */, + FB290E7519B37A8B004C83CF /* VideoDepacketizer.c in Sources */, + FB290E7119B37A8B004C83CF /* RtspConnection.c in Sources */, + FB290E7319B37A8B004C83CF /* SdpGenerator.c in Sources */, + FB290E6019B37A8B004C83CF /* InputStream.c in Sources */, + FB290E5A19B37A8B004C83CF /* AudioStream.c in Sources */, + FB290E5B19B37A8B004C83CF /* ByteBuffer.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + FB290E3019B37A4E004C83CF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.10; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + FB290E3119B37A4E004C83CF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.10; + SDKROOT = macosx; + }; + name = Release; + }; + FB290E3319B37A4E004C83CF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + }; + name = Debug; + }; + FB290E3419B37A4E004C83CF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FB290E2919B37A4E004C83CF /* Build configuration list for PBXProject "limelight-common" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB290E3019B37A4E004C83CF /* Debug */, + FB290E3119B37A4E004C83CF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB290E3219B37A4E004C83CF /* Build configuration list for PBXNativeTarget "limelight-common" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB290E3319B37A4E004C83CF /* Debug */, + FB290E3419B37A4E004C83CF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FB290E2619B37A4E004C83CF /* Project object */; +} diff --git a/limelight-common.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/limelight-common.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..4d53b1b --- /dev/null +++ b/limelight-common.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/limelight-common.xcodeproj/project.xcworkspace/xcshareddata/limelight-common.xccheckout b/limelight-common.xcodeproj/project.xcworkspace/xcshareddata/limelight-common.xccheckout new file mode 100644 index 0000000..f13cb96 --- /dev/null +++ b/limelight-common.xcodeproj/project.xcworkspace/xcshareddata/limelight-common.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 662F3EBE-A540-4F33-A434-3BBB22ECCB12 + IDESourceControlProjectName + limelight-common + IDESourceControlProjectOriginsDictionary + + 151E8452-E928-4FE9-BF31-5F5C490B9DD4 + ssh://github.com/limelight-stream/limelight-common-c.git + + IDESourceControlProjectPath + limelight-common.xcodeproj/project.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + 151E8452-E928-4FE9-BF31-5F5C490B9DD4 + ../.. + + IDESourceControlProjectURL + ssh://github.com/limelight-stream/limelight-common-c.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + 151E8452-E928-4FE9-BF31-5F5C490B9DD4 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 151E8452-E928-4FE9-BF31-5F5C490B9DD4 + IDESourceControlWCCName + limelight-common-c + + + + diff --git a/limelight-common.xcodeproj/project.xcworkspace/xcuserdata/diegowaxemberg.xcuserdatad/UserInterfaceState.xcuserstate b/limelight-common.xcodeproj/project.xcworkspace/xcuserdata/diegowaxemberg.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c7029e2a768a1ab45ae8fb644162e52039d6f983 GIT binary patch literal 13887 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 literal 0 HcmV?d00001 diff --git a/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/limelight-common.xcscheme b/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/limelight-common.xcscheme new file mode 100644 index 0000000..bd19f88 --- /dev/null +++ b/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/limelight-common.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/xcschememanagement.plist b/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..db7d387 --- /dev/null +++ b/limelight-common.xcodeproj/xcuserdata/diegowaxemberg.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + limelight-common.xcscheme + + orderHint + 1 + + + SuppressBuildableAutocreation + + FB290E2D19B37A4E004C83CF + + primary + + + + + diff --git a/limelight-common/InputStream.c b/limelight-common/InputStream.c index 99ea77f..59eec05 100644 --- a/limelight-common/InputStream.c +++ b/limelight-common/InputStream.c @@ -4,8 +4,8 @@ #include "LinkedBlockingQueue.h" #include "Input.h" -#include "OpenAES\oaes_lib.h" -#include "OpenAES\oaes_common.h" +#include "OpenAES/oaes_lib.h" +#include "OpenAES/oaes_common.h" static IP_ADDRESS host; static SOCKET inputSock = INVALID_SOCKET; diff --git a/limelight-common/RtspConnection.c b/limelight-common/RtspConnection.c index 2227750..17e6138 100644 --- a/limelight-common/RtspConnection.c +++ b/limelight-common/RtspConnection.c @@ -1,5 +1,6 @@ #include "Limelight-internal.h" #include "Rtsp.h" +#include #define RTSP_MAX_RESP_SIZE 16384 @@ -250,7 +251,7 @@ static int sendVideoAnnounce(PRTSP_MESSAGE response, PSTREAM_CONFIGURATION strea goto FreeMessage; } - sdpAddr.S_un.S_addr = remoteAddr; + memcpy(&sdpAddr, &remoteAddr, sizeof(remoteAddr)); request.payload = getSdpPayloadForStreamConfig(streamConfig, sdpAddr, &payloadLength); if (request.payload == NULL) { goto FreeMessage; @@ -278,7 +279,7 @@ int performRtspHandshake(IP_ADDRESS addr, PSTREAM_CONFIGURATION streamConfigPtr) // Initialize global state remoteAddr = addr; - inaddr.S_un.S_addr = addr; + memcpy(&inaddr, &addr, sizeof(addr)); sprintf(rtspTargetUrl, "rtsp://%s", inet_ntoa(inaddr)); { diff --git a/limelight-common/SdpGenerator.c b/limelight-common/SdpGenerator.c index af93517..854390f 100644 --- a/limelight-common/SdpGenerator.c +++ b/limelight-common/SdpGenerator.c @@ -1,4 +1,5 @@ #include "Limelight-internal.h" +#include #define MAX_OPTION_NAME_LEN 128 diff --git a/make_fat_lib.sh b/make_fat_lib.sh new file mode 100755 index 0000000..b5b7ec8 --- /dev/null +++ b/make_fat_lib.sh @@ -0,0 +1,122 @@ +########################################## +# +# 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