Revert "Imported Upstream version 1.2.7"
[platform/upstream/harfbuzz.git] / src / Makefile.am
index 8cfe4ac..c99967f 100644 (file)
@@ -1,5 +1,6 @@
 # Process this file with automake to produce Makefile.in
 
+NULL =
 SUBDIRS =
 DIST_SUBDIRS =
 BUILT_SOURCES =
@@ -13,98 +14,171 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
 #AM_CXXFLAGS =
 
 # Convenience targets:
-lib: $(BUILT_SOURCES) libharfbuzz.la
-fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la
+lib: libharfbuzz.la
 
 lib_LTLIBRARIES = libharfbuzz.la
 
-include Makefile.sources
-
 HBCFLAGS =
 HBLIBS =
-HBNONPCLIBS =
-HBDEPS =
-HBSOURCES =  $(HB_BASE_sources)
-HBHEADERS = $(HB_BASE_headers)
-HBNODISTHEADERS = $(HB_NODIST_headers)
+HBSOURCES =  \
+       hb-atomic-private.hh \
+       hb-blob.cc \
+       hb-buffer-deserialize-json.hh \
+       hb-buffer-deserialize-text.hh \
+       hb-buffer-private.hh \
+       hb-buffer-serialize.cc \
+       hb-buffer.cc \
+       hb-cache-private.hh \
+       hb-common.cc \
+       hb-face-private.hh \
+       hb-face.cc \
+       hb-font-private.hh \
+       hb-font.cc \
+       hb-mutex-private.hh \
+       hb-object-private.hh \
+       hb-open-file-private.hh \
+       hb-open-type-private.hh \
+       hb-ot-cmap-table.hh \
+       hb-ot-head-table.hh \
+       hb-ot-hhea-table.hh \
+       hb-ot-hmtx-table.hh \
+       hb-ot-maxp-table.hh \
+       hb-ot-name-table.hh \
+       hb-ot-tag.cc \
+       hb-private.hh \
+       hb-set-private.hh \
+       hb-set.cc \
+       hb-shape.cc \
+       hb-shape-plan-private.hh \
+       hb-shape-plan.cc \
+       hb-shaper-list.hh \
+       hb-shaper-impl-private.hh \
+       hb-shaper-private.hh \
+       hb-shaper.cc \
+       hb-unicode-private.hh \
+       hb-unicode.cc \
+       hb-utf-private.hh \
+       hb-warning.cc \
+       $(NULL)
+HBHEADERS = \
+       hb.h \
+       hb-blob.h \
+       hb-buffer.h \
+       hb-common.h \
+       hb-deprecated.h \
+       hb-face.h \
+       hb-font.h \
+       hb-set.h \
+       hb-shape.h \
+       hb-shape-plan.h \
+       hb-unicode.h \
+       $(NULL)
+HBNODISTHEADERS = \
+       hb-version.h \
+       $(NULL)
 
 if HAVE_OT
-HBSOURCES += $(HB_OT_sources)
-HBHEADERS += $(HB_OT_headers)
+HBSOURCES += \
+       hb-ot-font.cc \
+       hb-ot-layout.cc \
+       hb-ot-layout-common-private.hh \
+       hb-ot-layout-gdef-table.hh \
+       hb-ot-layout-gpos-table.hh \
+       hb-ot-layout-gsubgpos-private.hh \
+       hb-ot-layout-gsub-table.hh \
+       hb-ot-layout-jstf-table.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-fallback.hh \
+       hb-ot-shape-complex-arabic-table.hh \
+       hb-ot-shape-complex-arabic-win1256.hh \
+       hb-ot-shape-complex-default.cc \
+       hb-ot-shape-complex-hangul.cc \
+       hb-ot-shape-complex-hebrew.cc \
+       hb-ot-shape-complex-indic.cc \
+       hb-ot-shape-complex-indic-machine.hh \
+       hb-ot-shape-complex-indic-private.hh \
+       hb-ot-shape-complex-indic-table.cc \
+       hb-ot-shape-complex-myanmar.cc \
+       hb-ot-shape-complex-myanmar-machine.hh \
+       hb-ot-shape-complex-sea.cc \
+       hb-ot-shape-complex-sea-machine.hh \
+       hb-ot-shape-complex-thai.cc \
+       hb-ot-shape-complex-tibetan.cc \
+       hb-ot-shape-complex-private.hh \
+       hb-ot-shape-normalize-private.hh \
+       hb-ot-shape-normalize.cc \
+       hb-ot-shape-fallback-private.hh \
+       hb-ot-shape-fallback.cc \
+       hb-ot-shape-private.hh \
+       $(NULL)
+HBHEADERS += \
+       hb-ot.h \
+       hb-ot-font.h \
+       hb-ot-layout.h \
+       hb-ot-shape.h \
+       hb-ot-tag.h \
+       $(NULL)
 endif
 
 if HAVE_FALLBACK
-HBSOURCES += $(HB_FALLBACK_sources)
+HBSOURCES += hb-fallback-shape.cc
 endif
 
 if HAVE_PTHREAD
 HBCFLAGS += $(PTHREAD_CFLAGS)
-HBNONPCLIBS += $(PTHREAD_LIBS)
+HBLIBS   += $(PTHREAD_LIBS)
 endif
 
 if HAVE_GLIB
 HBCFLAGS += $(GLIB_CFLAGS)
 HBLIBS   += $(GLIB_LIBS)
-HBDEPS   += $(GLIB_DEPS)
-HBSOURCES += $(HB_GLIB_sources)
-HBHEADERS += $(HB_GLIB_headers)
+HBSOURCES += hb-glib.cc
+HBHEADERS += hb-glib.h
 endif
 
 if HAVE_FREETYPE
 HBCFLAGS += $(FREETYPE_CFLAGS)
 HBLIBS   += $(FREETYPE_LIBS)
-# XXX
-# The following creates a recursive dependency on FreeType if FreeType is
-# built with HarfBuzz support enabled.  Newer pkg-config handles that just
-# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes.  Remove
-# in a year or two, or otherwise work around it...
-#HBDEPS   += $(FREETYPE_DEPS)
-HBSOURCES += $(HB_FT_sources)
-HBHEADERS += $(HB_FT_headers)
+HBSOURCES += hb-ft.cc
+HBHEADERS += hb-ft.h
 endif
 
 if HAVE_GRAPHITE2
 HBCFLAGS += $(GRAPHITE2_CFLAGS)
 HBLIBS   += $(GRAPHITE2_LIBS)
-HBDEPS   += $(GRAPHITE2_DEPS)
-HBSOURCES += $(HB_GRAPHITE2_sources)
-HBHEADERS += $(HB_GRAPHITE2_headers)
+HBSOURCES += hb-graphite2.cc
+HBHEADERS += hb-graphite2.h
 endif
 
 if HAVE_UNISCRIBE
 HBCFLAGS += $(UNISCRIBE_CFLAGS)
-HBNONPCLIBS += $(UNISCRIBE_LIBS)
-HBSOURCES += $(HB_UNISCRIBE_sources)
-HBHEADERS += $(HB_UNISCRIBE_headers)
-endif
-
-if HAVE_DIRECTWRITE
-HBCFLAGS += $(DIRECTWRITE_CXXFLAGS)
-HBNONPCLIBS += $(DIRECTWRITE_LIBS)
-HBSOURCES += $(HB_DIRECTWRITE_sources)
-HBHEADERS += $(HB_DIRECTWRITE_headers)
+HBLIBS   += $(UNISCRIBE_LIBS)
+HBSOURCES += hb-uniscribe.cc
+HBHEADERS += hb-uniscribe.h
 endif
 
 if HAVE_CORETEXT
 HBCFLAGS += $(CORETEXT_CFLAGS)
-HBNONPCLIBS += $(CORETEXT_LIBS)
-HBSOURCES += $(HB_CORETEXT_sources)
-HBHEADERS += $(HB_CORETEXT_headers)
+HBLIBS   += $(CORETEXT_LIBS)
+HBSOURCES += hb-coretext.cc
+HBHEADERS += hb-coretext.h
 endif
 
 if HAVE_UCDN
 SUBDIRS += hb-ucdn
 HBCFLAGS += -I$(srcdir)/hb-ucdn
 HBLIBS   += hb-ucdn/libhb-ucdn.la
-HBSOURCES += $(HB_UCDN_sources)
+HBSOURCES += hb-ucdn.cc
 endif
 DIST_SUBDIRS += hb-ucdn
 
 
 # Put the library together
 
-HBLIBS += $(HBNONPCLIBS)
-
 if OS_WIN32
 export_symbols = -export-symbols harfbuzz.def
 harfbuzz_def_dependency = harfbuzz.def
@@ -129,59 +203,35 @@ pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = harfbuzz.pc
 EXTRA_DIST += harfbuzz.pc.in
 
-FUZZING_CPPFLAGS= \
-       -DHB_NDEBUG \
-       -DHB_MAX_NESTING_LEVEL=3 \
-       -DHB_SANITIZE_MAX_EDITS=3 \
-       -DHB_BUFFER_MAX_EXPANSION_FACTOR=3 \
-       -DHB_BUFFER_MAX_LEN_MIN=8 \
-       -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
-       $(NULL)
-EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
-libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
-libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
-libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
-libharfbuzz_fuzzing_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
-libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
-EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
-CLEANFILES += libharfbuzz-fuzzing.la
-
 if HAVE_ICU
-if HAVE_ICU_BUILTIN
-HBCFLAGS += $(ICU_CFLAGS)
-HBLIBS += $(ICU_LIBS)
-HBSOURCES += $(HB_ICU_sources)
-HBHEADERS += $(HB_ICU_headers)
-else
 lib_LTLIBRARIES += libharfbuzz-icu.la
-libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources)
+libharfbuzz_icu_la_SOURCES = hb-icu.cc
 libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS)
 libharfbuzz_icu_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
 libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
-pkginclude_HEADERS += $(HB_ICU_headers)
+pkginclude_HEADERS += hb-icu.h
 pkgconfig_DATA += harfbuzz-icu.pc
 endif
-endif
 EXTRA_DIST += harfbuzz-icu.pc.in
 
 if HAVE_GOBJECT
 lib_LTLIBRARIES += libharfbuzz-gobject.la
-libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_sources)
-nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_ENUM_sources)
+libharfbuzz_gobject_la_SOURCES = hb-gobject-structs.cc
+nodist_libharfbuzz_gobject_la_SOURCES = hb-gobject-enums.cc
 libharfbuzz_gobject_la_CPPFLAGS = $(GOBJECT_CFLAGS)
 libharfbuzz_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
 libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
-pkginclude_HEADERS += $(HB_GOBJECT_headers)
-nodist_pkginclude_HEADERS += $(HB_GOBJECT_ENUM_headers)
+pkginclude_HEADERS += hb-gobject.h hb-gobject-structs.h
+nodist_pkginclude_HEADERS += hb-gobject-enums.h
 pkgconfig_DATA += harfbuzz-gobject.pc
 
 BUILT_SOURCES += \
-       $(HB_GOBJECT_ENUM_sources) \
-       $(HB_GOBJECT_ENUM_headers) \
+       hb-gobject-enums.cc \
+       hb-gobject-enums.h \
        $(NULL)
 DISTCLEANFILES += \
-       $(HB_GOBJECT_ENUM_sources) \
-       $(HB_GOBJECT_ENUM_headers) \
+       hb-gobject-enums.cc \
+       hb-gobject-enums.h \
        $(NULL)
 hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
        $(AM_V_GEN) $(GLIB_MKENUMS) \
@@ -203,8 +253,6 @@ EXTRA_DIST += \
                -e 's@%exec_prefix%@$(exec_prefix)@g' \
                -e 's@%libdir%@$(libdir)@g' \
                -e 's@%includedir%@$(includedir)@g' \
-               -e 's@%libs_private%@$(HBNONPCLIBS)@g' \
-               -e 's@%requires_private%@$(HBDEPS)@g' \
                -e 's@%VERSION%@$(VERSION)@g' \
        "$<" > "$@" \
        || ($(RM) "$@"; false)
@@ -219,7 +267,7 @@ harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
        $(EGREP) '^hb_.* \(' | \
        sed -e 's/ (.*//' | \
        LANG=C sort; \
-       echo LIBRARY libharfbuzz-0.dll; \
+       echo LIBRARY libharfbuzz-$(HB_VERSION_MAJOR).dll; \
        ) >"$@"
        @ ! grep -q hb_ERROR "$@" \
        || ($(RM) "$@"; false)
@@ -228,34 +276,29 @@ harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
 GENERATORS = \
        gen-arabic-table.py \
        gen-indic-table.py \
-       gen-use-table.py \
        $(NULL)
 EXTRA_DIST += $(GENERATORS)
 
-unicode-tables: arabic-table indic-table use-table
-
-arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
-       $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
-       || ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
+unicode-tables: arabic-table indic-table
 
-indic-table: gen-indic-table.py IndicSyllabicCategory-7.0.0.txt IndicMatraCategory-7.0.0.txt Blocks.txt
+indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicMatraCategory.txt Blocks.txt
        $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-indic-table.cc \
        || ($(RM) hb-ot-shape-complex-indic-table.cc; false)
 
-use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
-       $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-use-table.cc \
-       || ($(RM) hb-ot-shape-complex-use-table.cc; false)
+arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
+       $(AM_V_GEN) $(builddir)/$^ > hb-ot-shape-complex-arabic-table.hh \
+       || ($(RM) hb-ot-shape-complex-arabic-table.hh; false)
 
 built-sources: $(BUILT_SOURCES)
 
-.PHONY: unicode-tables arabic-table indic-table use-table built-sources
+.PHONY: unicode-tables arabic-table indic-table built-sources
 
 RAGEL_GENERATED = \
        $(srcdir)/hb-buffer-deserialize-json.hh \
        $(srcdir)/hb-buffer-deserialize-text.hh \
        $(srcdir)/hb-ot-shape-complex-indic-machine.hh \
        $(srcdir)/hb-ot-shape-complex-myanmar-machine.hh \
-       $(srcdir)/hb-ot-shape-complex-use-machine.hh \
+       $(srcdir)/hb-ot-shape-complex-sea-machine.hh \
        $(NULL)
 BUILT_SOURCES += $(RAGEL_GENERATED)
 EXTRA_DIST += \
@@ -263,7 +306,7 @@ EXTRA_DIST += \
        hb-buffer-deserialize-text.rl \
        hb-ot-shape-complex-indic-machine.rl \
        hb-ot-shape-complex-myanmar-machine.rl \
-       hb-ot-shape-complex-use-machine.rl \
+       hb-ot-shape-complex-sea-machine.rl \
        $(NULL)
 MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
 $(srcdir)/%.hh: $(srcdir)/%.rl
@@ -309,14 +352,7 @@ dist_check_SCRIPTS = \
        check-symbols.sh \
        $(NULL)
 
-check_PROGRAMS = \
-       test-ot-tag \
-       $(NULL)
-test_ot_tag_SOURCES = hb-ot-tag.cc
-test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN
-test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS)
-
-TESTS = $(dist_check_SCRIPTS) $(check_PROGRAMS)
+TESTS = $(dist_check_SCRIPTS)
 TESTS_ENVIRONMENT = \
        srcdir="$(srcdir)" \
        MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
@@ -327,7 +363,7 @@ TESTS_ENVIRONMENT = \
 if HAVE_INTROSPECTION
 
 -include $(INTROSPECTION_MAKEFILE)
-INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
+INTROSPECTION_GIRS = HarfBuzz-$(HB_VERSION_MAJOR).0.gir # What does the 0 mean anyway?!
 INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
 INTROSPECTION_SCANNER_ENV = CC="$(CC)"
@@ -343,7 +379,6 @@ HarfBuzz_0_0_gir_CFLAGS = \
        -DHB_OT_H_IN \
        -DHB_GOBJECT_H \
        -DHB_GOBJECT_H_IN \
-       -DHB_EXTERN= \
        $(NULL)
 HarfBuzz_0_0_gir_LIBS = \
        libharfbuzz.la \
@@ -353,10 +388,10 @@ HarfBuzz_0_0_gir_FILES = \
        $(HBHEADERS) \
        $(HBNODISTHEADERS) \
        $(HBSOURCES) \
-       $(HB_GOBJECT_ENUM_sources) \
-       $(HB_GOBJECT_ENUM_headers) \
-       $(HB_GOBJECT_sources) \
-       $(HB_GOBJECT_STRUCTS_headers) \
+       hb-gobject-enums.cc \
+       hb-gobject-enums.h \
+       hb-gobject-structs.cc \
+       hb-gobject-structs.h \
        $(NULL)
 
 girdir = $(datadir)/gir-1.0