Skip to content

Commit

Permalink
update update-macos-libs-and-headers.sh to work with recent changes t…
Browse files Browse the repository at this point in the history
…o cc
  • Loading branch information
rsms committed Mar 22, 2023
1 parent 1ea7d45 commit c084873
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions etc/update-macos-libs-and-headers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,10 @@ _add_sdks() { # <path> ...
done
}

_import_headers() { # <sdk-dir> <sysversion>
_import_headers() { # <sdk-dir> <sysversion> <sdkver>
local sdkdir=$1
local sysver=$2
local sysver=$2 # M
local sdkver=$3 # M.m
local sysroot_name="$HOST_ARCH-macos.$sysver"
local dst_incdir="$PROJECT/lib/sysinc-src/$sysroot_name"
local name framework dstpath
Expand All @@ -129,9 +130,11 @@ _import_headers() { # <sdk-dir> <sysversion>

echo " finding headers"
"$OUT_DIR/opt/co" cc \
-nostdinc \
--sysroot="$sdkdir/" \
--target=x86_64-macos.$sysver \
"-isystem$sdkdir/usr/include" \
-o "$HEADERS_OUTFILE" "$PROJECT/etc/macos-headers.c" \
-o "$HEADERS_OUTFILE" -c "$PROJECT/etc/macos-headers.c" \
-MD -MV -MF "$HEADERS_OUTFILE.d"

echo " copying headers -> $(_relpath "$dst_incdir")/"
Expand Down Expand Up @@ -216,15 +219,17 @@ END

_import_sdk() { # <path> <version>
local sdkdir=$1
local sysver=$2
local sdkver=$2 # M.m
local sysver # M
IFS=. read -r sysver ign <<< "$sdkver"
local sysroot_name="$HOST_ARCH-macos.$sysver"
echo "importing $sysroot_name"

[ -d "$sdkdir" ] || _err "'$sdkdir' is not a directory"
[[ "$(basename "$sdkdir" .sdk)" == "MacOSX"* ]] ||
_err "SDK doesn't start with 'MacOSX'; bailing out ($sdkdir)"

_import_headers "$sdkdir" "$sysver"
_import_headers "$sdkdir" "$sysver" "$sdkver"
_import_libs "$sdkdir" "$sysver"
}

Expand Down Expand Up @@ -308,10 +313,10 @@ IFS=$'\n' SDKS_SORTED=($(sort -r <<< "${SDKS_TMP[*]}")); unset IFS
SDKS=()
SDK_MAJOR_VERSIONS=()
for key_ver_path in "${SDKS_SORTED[@]}"; do
IFS=: read -r key ver path <<< "$key_ver_path"
IFS=: read -r key ver path <<< "$key_ver_path" # "10.15:/foo/bar"
IFS=. read -r ver_key ver_min <<< "$ver"
if _strset_add SDK_MAJOR_VERSIONS "$ver_key"; then
SDKS+=( "$ver_key:$path" )
SDKS+=( "$ver:$path" )
fi
done

Expand All @@ -336,3 +341,5 @@ for d in "${SDKS[@]}"; do
IFS=: read -r ver path <<< "$d"
_import_sdk "$path" "$ver"
done

_regenerate_sysinc_dir

0 comments on commit c084873

Please sign in to comment.