Skip to content

Add Windows builders for libaom and brotli#1072

Merged
crazywhalecc merged 4 commits intocrazywhalecc:mainfrom
hmennen90:feat/windows-libaom-brotli
Mar 23, 2026
Merged

Add Windows builders for libaom and brotli#1072
crazywhalecc merged 4 commits intocrazywhalecc:mainfrom
hmennen90:feat/windows-libaom-brotli

Conversation

@hmennen90
Copy link
Copy Markdown
Contributor

Summary

Adds missing Windows CMake builders for libaom and brotli. Both are listed in lib.json and required as transitive dependencies when building with --with-suggested-libs, but had no Windows implementation.

Changes

  • src/SPC/builder/windows/library/libaom.php — CMake builder using builddir (not build) to avoid collision with libaom's source tree build/cmake/ directory. Uses AOM_TARGET_CPU=generic matching the Unix builder.
  • src/SPC/builder/windows/library/brotli.php — Standard CMake builder with shared libs and tools disabled.
  • config/lib.json — Added static-libs-windows: ["aom.lib"] for libaom.

Context

Without these builders, all Windows builds that include gd with --with-suggested-libs fail immediately:

library [libaom] is in the lib.json list but not supported to compile

(After fixing libaom, brotli surfaces with the same error.)

Test plan

  • Windows CI jobs should pass the library compilation stage
  • libavif should find aom.lib in the build root
  • freetype/curl should find brotli libs in the build root

Both libraries are listed in lib.json and used as transitive dependencies
(libaom via libavif, brotli via freetype/curl) but had no Windows builder,
causing builds to fail with "library [X] is in the lib.json list but not
supported to compile".

libaom: Uses builddir instead of build to avoid collision with the
source tree's build/cmake/ directory. Matches the Unix builder's
AOM_TARGET_CPU=generic setting for portability.

brotli: Standard CMake build with shared libs and tools disabled.

Also adds static-libs-windows entry for libaom in lib.json.
@crazywhalecc
Copy link
Copy Markdown
Owner

These libs has been implemented on v3 version though, but no reason not to fix this on v2. Note that I have not conducted full testing; I have only tried building GD (I fixed the issues with FreeType), libaom, and Brotli on Windows.

@crazywhalecc crazywhalecc added bug Something isn't working kind/dependency Issues related to dependencies labels Mar 23, 2026
@crazywhalecc crazywhalecc merged commit d35cbd7 into crazywhalecc:main Mar 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working kind/dependency Issues related to dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants