[HarfBuzz] A plea to make HarfBuzz easier to build.

Jonathan Blow jon at number-none.com
Sat Dec 12 22:40:13 PST 2015


Hi,

I just got through hooking HarfBuzz into a project that runs on Windows
(and Monday we get to make sure it runs on the PS4 as well). Even with the
help of Daniel Maciel here, who had done a similar thing already, it still
took me a couple of hours all together.

The thing is there's no reason for that, and I think there are lots of
people out there who would like to use HarfBuzz on a variety of platforms
if (a) they knew it existed, and (b) they knew they could just use it.

It might seem that supporting Windows, random game consoles, etc, takes a
lot of development work, but actually the opposite is true; all that needs
to happen is removal of the dependency on an OS-dependant build system --
then the problem just goes away.

It seems to me that the best way to do this is just to provide one .cpp
file that just includes everything else. That way you just add a cpp to
your project, include one .h where you want to use it, and you're done --
you don't have to worry about having build tools installed, static vs
dynamic linkage, syncing up 64 vs 32-bit libraries, keeping straight all
the precompiled libraries for all your OSs, etc.

In general among people I know who ship software that runs on many OSs,
this is the solution that has stood the test of time and is simple and just
works for the maximum number of people. (Actually the absolute best thing
to do, from a usability standpoint, is to pack everything into just one
actual text file -- as in the stb libraries [https://github.com/nothings/stb]
-- but beyond some size of project this may reduce understandability, so
given that, an include-all cpp file is a reasonable compromise).

Of course now that I have got this working for my current project, the
strife involved in building does not matter so much for me, but as with any
library the multiplier of any time saved becomes enormous the more people
use the software. Conversely, a lot of programmers out there get a lot more
powerful as soon as they don't have to deal with a bunch of friction in
integrating some code.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20151212/5e886072/attachment.html>


More information about the HarfBuzz mailing list