Files
swift-mirror/utils/build-overlay
Saleem Abdulrasool 41d9c2cc59 stdlib: restructure for OS family layout of SDK overlay
The SDK directory is now confusing as the Windows target also has a SDK
overlay.  In order to make this more uniform, move the SDK directory to
Darwin which covers the fact that this covers the XNU family of OSes.
The Windows directory contains the SDK overlay for the Windows target.
2018-12-06 11:32:05 -08:00

42 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
function usage {
echo "usage: $0 OVERLAY SDK TARGET"
echo "SDK: OSX,IOS,IOS_SIMULATOR,TVOS,TVOS_SIMULATOR,WATCHOS,WATCHOS_SIMULATOR"
echo "TARGET: macosx,iphoneos,iphonesimulator,appletvos,appletvsimulator,watchos,watchsimulator"
echo "example: ./utils/build-overlay AVFoundation OSX macosx"
exit 1
}
OVERLAY=$1; SDK=$2; TARGET=$3
if [ ! "$OVERLAY" ]; then echo "Overlay param required"; usage; fi
if [ ! "$SDK" ]; then echo "SDK param required"; usage; fi
if [ ! "$TARGET" ]; then echo "TARGET param required"; usage; fi
function absolute_path { if [[ "$1" == /* ]]; then echo "$1"; else echo "$PWD/$1"; fi }
function dir_name { echo "${1%/*}"; }
function file_name { echo "${1##*/}"; }
script_absolute_path=$(absolute_path "${BASH_SOURCE[@]}")
script_dir_name=$(dir_name "${script_absolute_path}")
script_file_name=$(file_name "${script_absolute_path}")
overlay_source_path="${script_dir_name}/../stdlib/public/Darwin/$OVERLAY"
build_dir="${script_dir_name}/../../build/${OVERLAY}-${SDK}"
swift_source_root="${script_dir_name}/../../../"
mkdir -p "$build_dir" && cd "$build_dir" || exit
echo "OVERLAY: ${OVERLAY}"
echo "SDK: ${SDK}"
echo "TARGET: ${TARGET}"
echo "script_absolute_path: ${script_absolute_path}"
echo "script_dir_name: ${script_dir_name}"
echo "script_file_name: ${script_file_name}"
echo "overlay_source_path: ${overlay_source_path}"
echo "swift_source_root: ${swift_source_root}"
echo "build_dir: ${build_dir}"
toolchain=$(xcode-select -p)
cmake -G Ninja -DSWIFT_SOURCE_ROOT="${swift_source_root}" -DSWIFT_DEST_ROOT="${build_dir}/root" -DSWIFT_HOST_VARIANT_SDK="${SDK}" -DTOOLCHAIN_DIR="${toolchain}/Toolchains/XcodeDefault.xctoolchain" "${overlay_source_path}"
NINJA_TARGET="swift${OVERLAY}-${TARGET}"
ninja "${NINJA_TARGET}"