libghostty als zweite Terminal-Engine integriert (Default ghostty, SwiftTerm Fallback)

- vendor/libghostty: vorgebaute macOS-libghostty.a (arm64) + Header + Build-Patches + README
- Sources/CGhostty: C-Modul der libghostty-C-API
- Sources/MiniTerm/Ghostty.swift: GhosttyApp + GhosttySurfaceView (Surface, Input, Größe, Fokus)
- main.swift: Engine-Wahl per Info.plist MTEngine
- Package.swift: CGhostty-Target + Link gegen libghostty + Frameworks
- STATUS.md: Stand, Build-Weg (macOS-15-VM), offene Punkte
This commit is contained in:
marcus.hinz
2026-06-21 21:40:00 +02:00
parent 51cb14a782
commit c8f5714b1e
22 changed files with 4970 additions and 11 deletions
+20 -1
View File
@@ -12,9 +12,28 @@ let package = Package(
.package(url: "https://github.com/migueldeicaza/SwiftTerm.git", branch: "main")
],
targets: [
// C-Modul für die libghostty-C-API (Header in Sources/CGhostty/include).
.target(name: "CGhostty"),
.executableTarget(
name: "MiniTerm",
dependencies: ["SwiftTerm"]
dependencies: ["SwiftTerm", "CGhostty"],
linkerSettings: [
// Vorgebaute statische libghostty (siehe vendor/libghostty/README.md).
// Pfad relativ zum Paketwurzelverzeichnis (so ruft make-app.sh `swift build`).
.unsafeFlags(["-L", "vendor/libghostty/lib", "-lghostty"]),
// Frameworks, die libghostty (Metal-Renderer, Fonts, Surface) braucht.
.linkedFramework("AppKit"),
.linkedFramework("Metal"),
.linkedFramework("MetalKit"),
.linkedFramework("QuartzCore"),
.linkedFramework("CoreText"),
.linkedFramework("CoreGraphics"),
.linkedFramework("CoreVideo"),
.linkedFramework("IOSurface"),
.linkedFramework("Carbon"),
.linkedLibrary("c++"),
]
)
]
)