Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate the Generator::build() method #6580

Merged
merged 5 commits into from
Jan 26, 2022
Merged

Deprecate the Generator::build() method #6580

merged 5 commits into from
Jan 26, 2022

Conversation

steven-johnson
Copy link
Contributor

This makes the use of the build() method in Generators unsupported by default in Halide 14. The newer, generate() based approach has been preferred for quite some time, and it is believed that very few downstream users still have any code in that form. (Halide itself only has a couple of remaining uses, and they exist only to verify that the build() method still works.)

This hides all support for build() behind the HALIDE_ALLOW_GENERATOR_BUILD_METHOD preprocessor flag, which defaults to undefined -- Generators with build() methods won't compile in this state.

To allow downstream users time to adapt any remaining code, they can #define HALIDE_ALLOW_GENERATOR_BUILD_METHOD in their build system, which will allow the old code to compile (with deprecation warnings).

The intent here is to ship Halide 14 with this deprecation in place, then remove the support entirely in Halide 15.

(At this time LLVM 14 is scheduled to go final in roughly mid-March 2022, so it's likely that Halide 14 will follow in early April 2022 or so.)

@steven-johnson steven-johnson added the release_notes For changes that may warrant a note in README for official releases. label Jan 24, 2022
@steven-johnson steven-johnson merged commit 91ad522 into master Jan 26, 2022
@steven-johnson steven-johnson deleted the srj/no-build branch January 26, 2022 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_notes For changes that may warrant a note in README for official releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants