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

Jamie Dale jamiedale88+harfbuzz at gmail.com
Sun Dec 13 12:33:38 PST 2015


I actually ended up making a CMake file to build HarfBuzz (and something
really bad has happened if I've been driven to CMake!) since it was the
simplest way to get a working build for Windows that I could easily keep
up-to-date.

This was also used to get a PS4 build (using a custom target file). Note:
You'll need a define to stub out getenv for a PS4 build, and also enable
the define for Intel atomics.

The only other platform I've built so far (also using that CMake file) was
Mac, but I still have several other platforms I need to build for. I'd
share it my CMake file, but it's very tailored to our build dependencies.

-Jamie.
<https://www.avast.com/lp-safe-emailing?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
This
email has been sent from a virus-free computer protected by Avast.
www.avast.com
<https://www.avast.com/lp-safe-emailing?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On 13 December 2015 at 06:40, Jonathan Blow <jon at number-none.com> wrote:

> 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.
>
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20151213/1c3dc214/attachment.html>


More information about the HarfBuzz mailing list