jhass / crystal-gobject

gobject-introspection for Crystal
BSD 3-Clause "New" or "Revised" License
127 stars 13 forks source link

Install gi-generator, gi-dump and gi-doc utils on bin directory. #49

Closed hugopl closed 4 years ago

jhass commented 4 years ago

Sorry, I disagree.

gi-generators main purpose is updating the bindings for gi-repository in this project. gi-dump is intended as a debugging tool while developing this project.

gi-doc potentially makes sense, but I think, due to essentially being an extended crystal compiler, is too heavy and requires too many dependencies to automatically build like this. If we could slim it down a lot we could do this, but I guess the more likely avenue is shipping it as a separate project once mature.

hugopl commented 4 years ago

Makes sense... I added then here because I'm understanding the project and how all the things are generated.

On another subject.... I was thinking about a way to speed up the compilation by not generate the bindings every time... however I don't even have benchmarks to compare and prove that this is even a problem.

closing the PR.

jhass commented 4 years ago

IME once it's cached it's much faster already. This started out shipping pregenerated files in this repo, but that actually turned out to be more brittle and the big disadvantages that it might not match the version of the library installed on the system. Not to speak of the maintenance overhead and having to maintain a crystal shard for each gobject library :)