[autofit] Fix 'multi' compilation. * src/autofit/ft-hb.c: Decorate with `FT_LOCAL_DEF`. Add ANSI boilerplate code for otherwise empty file. * src/autofit/ft-hb.h: Include `compiler-macros.h` and `freetype.h`. Use `FT_BEGIN_HEADER` and `FT_END_HEADER`. Decorate with `FT_LOCAL`. * src/autofit/rules.mk (AUTOF_DRV_SRC): Add `ft-hb.c`.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
diff --git a/src/autofit/ft-hb.c b/src/autofit/ft-hb.c
index 260ebdc..09a8401 100644
--- a/src/autofit/ft-hb.c
+++ b/src/autofit/ft-hb.c
@@ -92,7 +92,7 @@ hb_ft_face_create_ (FT_Face ft_face,
return face;
}
-hb_font_t *
+FT_LOCAL_DEF(hb_font_t *)
hb_ft_font_create_ (FT_Face ft_face,
hb_destroy_func_t destroy)
{
@@ -105,4 +105,11 @@ hb_ft_font_create_ (FT_Face ft_face,
return font;
}
-#endif
+#else /* !FT_CONFIG_OPTION_USE_HARFBUZZ */
+
+/* ANSI C doesn't like empty source files */
+typedef int _ft_hb_dummy;
+
+#endif /* !FT_CONFIG_OPTION_USE_HARFBUZZ */
+
+/* END */
diff --git a/src/autofit/ft-hb.h b/src/autofit/ft-hb.h
index 0d3ca20..92a5774 100644
--- a/src/autofit/ft-hb.h
+++ b/src/autofit/ft-hb.h
@@ -29,7 +29,20 @@
#include <hb.h>
-hb_font_t * hb_ft_font_create_ (FT_Face ft_face,
- hb_destroy_func_t destroy);
+#include <freetype/internal/compiler-macros.h>
+#include <freetype/freetype.h>
-#endif
+
+FT_BEGIN_HEADER
+
+FT_LOCAL(hb_font_t *)
+hb_ft_font_create_ (FT_Face ft_face,
+ hb_destroy_func_t destroy);
+
+
+FT_END_HEADER
+
+#endif /* FT_HB_H */
+
+
+/* END */
diff --git a/src/autofit/rules.mk b/src/autofit/rules.mk
index 4b6fcfb..a46ba3f 100644
--- a/src/autofit/rules.mk
+++ b/src/autofit/rules.mk
@@ -39,6 +39,7 @@ AUTOF_DRV_SRC := $(AUTOF_DIR)/afblue.c \
$(AUTOF_DIR)/afmodule.c \
$(AUTOF_DIR)/afranges.c \
$(AUTOF_DIR)/afshaper.c \
+ $(AUTOF_DIR)/ft-hb.c
# AUTOF driver headers
#