# @APPLE_OSREFERENCE_LICENSE_HEADER_END@
#
+function usage() {
+ echo "Usage: $0 <sdk> <output>" 1>&2
+ exit 1
+}
+
+if [ $# -ne 2 ]; then
+ usage
+fi
+
+SDKROOT="$1"
+OUTPUT="$2"
+
+AVAILABILITY_PL="${SDKROOT}/${DRIVERKITROOT}/usr/local/libexec/availability.pl"
+
+if [ ! -x "${AVAILABILITY_PL}" ] ; then
+ echo "Unable to locate ${AVAILABILITY_PL} (or not executable)" >&2
+ exit 1
+fi
+
{
cat <<EOF
/* Copyright (c) 2010 Apple Inc. All rights reserved.
EOF
-for ver in $(${SDKROOT}/usr/local/libexec/availability.pl --ios) ; do
+for ver in $(${AVAILABILITY_PL} --ios) ; do
ver_major=${ver%.*}
ver_minor=${ver#*.}
value=$(printf "%d%02d00" ${ver_major} ${ver_minor})
echo ""
done
-for ver in $(${SDKROOT}/usr/local/libexec/availability.pl --macosx) ; do
- ver_major=${ver%.*}
- ver_minor=${ver#*.}
- value=$(printf "%d%d0" ${ver_major} ${ver_minor})
- str=$(printf "__MAC_%d_%d" ${ver_major} ${ver_minor})
+for ver in $(${AVAILABILITY_PL} --macosx) ; do
+ set -- $(echo "$ver" | tr '.' ' ')
+ ver_major=$1
+ ver_minor=$2
+ ver_rel=$3
+ if [ -z "$ver_rel" ]; then
+ ver_rel=0
+ fi
+ if [ "$ver_major" -lt 10 -o \( "$ver_major" -eq 10 -a "$ver_minor" -lt 10 \) ]; then
+ value=$(printf "%d%d0" ${ver_major} ${ver_minor})
+ str=$(printf "__MAC_%d_%d" ${ver_major} ${ver_minor})
+ else
+ value=$(printf "%d%02d%02d" ${ver_major} ${ver_minor} ${ver_rel})
+ if [ "$ver_rel" -gt 0 ]; then
+ str=$(printf "__MAC_%d_%d_%d" ${ver_major} ${ver_minor} ${ver_rel})
+ else
+ str=$(printf "__MAC_%d_%d" ${ver_major} ${ver_minor})
+ fi
+ fi
echo "#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= ${value}"
echo "#define __DARWIN_ALIAS_STARTING_MAC_${str}(x) x"
echo "#else"
echo "#endif"
echo ""
done
-} > $1
+} > "$OUTPUT"