Skip to content

Regenerated the libwebp wrapper so it matches the library layout#20

Merged
stemann merged 1 commit into
masterfrom
feature/generated-wrapper-libraries
Apr 9, 2026
Merged

Regenerated the libwebp wrapper so it matches the library layout#20
stemann merged 1 commit into
masterfrom
feature/generated-wrapper-libraries

Conversation

@stemann

@stemann stemann commented Apr 8, 2026

Copy link
Copy Markdown
Owner

Regenerated src/Wrapper.jl from gen so the wrapper matches libwebp_jlls library layout.

The Clang.jl-based generator emitted every wrapper against libwebp even though libwebp_jll splits the API across libwebp, libwebpdemux, and libwebpmux. That mismatch left demux and mux entry points bound to the wrong shared library and broke animated and container-related APIs at runtime.

Updated the generator configuration to route declarations from demux.h to libwebpdemux and declarations from mux.h and mux_types.h to libwebpmux. Added an ignorelist for inline-only convenience wrappers because those names appear in the headers but are not exported by the shared libraries, so generating Julia ccall wrappers for them would create invalid bindings.

@stemann

stemann commented Apr 8, 2026

Copy link
Copy Markdown
Owner Author

Remedies #13

@codecov

codecov Bot commented Apr 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 44 lines in your changes missing coverage. Please review.
✅ Project coverage is 32.25%. Comparing base (2391e30) to head (b8a91f2).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/Wrapper.jl 0.00% 44 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #20      +/-   ##
==========================================
+ Coverage   28.72%   32.25%   +3.53%     
==========================================
  Files           5        5              
  Lines         383      341      -42     
==========================================
  Hits          110      110              
+ Misses        273      231      -42     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Regenerated src/Wrapper.jl from gen so the wrapper matches libwebp_jlls library layout.

The Clang.jl-based generator emitted every wrapper against libwebp even though libwebp_jll splits the API across libwebp, libwebpdemux, and libwebpmux. That mismatch left demux and mux entry points bound to the wrong shared library and broke animated and container-related APIs at runtime.

Updated the generator configuration to route declarations from demux.h to libwebpdemux and declarations from mux.h and mux_types.h to libwebpmux. Added an ignorelist for inline-only convenience wrappers because those names appear in the headers but are not exported by the shared libraries, so generating Julia ccall wrappers for them would create invalid bindings.
@stemann
stemann force-pushed the feature/generated-wrapper-libraries branch from a66f48d to b8a91f2 Compare April 9, 2026 07:07
@stemann
stemann merged commit b8a91f2 into master Apr 9, 2026
20 of 21 checks passed
@stemann
stemann deleted the feature/generated-wrapper-libraries branch April 9, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant