Repository navigation
Default to prebuilt liblbug (fixes #12) - #13
Merged
Merged
Conversation
…lds) Fresh clones and downstream packages previously evaluated the from-source cxx-ladybug target by default, whose ~1183 generated files under Sources/cxx-ladybug/ladybug/ are never committed, so any consumer adding the package without LBUG_USE_PREBUILT set failed at manifest load. Make the prebuilt target the default (env opt-out instead of opt-in): - Package.swift and its collect-ladybug-src template now treat any LBUG_USE_PREBUILT value other than "0" as prebuilt. - Default LBUG_TARGET_DIR to <package>/lib derived from #filePath, so dependent packages link without extra configuration once scripts/download-liblbug.sh has run in their checkout (the old relative "lib" only resolved for root builds). - Check in Sources/cxx-ladybug-prebuilt/include/lbug.h (v0.21.2) so the module's C API is available without running the download script; the updater refreshes it from the submodule on each version bump. - Match the new default in ExtensionTests' ALGO-install gate. - CI: desktop/example jobs exercise the zero-config default; the iOS simulator job explicitly opts into the source build (no iOS prebuilt yet); docs job downloads the prebuilt library before generating docs. - README documents the prebuilt default, the checkout-local download step for downstream consumers, and the LBUG_USE_PREBUILT=0 source opt-in (including iOS). Fixes #12.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #12.
Fresh clones and downstream packages previously evaluated the from-source
cxx-ladybugtarget by default, whose ~1183 generated files underSources/cxx-ladybug/ladybug/are never committed, so any consumer adding the package withoutLBUG_USE_PREBUILTset failed at manifest load (Source files for target cxx-ladybug should be located under 'Sources/cxx-ladybug').This PR makes the prebuilt target the default (env opt-out instead of opt-in):
Package.swiftand itscollect-ladybug-srctemplate now treat anyLBUG_USE_PREBUILTvalue other than0as prebuilt.LBUG_TARGET_DIRdefaults to<package>/libderived from#filePath, so dependent packages link without extra configuration oncescripts/download-liblbug.shhas run in their checkout (the old relativelibonly resolved for root builds).Sources/cxx-ladybug-prebuilt/include/lbug.h(v0.21.2) so the module's C API is available without running the download script; the updater refreshes it from the submodule on each version bump.download-liblbug.shheader copy is compare-and-skip with achmodfallback (package checkouts land read-only).ExtensionTestsALGO-install gate matches the new default.LBUG_USE_PREBUILT=0source opt-in.Verified: root
swift build/swift testwith no env (108 tests, 0 failures, 1 designed ALGO-binary skip), and a fresh URL-based consumer that resolves with no env and — after the checkout-local download — builds, links, and runs a live query.Follow-up (already noted in #12): a prebuilt XCFramework remains the proper long-term fix, especially for iOS/Xcode consumers.