> From: Nathan Willis <nwil...@glyphography.com> > Date: Mon, 4 Feb 2019 12:28:02 +0000 > Cc: harfbuzz@lists.freedesktop.org > > On Sat, Jan 26, 2019 at 5:35 PM Eli Zaretskii <e...@gnu.org> wrote: > > > 1) It would be good to have some guidance in some README or in the > > HTML docs regarding the optional dependencies and configuration > > options, and their significance. For example, it turns out Glib is > > needed to run a large portion of the test suite, something that wasn't > > clear (I initially concluded that I didn't need Glib at all). Also, > > hb-shape is not built if Glib isn't available. Similarly, hb-view is > > not build unless both Cairo and cairo-ft are available. > > > > > I added https://harfbuzz.github.io/building.html#configuration a few weeks > ago; would you mind elaborating on what is missing there from your POV?
Thanks for adding this, and sorry for the long delay in responding. The information you added tells when to use the optional configure switches. That is important, but there's a more general issue of what optional dependencies are needed for which parts of HarfBuzz's functionalities. This is important for someone who wants to build HarfBuzz with the minimal set of dependencies, but without losing any functionality important for one's use case. Without a good understanding of these issues, one cannot easily decide on which of the configure switches to use, and more importantly what packages need to be installed before building HarfBuzz. In response to my questions, Khaled once provided some of the information about that. I now combine that below with what I learned while building HarfBuzz: . ICU is needed for accessing Unicode character properties; UCDN is the built-in alternative to that which has no external dependencies. My conclusion was that ICU is not needed, but maybe it has some advantages, in which case it would be good to describe them. . Cairo is needed for command-line tools (so can be skipped if one only wants the library). Note that Cairo alone is not enough for building the command-line tools, you also need cairo-ft, and for hb-shape one also needs Glib. . Freetype is one of two font callbacks; the other is built-in and has no external dependencies. The decision whether to use Freetype largely depends on whether the program(s) to be linked against HarfBuzz already use Freetype. . Fontconfig is only needed for command-line tools. . Graphite2 is becoming less and less important, as fonts which require that are rare, and their importance for minority scripts is diminishing with recent OpenType developments. . Glib is needed for running a large part of the test suite, so if one decides not to build with Glib, a separate build with Glib just for running the test suite is a good idea. . Python is required (and should be on PATH) for most of the test suite. . It is not clear to me what are GObject and Introspection needed for; it would be good to clarify that. Btw, the information about "Building on Windows" is IMO outdated: nowadays one can use the "normal" Unix configure/make steps assuming one has MSYS and MinGW installed. That's what I did. There should be no need anymore for any Windows-specific build procedures. Thanks, and let me know if I can help more with this documentation effort. _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz