meson: restore extension_memory as feature (fixes #829)#833
Merged
mvandervoord merged 1 commit intoMay 22, 2026
Merged
Conversation
Commit 6502a67 (merge of PR ThrowTheSwitch#764) accidentally downgraded the `extension_memory` option from `type: 'feature'` to `type: 'boolean'` during conflict resolution. The PR itself just removed quotes around boolean values (the Meson 1.1 deprecation fix), but its branch was based on an older master where extension_memory was still boolean; the merge resolution chose that stale version over master's `feature`. meson.build still calls `build_memory.enabled()` and `.auto()`, which are feature-option methods; on a boolean option they raise: ERROR: Unknown method "enabled" in object <[BooleanHolder] holds [bool]: False> of type BooleanHolder. Restore the `type: 'feature', value: 'auto'` declaration that existed on master before the merge. No change needed in meson.build; its usage of enabled() + auto() is correct for a feature option. Verified: - `meson setup` now succeeds (pre-fix: failed with the error above) - `meson configure -Dextension_memory=enabled` applies cleanly - `ninja -C build` builds libunity.a including the memory extension
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 #829.
The bug
meson setupfails on current master:Root cause
Commit
29451d6cchangedextension_memoryfromtype: 'feature'totype: 'boolean'- but that branch was PR #764 ("Fix: update meson optionsto avoid deprecation warnings"), whose actual diff just removed quotes from
boolean values (Meson 1.1 deprecation fix). The PR branch was based on an
older master where
extension_memorywas still boolean. When the PR wasmerged into master (commit
6502a671), the conflict resolution kept thePR's stale
booleanversion instead of master's currentfeatureversion.meson.buildstill callsbuild_memory.enabled()andbuild_memory.auto(),which are feature-option methods; on a boolean option they don't exist.
The fix
Restore extension_memory to its feature type in
meson_options.txt:meson.buildis UNCHANGED - its use ofenabled()andauto()iscorrect for a feature option and preserves the original "memory extension
automatically enabled when fixture is enabled" semantic.
Verification
Dropping the fix (
git stash) reproduces the original error verbatim.No user-facing change
Users who were explicitly passing
-Dextension_memory=falsecan now use-Dextension_memory=disabled(feature semantic). The default ('auto')matches the pre-breakage default, so unconfigured builds are unchanged.
(Credit to the issue reporter for diagnosing the accidental type change.)