Add initial hb-view tool
[framework/uifw/harfbuzz.git] / src / Makefile.am
index 188c38c..8e8319f 100644 (file)
@@ -1,34 +1,32 @@
 # Process this file with automake to produce Makefile.in
 
 NULL =
+EXTRA_DIST =
 
 # The following warning options are useful for debugging: -Wpadded -Wcast-align
 #AM_CXXFLAGS =
 
 lib_LTLIBRARIES = libharfbuzz.la
 
+HBCFLAGS =
+HBLIBS =
 HBSOURCES =  \
        hb-blob.c \
-       hb-buffer.c \
-       hb-buffer-private.h \
+       hb-blob-private.h \
+       hb-buffer.cc \
+       hb-buffer-private.hh \
+       hb-common.c \
        hb-font.cc \
        hb-font-private.h \
+       hb-object-private.h \
+       hb-open-file-private.hh \
+       hb-open-type-private.hh \
+       hb-language.c \
+       hb-ot-head-private.hh \
        hb-private.h \
-       hb-shape.h \
-       hb-shape.c \
+       hb-shape.cc \
        hb-unicode.c \
-       hb-unicode.h \
        hb-unicode-private.h \
-       hb-open-file-private.hh \
-       hb-open-type-private.hh \
-       hb-ot-layout.cc \
-       hb-ot-layout-common-private.hh \
-       hb-ot-layout-gdef-private.hh \
-       hb-ot-layout-gpos-private.hh \
-       hb-ot-layout-gsubgpos-private.hh \
-       hb-ot-layout-gsub-private.hh \
-       hb-ot-layout-private.h \
-       hb-object-private.h \
        $(NULL)
 HBHEADERS = \
        hb.h \
@@ -36,11 +34,38 @@ HBHEADERS = \
        hb-buffer.h \
        hb-common.h \
        hb-font.h \
+       hb-language.h \
+       hb-shape.h \
+       hb-unicode.h \
+       $(NULL)
+
+HBSOURCES += \
+       hb-ot-layout.cc \
+       hb-ot-layout-common-private.hh \
+       hb-ot-layout-gdef-private.hh \
+       hb-ot-layout-gpos-private.hh \
+       hb-ot-layout-gsubgpos-private.hh \
+       hb-ot-layout-gsub-private.hh \
+       hb-ot-layout-private.hh \
+       hb-ot-map.cc \
+       hb-ot-map-private.hh \
+       hb-ot-shape.cc \
+       hb-ot-shape-complex-arabic.cc \
+       hb-ot-shape-complex-arabic-table.h \
+       hb-ot-shape-complex-private.hh \
+       hb-ot-shape-private.hh \
+       hb-ot-tag.c \
+       $(NULL)
+HBHEADERS += \
        hb-ot.h \
        hb-ot-layout.h \
+       hb-ot-shape.h \
+       hb-ot-tag.h \
        $(NULL)
 
 if HAVE_GLIB
+HBCFLAGS += $(GLIB_CFLAGS)
+HBLIBS   += $(GLIB_LIBS)
 HBSOURCES += \
        hb-glib.c \
        $(NULL)
@@ -49,21 +74,75 @@ HBHEADERS += \
        $(NULL)
 endif
 
-CXXLINK = $(LINK)
+if HAVE_ICU
+HBCFLAGS += $(ICU_CFLAGS)
+HBLIBS   += $(ICU_LIBS)
+HBSOURCES += \
+       hb-icu.c \
+       $(NULL)
+HBHEADERS += \
+       hb-icu.h \
+       $(NULL)
+endif
+
+if HAVE_FREETYPE
+HBCFLAGS += $(FREETYPE_CFLAGS)
+HBLIBS   += $(FREETYPE_LIBS)
+HBSOURCES += \
+       hb-ft.c \
+       $(NULL)
+HBHEADERS += \
+       hb-ft.h \
+       $(NULL)
+endif
 
+CXXLINK = $(LINK)
 libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS)
-libharfbuzz_la_CPPFLAGS = $(GLIB_CFLAGS)
-libharfbuzz_la_LIBADD = $(GLIB_LIBS)
+libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
+libharfbuzz_la_LIBADD = $(HBLIBS)
 pkginclude_HEADERS = $(HBHEADERS)
 
-noinst_PROGRAMS = main
+
+GENERATORS = \
+       gen-arabic-joining-table.py \
+       $(NULL)
+
+EXTRA_DIST += $(GENERATORS)
+
+noinst_PROGRAMS = main test
+bin_PROGRAMS =
+
+if HAVE_GLIB
+if HAVE_FREETYPE
+if HAVE_CAIRO_FT
+if HAVE_CAIRO_PNG
+hb_view_SOURCES = hb-view.c
+hb_view_CPPFLAGS = $(HBCFLAGS) $(CAIRO_FT_CFLAGS) $(CAIRO_PNG_CFLAGS)
+hb_view_LDADD = libharfbuzz.la $(HBLIBS) $(CAIRO_FT_LIBS) $(CAIRO_PNG_LIBS)
+bin_PROGRAMS += hb-view
+endif
+endif
+endif
+endif
 
 main_SOURCES = main.cc
-main_CPPFLAGS = $(GLIB_CFLAGS)
-main_LDADD = libharfbuzz.la $(GLIB_LIBS)
+main_CPPFLAGS = $(HBCFLAGS)
+main_LDADD = libharfbuzz.la $(HBLIBS)
+
+test_SOURCES = test.c
+test_CPPFLAGS = $(HBCFLAGS)
+test_LDADD = libharfbuzz.la $(HBLIBS)
 
-TESTS = \
-       check-libstdc++.sh \
+dist_check_SCRIPTS = \
+       check-c-linkage-decls.sh \
+       check-header-guards.sh \
+       check-internal-symbols.sh \
        $(NULL)
 
+if HAVE_ICU
+else
+dist_check_SCRIPTS += check-libstdc++.sh
+endif
+
+
 -include $(top_srcdir)/git.mk