The font features demo started calling the Harfbuzz API directly starting from commit 9de3b24c205f1c647292a490f92f21a776b931a4. Harfbuzz is an implicit dependency of Pango on some platforms, but it's not part of the public dependencies; this means that we cannot expect to link to Pango and automatically get Harfbuzz symbols to link against — especially when things like --as-needed are in play.
This change triggered build failures on non-Unix platforms, fixed by commit 2a9967731a3b77b102ada633c39b5a35efc80957, as well as build failures in Continuous, with this error message:
/usr/lib/gcc/x86_64-gnomeostree-linux/4.9.3/../../../../x86_64-gnomeostree-linux/bin/ld: font_features.o: undefined reference to symbol 'hb_tag_to_string' //lib/libharfbuzz.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
In order to get the font features demo to build everywhere we should take an explicit, though optional, check on Harfbuzz, and conditionally build the font features demo with the right compiler and linker flags.
c8686f0 demo: Link against Harfbuzz
configure.ac | 9 +++++++++
demos/gtk-demo/Makefile.am | 17 ++++++++++++++---
2 files changed, 23 insertions(+), 3 deletions(-)