-
Notifications
You must be signed in to change notification settings - Fork 93
Build all dependencies with zig so we don't have to depend on vcpkg #126
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
base: main
Are you sure you want to change the base?
Conversation
this is huge thank you Shreyas! |
btw the builds will fail for a bit cuz the pr is incomplete don't merge it yet |
heyy @dmtrKovalenko do you want tiff to support WEBP, LZMA, ZSTD, JBIG, LERC, etc too? i don't think they are very common and will bloat the binary. we already pull in zlib for spng and libjeg for jpeg so we get those basically for free what you think? |
there is an issue for webp support so I think it would be cool #124 Maybe avif as well becuase I know one image lossless optimizer uses odiff as a testing tooling so it might be useful. |
okay we can do that but I mean for the tiff itself (it's a container format that can store jpeg, lossless zlib compressed or webp etc pixel data) Also did you look at https://github.com/zigimg/zigimg ? |
@dmtrKovalenko but our tiff buld has
|
suspicious that only x86 builds are failling |
oh probably because of nasm not being in path i think |
okay i went through open issues and this pr could close these
we could potentially even have a wasm build so people can use it in webcontainers or even browsers now that the file system api is actually pretty usable |
As the title says, this is an attempt to make the build process self sufficient and make it not depend on vcpkg or any other external tools
build.zig is currently a mess but will fix it up once i get it working.
currently only tested on x86_64 linux, windows and aarch64 linux. Cross compilation tested to x86_64-macos, aarch64-macos and aarch64-windows but not sure if the binary actually works (it should tho).
for x86 systems we currently need nasm to be available but i am planning to build it from source on the fly when not available
I don't have tiff building from source yet so cross compilation does't work with it but if we disable tiff support "it just works"
Todos