From d2abc43041461a50252f2e040928c8dcbbb2aea4 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Tue, 16 Jun 2026 11:38:22 -0700 Subject: [PATCH] =?UTF-8?q?menuband:=20fix=20App=20Store=20xcodegen=20targ?= =?UTF-8?q?et=20=E2=80=94=20add=20CGMSynth=20C=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Xcode/App Store target (project.yml) was missing the CGMSynth C core (gm_synth.c, symlinked from fedac/native/src) that Package.swift declares and MenuBandGMSynth.swift imports — so 'xcodegen generate && xcodebuild' failed with 'unable to resolve module dependency: CGMSynth'. Compile gm_synth.c into the app target and expose its module map via SWIFT_INCLUDE_PATHS/HEADER_SEARCH_PATHS. Verified: xcodebuild Release (unsigned) now BUILD SUCCEEDED, default.metallib emitted. Also needed Metal toolchain (xcodebuild -downloadComponent MetalToolchain). Co-Authored-By: Claude Opus 4.8 (1M context) --- slab/menuband/project.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/slab/menuband/project.yml b/slab/menuband/project.yml index b472b623fd..c35973aaa9 100644 --- a/slab/menuband/project.yml +++ b/slab/menuband/project.yml @@ -70,6 +70,13 @@ targets: - path: AppIcon.icns buildPhase: resources + # The Aesthetic Computer GM synth C core (gm_synth.c, symlinked from + # fedac/native/src). MenuBandGMSynth.swift does `import CGMSynth`. + # Package.swift models this as a separate CGMSynth target; here we + # compile the single .c straight into the app and expose its module map + # via SWIFT_INCLUDE_PATHS / HEADER_SEARCH_PATHS below (see settings). + - path: Sources/CGMSynth/gm_synth.c + dependencies: # Package.swift links IOKit explicitly (used without a Swift import); # everything else (AppKit, AVFoundation, CoreMIDI, CoreAudio, Metal, @@ -91,3 +98,9 @@ targets: # Don't let Xcode generate a competing Info.plist. GENERATE_INFOPLIST_FILE: NO COMBINE_HIDPI_IMAGES: YES + # Resolve `import CGMSynth`: the module map (module.modulemap) and its + # header live in Sources/CGMSynth/include. SWIFT_INCLUDE_PATHS lets the + # Swift side find the module; HEADER_SEARCH_PATHS lets gm_synth.c find + # its own "gm_synth.h". + SWIFT_INCLUDE_PATHS: $(SRCROOT)/Sources/CGMSynth/include + HEADER_SEARCH_PATHS: $(SRCROOT)/Sources/CGMSynth/include -- 2.51.2