mirror of
https://github.com/google/brotli.git
synced 2026-07-08 17:56:58 +00:00
Wheels / Windows #134
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @JoeUX on GitHub (Aug 17, 2016).
Hi guys, what are the wheels files supposed to do? I installed a wheel thinking it would build a binary, but it didn't.
Relatedly, what's the simplest way to build brotli on Windows? I see make, cmake, premake, the notes mention Bazel. I'm not familiar with the last two. What's the best Windows path here? (64-bit, Windows 10, VS 2015)
@eustas commented on GitHub (Aug 22, 2016):
With VS it is logical to use build system that supports project file generation -> cmake or premake5:
cmake -G "some_generator", where some_generator is picked from the list provided bycmake --helppremake5 vs2015Of course, installed cmake/premake5 is a prerequisite.
@anthrotype commented on GitHub (Aug 22, 2016):
@JoeArizona Wheels are Python's binary package format.
@JoeUX commented on GitHub (Aug 24, 2016):
Hey thanks @eustas, I'm reading about premake now, and it looks pretty smart. premake5 is in alpha though, and 4.4 is in beta, so I'm puzzled by what version they want people to use, since those are the only downloads they feature. I'll try CMake. Exposing compiler optimizations in these tools has always been harder than it needs to be, buried in so much other content that it feels like compiler flags are an afterthought. Build tools should have a section in their make-equivalent files called Optimization, with subsections for CPU/hardware targets, linker optimization, math, etc. and then automatically convert all that to the correct compiler flags depending on the compiler. Maybe I'll sketch out something.
@anthrotype I know that much, have occasionally gone to Christoph Gohlke's wonderful repository of Python wheels for Windows to grab stuff, but I don't know what the brotli wheel is supposed to do exactly, since brotli isn't written in Python. I guess another way of framing my question: What do we need the Python stuff for here? What is Python doing in the brotli repo? I'm not used to seeing a bunch of Python/Ruby/scripting code in a compression codec written in C/C++. If we don't need it to build the binaries, then is for testing or something? I looked around for an explanation of the build process, and also of what the Python code was for, but so far I haven't found any docs or comments on that.
@anthrotype commented on GitHub (Aug 24, 2016):
@JoeArizona They are simply bindings which allow to call the brotli library from python code (Python has C API which can be used to write extension modules).
For example, we use brotli for compressing WOFF2 fonts in FontTools.
@JoeUX commented on GitHub (Aug 24, 2016):
Ah, okay, just bindings. The nine different wheels in the downloads/releases page threw me off, made me think wheels were being used to build brotli.exe. Thanks for clearing that up.
@anthrotype commented on GitHub (Aug 24, 2016):
Yeah, those should really be uploaded to the Python package index, IMO.