mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Add target variant to -print-target-info
This commit is contained in:
@@ -1894,39 +1894,54 @@ createJSONFixItDiagnosticConsumerIfNeeded(
|
||||
});
|
||||
}
|
||||
|
||||
/// Print information about the selected target in JSON.
|
||||
static void printTargetInfo(const CompilerInvocation &invocation,
|
||||
/// Print information about the target triple in JSON.
|
||||
static void printTripleInfo(const llvm::Triple &triple,
|
||||
llvm::raw_ostream &out) {
|
||||
out << "{\n";
|
||||
|
||||
// Target information.
|
||||
auto &langOpts = invocation.getLangOptions();
|
||||
out << " \"target\": {\n";
|
||||
|
||||
out << " \"triple\": \"";
|
||||
out.write_escaped(langOpts.Target.getTriple());
|
||||
out.write_escaped(triple.getTriple());
|
||||
out << "\",\n";
|
||||
|
||||
out << " \"unversionedTriple\": \"";
|
||||
out.write_escaped(getUnversionedTriple(langOpts.Target).getTriple());
|
||||
out.write_escaped(getUnversionedTriple(triple).getTriple());
|
||||
out << "\",\n";
|
||||
|
||||
out << " \"moduleTriple\": \"";
|
||||
out.write_escaped(getTargetSpecificModuleTriple(langOpts.Target).getTriple());
|
||||
out.write_escaped(getTargetSpecificModuleTriple(triple).getTriple());
|
||||
out << "\",\n";
|
||||
|
||||
if (auto runtimeVersion = getSwiftRuntimeCompatibilityVersionForTarget(
|
||||
langOpts.Target)) {
|
||||
triple)) {
|
||||
out << " \"swiftRuntimeCompatibilityVersion\": \"";
|
||||
out.write_escaped(runtimeVersion->getAsString());
|
||||
out << "\",\n";
|
||||
}
|
||||
|
||||
out << " \"librariesRequireRPath\": "
|
||||
<< (tripleRequiresRPathForSwiftInOS(langOpts.Target) ? "true" : "false")
|
||||
<< (tripleRequiresRPathForSwiftInOS(triple) ? "true" : "false")
|
||||
<< "\n";
|
||||
|
||||
out << " },\n";
|
||||
out << " }";
|
||||
|
||||
}
|
||||
|
||||
/// Print information about the selected target in JSON.
|
||||
static void printTargetInfo(const CompilerInvocation &invocation,
|
||||
llvm::raw_ostream &out) {
|
||||
out << "{\n";
|
||||
|
||||
// Target triple and target variant triple.
|
||||
auto &langOpts = invocation.getLangOptions();
|
||||
out << " \"target\": ";
|
||||
printTripleInfo(langOpts.Target, out);
|
||||
out << ",\n";
|
||||
|
||||
if (auto &variant = langOpts.TargetVariant) {
|
||||
out << " \"targetVariant\": ";
|
||||
printTripleInfo(*variant, out);
|
||||
out << ",\n";
|
||||
}
|
||||
|
||||
// Various paths.
|
||||
auto &searchOpts = invocation.getSearchPathOptions();
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
// RUN: %swift_driver -print-target-info -target x86_64-unknown-linux | %FileCheck -check-prefix CHECK-LINUX %s
|
||||
// RUN: %target-swift-frontend -print-target-info -target x86_64-unknown-linux | %FileCheck -check-prefix CHECK-LINUX %s
|
||||
|
||||
// RUN: %swift_driver -print-target-info -target x86_64-apple-macosx10.15 -target-variant x86_64-apple-ios13-macabi | %FileCheck -check-prefix CHECK-ZIPPERED %s
|
||||
// RUN: %target-swift-frontend -print-target-info -target x86_64-apple-macosx10.15 -target-variant x86_64-apple-ios13-macabi | %FileCheck -check-prefix CHECK-ZIPPERED %s
|
||||
|
||||
// CHECK-IOS: "target": {
|
||||
// CHECK-IOS: "triple": "arm64-apple-ios12.0",
|
||||
// CHECK-IOS: "unversionedTriple": "arm64-apple-ios",
|
||||
@@ -12,6 +15,8 @@
|
||||
// CHECK-IOS: "librariesRequireRPath": true
|
||||
// CHECK-IOS: }
|
||||
|
||||
// CHECK-IOS-NOT: "targetVariant":
|
||||
|
||||
// CHECK-IOS: "paths": {
|
||||
// CHECK-IOS: "runtimeLibraryPaths": [
|
||||
// CHECK-IOS: ],
|
||||
@@ -26,3 +31,22 @@
|
||||
// CHECK-LINUX: "moduleTriple": "x86_64-unknown-linux",
|
||||
// CHECK-LINUX: "librariesRequireRPath": false
|
||||
// CHECK-LINUX: }
|
||||
|
||||
// CHECK-LINUX-NOT: "targetVariant":
|
||||
|
||||
|
||||
// CHECK-ZIPPERED: "target": {
|
||||
// CHECK-ZIPPERED: "triple": "x86_64-apple-macosx10.15"
|
||||
// CHECK-ZIPPERED: "unversionedTriple": "x86_64-apple-macosx"
|
||||
// CHECK-ZIPPERED: "moduleTriple": "x86_64-apple-macos"
|
||||
// CHECK-ZIPPERED: "swiftRuntimeCompatibilityVersion": "5.1"
|
||||
// CHECK-ZIPPERED: "librariesRequireRPath": false
|
||||
// CHECK-ZIPPERED: }
|
||||
|
||||
// CHECK-ZIPPERED: "targetVariant": {
|
||||
// CHECK-ZIPPERED: "triple": "x86_64-apple-ios13-macabi"
|
||||
// CHECK-ZIPPERED: "unversionedTriple": "x86_64-apple-ios-macabi"
|
||||
// CHECK-ZIPPERED: "moduleTriple": "x86_64-apple-ios-macabi"
|
||||
// CHECK-ZIPPERED: "swiftRuntimeCompatibilityVersion": "5.1"
|
||||
// CHECK-ZIPPERED: "librariesRequireRPath": false
|
||||
// CHECK-ZIPPERED: }
|
||||
|
||||
Reference in New Issue
Block a user