mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
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.
42 lines
1.7 KiB
Bash
Executable File
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}"
|