Loading...
build-scripts/update_dyld_shared_cache-build.sh dyld-1340 dyld-960
--- dyld/dyld-1340/build-scripts/update_dyld_shared_cache-build.sh
+++ dyld/dyld-960/build-scripts/update_dyld_shared_cache-build.sh
@@ -1,31 +1,38 @@
 set -e # exit when any command fails
 set -v # verbose
-
-# override min macOS deployment target
-MACOSX_DEPLOYMENT_TARGET=13.0
 
 if [ "${RC_PURPLE}" = "" ]
 then
     # macOS platform
-    OBJROOT_BDR="${TARGET_TEMP_DIR}/Objects_shared"
-    TARGETS=""
-    TARGETS+=" -target dyld_shared_cache_builder"
-    TARGETS+=" -target update_dyld_shared_cache_tool"
-    TARGETS+=" -target libslc_builder.dylib"
-    TARGETS+=" -target dyld_symbols_cache"
-    TARGETS+=" -target dsc_extractor"
-    TARGETS+=" -target libKernelCollectionBuilder"
-    xcodebuild ${ACTION} $TARGETS OBJROOT="${OBJROOT_BDR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES  RC_PLATFORM_INSTALL_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform RC_ARCHS="arm64 arm64e x86_64"
+    OBJROOT_BDR="${TARGET_TEMP_DIR}/Objects_builder"
+    xcodebuild ${ACTION} -target dyld_shared_cache_builder     OBJROOT="${OBJROOT_BDR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES  RC_PLATFORM_INSTALL_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
+
+    OBJROOT_MAC="${TARGET_TEMP_DIR}/Objects_mac"
+    xcodebuild ${ACTION} -target update_dyld_shared_cache_tool OBJROOT="${OBJROOT_MAC}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}" DISABLE_SDK_METADATA_PARSING=YES
+
+    OBJROOT_SLC="${TARGET_TEMP_DIR}/Objects_slc"
+    xcodebuild ${ACTION} -target libslc_builder.dylib          OBJROOT="${OBJROOT_SLC}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}" DISABLE_SDK_METADATA_PARSING=YES
+
+    # Rosetta needs the dsc_extractor on macOS.  They extract the cache of the host OS.
+    OBJROOT_XTR="${TARGET_TEMP_DIR}/Objects_extractor"
+    xcodebuild ${ACTION} -target dsc_extractor             OBJROOT="${OBJROOT_XTR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES
+
+    # build the kernel linker twice, once rpath based in toolchain and once in /usr/lib/
+    if [ "${ACTION}" != "installhdrs" ]
+    then
+        OBJROOT_KBT="${TARGET_TEMP_DIR}/Objects_kcb_macToolchain"
+        xcodebuild ${ACTION} -target libKernelCollectionBuilder OBJROOT="${OBJROOT_KBT}" LD_DYLIB_INSTALL_NAME="@rpath/libKernelCollectionBuilder.dylib"   INSTALL_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/" SYMROOT="${SYMROOT}"     SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"
+        OBJROOT_KBO="${TARGET_TEMP_DIR}/Objects_kb_os"
+        xcodebuild ${ACTION} -target libKernelCollectionBuilder OBJROOT="${OBJROOT_KBO}" LD_DYLIB_INSTALL_NAME="/usr/lib/libKernelCollectionBuilder.dylib" INSTALL_PATH="/usr/lib"                     SYMROOT="${SYMROOT}/os"  SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"
+    fi
 
     # move build results to host locations
     if [ "${ACTION}" == "install" ]
     then
-        # install the kernel linker twice, once rpath based in toolchain and once in /usr/lib/
-        ditto "${DSTROOT}/usr/lib/libKernelCollectionBuilder.dylib" "${DSTROOT}/${DT_TOOLCHAIN_DIR}/usr/lib/"
-        install_name_tool -id "@rpath/libKernelCollectionBuilder.dylib" "${DSTROOT}/${DT_TOOLCHAIN_DIR}/usr/lib/libKernelCollectionBuilder.dylib"
-
-        # HACK: somehow the toolchain TBD is missing even though we copy the dylib.  Make another TBD
-        xcodebuild installapi -target libKernelCollectionBuilder OBJROOT="${OBJROOT_BDR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES  KERNEL_LINKER_INSTALL_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/" KERNEL_LINKER_INSTALL_NAME="@rpath/libKernelCollectionBuilder.dylib" RC_ARCHS="arm64 arm64e x86_64"
+        #mkdir -p "${DSTROOT}/${DEVELOPER_INSTALL_DIR}/Platforms/MacOSX.platform/usr/local"
+        echo mkdir -p "${DSTROOT}/${DEVELOPER_INSTALL_DIR}/Platforms/MacOSX.platform/usr/local"
+        echo mv "${DSTROOT}/usr/local/bin" "${DSTROOT}/${DEVELOPER_INSTALL_DIR}/Platforms/MacOSX.platform/usr/local/"
+        #mv "${DSTROOT}/usr/local/bin" "${DSTROOT}/${DEVELOPER_INSTALL_DIR}/Platforms/MacOSX.platform/usr/local/"
     fi
 
     # copy performance files from SDK to platform
@@ -40,27 +47,33 @@
 
 else
     # for iOS/tvOS/watchOS/bridgeOS platform, build "host" tools
+    OBJROOT_BDR="${TARGET_TEMP_DIR}/Objects_builder"
+    xcodebuild ${ACTION} -target dyld_shared_cache_builder OBJROOT="${OBJROOT_BDR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES
+
+    OBJROOT_SLC="${TARGET_TEMP_DIR}/Objects_slc"
+    xcodebuild ${ACTION} -target libslc_builder.dylib      OBJROOT="${OBJROOT_SLC}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}" DISABLE_SDK_METADATA_PARSING=YES
+
+    OBJROOT_UTL="${TARGET_TEMP_DIR}/Objects_utils"
+    xcodebuild ${ACTION} -target dyld_shared_cache_util    OBJROOT="${OBJROOT_UTL}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}  SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES
+
+    OBJROOT_DSC="${TARGET_TEMP_DIR}/Objects_libdsc"
+    xcodebuild ${ACTION} -target libdsc                    OBJROOT="${OBJROOT_DSC}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}  SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES
+
+    OBJROOT_XTR="${TARGET_TEMP_DIR}/Objects_extractor"
+    xcodebuild ${ACTION} -target dsc_extractor             OBJROOT="${OBJROOT_XTR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES
+
     TC=$(basename $TOOLCHAIN_DIR)
     CANON_TOOLCHAIN_DIR="/Applications/Xcode.app/Contents/Developer/Toolchains/${TC}"
 
-    OBJROOT_BDR="${TARGET_TEMP_DIR}/Objects_shared"
-
-    TARGETS=""
-    TARGETS+=" -target dyld_shared_cache_builder"
-    TARGETS+=" -target libslc_builder.dylib"
-    TARGETS+=" -target dyld_symbols_cache"
-    TARGETS+=" -target dyld_shared_cache_util"
-    TARGETS+=" -target libdsc"
-    TARGETS+=" -target dsc_extractor"
-    TARGETS+=" -target libKernelCollectionBuilder"
+    OBJROOT_KBT="${TARGET_TEMP_DIR}/Objects_kcb"
+    xcodebuild ${ACTION} -target libKernelCollectionBuilder OBJROOT="${OBJROOT_KBT}" LD_DYLIB_INSTALL_NAME="@rpath/libKernelCollectionBuilder.dylib"   INSTALL_PATH="${CANON_TOOLCHAIN_DIR}/usr/lib/" SYMROOT="${SYMROOT}"     SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"
 
     # no simulator for bridgeOS
     if [ "${RC_BRIDGE}" != "YES" ]
     then
-        TARGETS+=" -target update_dyld_sim_shared_cache"
+        OBJROOT_SIM="${TARGET_TEMP_DIR}/Objects_Sim"
+        xcodebuild ${ACTION} -target update_dyld_sim_shared_cache OBJROOT="${OBJROOT_SIM}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}" DISABLE_SDK_METADATA_PARSING=YES
     fi
-
-    xcodebuild ${ACTION} $TARGETS OBJROOT="${OBJROOT_BDR}" SDKROOT="${SDKROOT}" MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} SRCROOT="${SRCROOT}" DSTROOT="${DSTROOT}" SYMROOT="${SYMROOT}" RC_ProjectSourceVersion="${RC_ProjectSourceVersion}"  DISABLE_SDK_METADATA_PARSING=YES KERNEL_LINKER_INSTALL_PATH="${CANON_TOOLCHAIN_DIR}/usr/lib/" KERNEL_LINKER_INSTALL_NAME="@rpath/libKernelCollectionBuilder.dylib" RC_ARCHS="arm64 arm64e x86_64"
 
     # move roots to platform dir
     if [ -e ${DSTROOT}/usr/local/include ]