X-Git-Url: https://git.saurik.com/apple/libsystem.git/blobdiff_plain/2fbbb8fa99bec20b201f672bc22f6c0e9f5637f0..1c91c7f1fc39a200cd2da55c8555477b915d9ff2:/xcodescripts/create_system_framework.sh diff --git a/xcodescripts/create_system_framework.sh b/xcodescripts/create_system_framework.sh index 968dc58..bbc17a9 100755 --- a/xcodescripts/create_system_framework.sh +++ b/xcodescripts/create_system_framework.sh @@ -13,24 +13,37 @@ 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 [[ "${PLATFORM_NAME}" =~ macosx ]]; then + ln -sf "Versions/Current/Resources" "${DSTROOT}/${FPATH}/Resources" || exit 1 -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 + 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 - if [[ "${PLATFORM_NAME}" =~ simulator ]] ; then - ln -sf "../../../../../../usr/lib/libSystem${suffix}.dylib" "${DSTROOT}/${FPATH}/Versions/B/System${suffix}" || exit 1 - else - ln -sf "../../../../../../usr/lib/libSystem.B${suffix}.dylib" "${DSTROOT}/${FPATH}/Versions/B/System${suffix}" || exit 1 - fi -done + if [[ "${PLATFORM_NAME}" =~ simulator ]] ; then + ln -sf "../../../../usr/lib/libSystem${suffix}.dylib" "${DSTROOT}/${FPATH}/System${suffix}" || exit 1 + else + ln -sf "../../../../usr/lib/libSystem.B${suffix}.dylib" "${DSTROOT}/${FPATH}/System${suffix}" || exit 1 + fi + done +fi