workaround for build mtoc in sonoma

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
SergeySlice 2023-12-08 19:09:58 +03:00
parent e614deb918
commit 09a7eefc86
2 changed files with 9 additions and 1 deletions

View File

@ -10,7 +10,7 @@
// HEADER_SEARCH_PATHS includes the local toolchain headers in order to find
// "llvm-c/lto.h"
HEADER_SEARCH_PATHS = ${inherited} ${DT_TOOLCHAIN_DIR}/usr/local/include
HEADER_SEARCH_PATHS = ${inherited} ${TOOLCHAIN_DIR}/usr/local/include
// libstuff currently requires the LTO_SUPPORT macro to be defined in order to
// compile support for LTO. This is built non-conditionally, and can probably

View File

@ -183,6 +183,14 @@ fnCompileMtoc ()
# Mtoc build
local cmd logfile
cd "$CCTOOLS_DIR"
# Replace deprecated DT_TOOLCHAIN_DIR as a workaround for building in Xcode 15
xcodeapp=$(defaults read /Applications/Xcode.app/Contents/version.plist CFBundleShortVersionString)
if [[ $xcodeapp == 15.* ]]; then
sed -i '' 's/DT_TOOLCHAIN_DIR/TOOLCHAIN_DIR/g' "$CCTOOLS_DIR"/xcode/cctools.xcconfig
sed -i '' 's/DT_TOOLCHAIN_DIR/TOOLCHAIN_DIR/g' "$CCTOOLS_DIR"/xcode/libstuff.xcconfig
sed -i '' 's/DT_TOOLCHAIN_DIR/TOOLCHAIN_DIR/g' "$CCTOOLS_DIR"/xcode/strip.xcconfig
fi
# Removal of _structs.h needed as a workaround for a bug in cctools-900 or above
/bin/rm -f ./include/mach/i386/_structs.h
echo "- cctools-${CCTOOLS_VERSION} make mtoc..."