2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 09:57:41 +00:00

Better matching of macOS version to SDK path.

This commit is contained in:
Todd C. Miller 2022-11-17 14:26:55 -07:00
parent ad220d72d4
commit 981cc2f8e3

View File

@ -369,20 +369,34 @@ case "$osversion" in
sdkvers=`echo "${osversion}" | sed -e 's/^macos\([0-9][0-9]\)\([0-9]*\)-.*$/\1.\2/' -e 's/\.$//'`
# SDKs may be under Xcode.app or CommandLineTools (for non-Xcode)
if [ -d "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs" ]; then
SDK_DIR="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
SDKS="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
elif [ -d "/Library/Developer/CommandLineTools/SDKs" ]; then
SDK_DIR="/Library/Developer/CommandLineTools/SDKs"
SDKS="/Library/Developer/CommandLineTools/SDKs"
else
echo "unable to find macOS SDKs directory" 1>&2
exit 1
fi
SDK_DIR="${SDK_DIR}/MacOSX${sdkvers}.sdk"
while :; do
SDK_DIR="${SDKS}/MacOSX${sdkvers}.sdk"
if [ -d "${SDK_DIR}" ]; then
SDK_FLAGS="-isysroot ${SDK_DIR} -mmacosx-version-min=${sdkvers}"
else
echo "unable to find SDKs directory for macOS $sdkvers" 1>&2
exit 1
break
fi
case "$sdkvers" in
*.00)
# Try MacOSXMM.0.sdk
sdkvers=${sdkvers%0}
;;
*.0)
# Try MacOSXMM.sdk
sdkvers=${sdkvers%.0}
;;
*)
echo "missing $SDK_DIR" 1>&2
exit 1
;;
esac
done
fi
export CFLAGS="-O2 -g $ARCH_FLAGS $SDK_FLAGS"
export LDFLAGS="$ARCH_FLAGS $SDK_FLAGS"