diff --git a/scripts/mkpkg b/scripts/mkpkg index b477c8053..7ec259a31 100755 --- a/scripts/mkpkg +++ b/scripts/mkpkg @@ -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" - 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 - fi + while :; do + SDK_DIR="${SDKS}/MacOSX${sdkvers}.sdk" + if [ -d "${SDK_DIR}" ]; then + SDK_FLAGS="-isysroot ${SDK_DIR} -mmacosx-version-min=${sdkvers}" + 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"