|
@@ -5,6 +5,7 @@ ROOT_LOG_FOLDER="$BUILD_ROOT/Logs"
|
|
|
VERIFY="true"
|
|
|
PLATFORM="AppleTVOS"
|
|
|
PLATFORM_LOWER="appletvos"
|
|
|
+SDK_VERSION="$(xcrun --show-sdk-version --sdk $PLATFORM_LOWER)"
|
|
|
ROOT_PREFIX="fs/jb/usr"
|
|
|
SKEL_PREFIX="$BUILD_ROOT/skel"
|
|
|
ALREADY_BUILT="$BUILD_ROOT/tracked"
|
|
@@ -1135,7 +1136,53 @@ buildAPTAndDependencies() {
|
|
|
#buildAPT
|
|
|
}
|
|
|
|
|
|
+prepSDK() {
|
|
|
+ if [[ ! -e "$SDK_PATH/usr/include/sys/ttydev.h" ]]; then
|
|
|
+ echo "Missing <sys/ttydev.h>. Moving it in from MacOSX SDK (with sudo)"
|
|
|
+ sudo cp "$(xcrun --sdk macosx --show-sdk-path)/usr/include/sys/ttydev.h" "$SDK_PATH/usr/include/sys/ttydev.h"
|
|
|
+ fi
|
|
|
+ if [[ ! -e "$SDK_PATH/usr/include/lockdown.h" ]]; then
|
|
|
+ echo "Missing lockdown.h! Generating the bare essentials for apt to build..."
|
|
|
+ echo "#ifndef LOCKDOWN_LOCKDOWN_H" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#define LOCKDOWN_LOCKDOWN_H" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#include <CoreFoundation/CFString.h>" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#ifdef __cplusplus" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "extern \"C\" {" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#endif" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "extern CFStringRef kLockdownUniqueDeviceIDKey;" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "extern void *lockdown_connect(void);" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "extern CFStringRef lockdown_copy_value(void *lockdown, void *null, CFStringRef key);" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "extern void lockdown_disconnect(void *lockdown);" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#ifdef __cplusplus" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "}" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#endif" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+ echo "#endif/*LOCKDOWN_LOCKDOWN_H*/" >> "$SDK_PATH/usr/include/lockdown.h"
|
|
|
+
|
|
|
+ fi
|
|
|
+ IOKIT_MATCH="`find ~/Library/Developer/Xcode/tvOS\ DeviceSupport/ -name IOKit.framework | grep "$SDK_VERSION" -m 1`"
|
|
|
+ echo "IOKit match: $IOKIT_MATCH"
|
|
|
+ echo "IOKit: $SDK_PATH/System/Library/Frameworks/IOKit.framework"
|
|
|
+ if [[ ! -d "$SDK_PATH/System/Library/Frameworks/IOKit.framework" ]]; then
|
|
|
+ if [[ ! -z "$IOKIT_MATCH" ]]; then
|
|
|
+ echo "we do indeed have an IOKit match and IOKIt is missing!!"
|
|
|
+ echo "cp -r $IOKIT_MATCH $SDK_PATH/System/Library/Frameworks/"
|
|
|
+ cp -r "$IOKIT_MATCH" "$SDK_PATH/System/Library/Frameworks/"
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
mkdirIfNecessary $ROOT_LOG_FOLDER
|
|
|
+
|
|
|
+# Ensure our SDK has all the required "extras" installed/setup
|
|
|
+prepSDK
|
|
|
+
|
|
|
#buildBashAndFriends
|
|
|
buildBasicUtils
|
|
|
buildDPKGAndDependencies
|