Files
codeql/swift/ql/integration-tests/posix/frontend-invocations/build.sh
2025-04-25 14:48:32 +02:00

31 lines
1.1 KiB
Bash
Executable File

#!/bin/bash -x
if [[ "$(uname)" == Darwin ]]; then
SDK="-sdk $(xcrun -show-sdk-path)"
FRONTEND="$(xcrun -find swift-frontend)"
else
SDK=""
FRONTEND="swift-frontend"
fi
function invoke() {
$FRONTEND -frontend "$@" $SDK
}
rm -rf *.swiftmodule *.o
invoke -c A.swift
invoke -c B.swift -o B.o
invoke -c -primary-file C.swift
invoke -c -primary-file D.swift -o D.o
invoke -c -primary-file E.swift Esup.swift -o E.o
invoke -emit-module -primary-file F1.swift F2.swift -module-name F -o F1.swiftmodule
invoke -emit-module F1.swift -primary-file F2.swift -module-name F -o F2.swiftmodule
invoke -emit-module F3.swift F4.swift -o Fs.swiftmodule
invoke -emit-module -merge-modules F1.swiftmodule F2.swiftmodule -o F.swiftmodule
invoke -c F5.swift -o F5.o -I.
( cd dir; invoke -c ../G.swift )
invoke -c -primary-file H1.swift -primary-file H2.swift H3.swift -emit-module-path H1.swiftmodule -emit-module-path H2.swiftmodule -o H1.o -o H2.o
invoke -emit-module -primary-file I1.swift -primary-file I2.swift -o I1.swiftmodule -o I2.swiftmodule
invoke -c -filelist j1_j2.list -o J1J2.o