X-Git-Url: https://git.saurik.com/apple/libsystem.git/blobdiff_plain/bdffa7b97cd1f335cf5f2d5b92506f3f03d9c9ed..b12e72edd086fad5ada5f7fe2fdf049e0370ae4e:/xcodescripts/create_system_framework.sh diff --git a/xcodescripts/create_system_framework.sh b/xcodescripts/create_system_framework.sh index 0849895..5713d0d 100755 --- a/xcodescripts/create_system_framework.sh +++ b/xcodescripts/create_system_framework.sh @@ -1,11 +1,11 @@ -#!/bin/sh -x +#!/bin/bash -x if [ $# -ne 5 ]; then echo "Usage: $0 " 1>&2 exit 1 fi -DSTROOT="$1" +DSTROOT="$1${INSTALL_PATH_FRAMEWORK_PREFIX}" SRCROOT="$2" ACTION="$3" ARCHS="$4" @@ -13,20 +13,35 @@ VARIANTS="$5" FPATH="/System/Library/Frameworks/System.framework" +# System.framework on iOS needs to be a special snowflake. +# Other projects install headers into Versions/B/PrivateHeaders the sub-directories +# and symlinks still need to exist, even though they don't fit in flat bundles. mkdir -p "${DSTROOT}/${FPATH}" || exit 1 -ln -sf "Versions/Current/PrivateHeaders" "${DSTROOT}/${FPATH}/PrivateHeaders" || exit 1 -ln -sf "Versions/Current/Resources" "${DSTROOT}/${FPATH}/Resources" || exit 1 - mkdir -p "${DSTROOT}/${FPATH}/Versions" || exit 1 -ln -sf "B" "${DSTROOT}/${FPATH}/Versions/Current" || exit 1 mkdir -p "${DSTROOT}/${FPATH}/Versions/B" || exit 1 +ln -sf "B" "${DSTROOT}/${FPATH}/Versions/Current" || exit 1 +ln -sf "Versions/Current/PrivateHeaders" "${DSTROOT}/${FPATH}/PrivateHeaders" || exit 1 + +if [[ "${DRIVERKIT}" == "1" ]]; then exit 0; fi; # No compatibility symlinks in DriverKit SDK -for variant in ${VARIANTS}; do - suffix="" - if [ ${variant} != "normal" ]; then - suffix="_${variant}" - fi - ln -sf "Versions/Current/System${suffix}" "${DSTROOT}/${FPATH}/System${suffix}" || exit 1 - ln -sf "../../../../../../usr/lib/libSystem.B${suffix}.dylib" "${DSTROOT}/${FPATH}/Versions/B/System${suffix}" || exit 1 +if [[ "${PLATFORM_NAME}" =~ macosx ]]; then + ln -sf "Versions/Current/Resources" "${DSTROOT}/${FPATH}/Resources" || exit 1 -done + for variant in ${VARIANTS}; do + suffix="" + if [ ${variant} != "normal" ]; then + suffix="_${variant}" + fi + ln -sf "Versions/Current/System${suffix}" "${DSTROOT}/${FPATH}/System${suffix}" || exit 1 + ln -sf "../../../../../../usr/lib/libSystem.B${suffix}.dylib" "${DSTROOT}/${FPATH}/Versions/B/System${suffix}" || exit 1 + done +else + for variant in ${VARIANTS}; do + suffix="" + if [ ${variant} != "normal" ]; then + suffix="_${variant}" + fi + + ln -sf "../../../../usr/lib/libSystem.B${suffix}.dylib" "${DSTROOT}/${FPATH}/System${suffix}" || exit 1 + done +fi