2009-08-11 05:35:05 +02:00
|
|
|
# Process this file with automake to produce Makefile.in
|
2000-12-20 05:41:36 +01:00
|
|
|
|
2018-01-11 10:47:31 +01:00
|
|
|
NULL =
|
2012-07-25 03:05:12 +02:00
|
|
|
SUBDIRS =
|
|
|
|
DIST_SUBDIRS =
|
2011-08-19 19:59:24 +02:00
|
|
|
BUILT_SOURCES =
|
2011-01-10 04:29:14 +01:00
|
|
|
EXTRA_DIST =
|
2011-05-06 03:31:04 +02:00
|
|
|
CLEANFILES =
|
|
|
|
DISTCLEANFILES =
|
|
|
|
MAINTAINERCLEANFILES =
|
2012-06-16 21:21:41 +02:00
|
|
|
DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
|
2018-02-14 03:54:26 +01:00
|
|
|
TESTS =
|
|
|
|
check_PROGRAMS =
|
2009-05-20 11:35:14 +02:00
|
|
|
|
2019-07-05 16:16:41 +02:00
|
|
|
EXTRA_DIST += harfbuzz.cc
|
2020-03-12 11:11:10 +01:00
|
|
|
EXTRA_DIST += meson.build
|
2020-04-18 15:29:56 +02:00
|
|
|
EXTRA_DIST += fix_get_types.py
|
2019-07-05 16:16:41 +02:00
|
|
|
|
2015-01-22 03:33:50 +01:00
|
|
|
# Convenience targets:
|
2018-10-09 07:10:15 +02:00
|
|
|
lib: $(BUILT_SOURCES) libharfbuzz.la
|
2018-07-17 10:59:19 +02:00
|
|
|
libs: $(BUILT_SOURCES) $(lib_LTLIBRARIES)
|
2019-06-26 21:53:57 +02:00
|
|
|
tiny:
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) CPPFLAGS="-Os -DHB_TINY $(CPPFLAGS)" libs
|
|
|
|
tinyz:
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) CPPFLAGS="-Oz -DHB_TINY $(CPPFLAGS)" libs
|
2015-01-22 03:33:50 +01:00
|
|
|
|
2009-11-02 22:28:39 +01:00
|
|
|
lib_LTLIBRARIES = libharfbuzz.la
|
2006-03-31 14:28:09 +02:00
|
|
|
|
2015-11-03 09:56:27 +01:00
|
|
|
include Makefile.sources
|
|
|
|
|
2009-11-03 22:35:10 +01:00
|
|
|
HBCFLAGS =
|
|
|
|
HBLIBS =
|
2015-08-11 12:58:49 +02:00
|
|
|
HBNONPCLIBS =
|
|
|
|
HBDEPS =
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES = $(HB_BASE_sources)
|
2017-04-05 11:21:23 +02:00
|
|
|
HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBHEADERS = $(HB_BASE_headers)
|
2009-11-03 21:14:40 +01:00
|
|
|
|
2012-10-02 20:55:32 +02:00
|
|
|
if HAVE_PTHREAD
|
|
|
|
HBCFLAGS += $(PTHREAD_CFLAGS)
|
2015-08-11 12:58:49 +02:00
|
|
|
HBNONPCLIBS += $(PTHREAD_LIBS)
|
2012-10-02 20:55:32 +02:00
|
|
|
endif
|
|
|
|
|
2009-11-03 00:33:52 +01:00
|
|
|
if HAVE_GLIB
|
2009-11-03 22:35:10 +01:00
|
|
|
HBCFLAGS += $(GLIB_CFLAGS)
|
2009-11-04 00:34:20 +01:00
|
|
|
HBLIBS += $(GLIB_LIBS)
|
2015-08-11 12:58:49 +02:00
|
|
|
HBDEPS += $(GLIB_DEPS)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES += $(HB_GLIB_sources)
|
|
|
|
HBHEADERS += $(HB_GLIB_headers)
|
2011-08-14 15:17:16 +02:00
|
|
|
endif
|
|
|
|
|
2009-11-04 00:34:20 +01:00
|
|
|
if HAVE_FREETYPE
|
|
|
|
HBCFLAGS += $(FREETYPE_CFLAGS)
|
|
|
|
HBLIBS += $(FREETYPE_LIBS)
|
2020-03-10 20:57:31 +01:00
|
|
|
HBDEPS += $(FREETYPE_DEPS)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES += $(HB_FT_sources)
|
|
|
|
HBHEADERS += $(HB_FT_headers)
|
2009-11-04 00:34:20 +01:00
|
|
|
endif
|
2009-11-03 20:18:33 +01:00
|
|
|
|
2012-04-12 20:53:53 +02:00
|
|
|
if HAVE_GRAPHITE2
|
|
|
|
HBCFLAGS += $(GRAPHITE2_CFLAGS)
|
|
|
|
HBLIBS += $(GRAPHITE2_LIBS)
|
2015-08-11 12:58:49 +02:00
|
|
|
HBDEPS += $(GRAPHITE2_DEPS)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES += $(HB_GRAPHITE2_sources)
|
|
|
|
HBHEADERS += $(HB_GRAPHITE2_headers)
|
2011-08-24 01:29:25 +02:00
|
|
|
endif
|
|
|
|
|
2011-08-04 01:55:04 +02:00
|
|
|
if HAVE_UNISCRIBE
|
|
|
|
HBCFLAGS += $(UNISCRIBE_CFLAGS)
|
2015-08-11 12:58:49 +02:00
|
|
|
HBNONPCLIBS += $(UNISCRIBE_LIBS)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES += $(HB_UNISCRIBE_sources)
|
|
|
|
HBHEADERS += $(HB_UNISCRIBE_headers)
|
2011-08-04 01:55:04 +02:00
|
|
|
endif
|
2016-02-03 11:31:23 +01:00
|
|
|
|
|
|
|
if HAVE_DIRECTWRITE
|
|
|
|
HBCFLAGS += $(DIRECTWRITE_CXXFLAGS)
|
|
|
|
HBNONPCLIBS += $(DIRECTWRITE_LIBS)
|
|
|
|
HBSOURCES += $(HB_DIRECTWRITE_sources)
|
|
|
|
HBHEADERS += $(HB_DIRECTWRITE_headers)
|
|
|
|
endif
|
2011-08-04 01:55:04 +02:00
|
|
|
|
2019-07-16 19:57:01 +02:00
|
|
|
if HAVE_GDI
|
|
|
|
HBCFLAGS += $(GDI_CXXFLAGS)
|
|
|
|
HBNONPCLIBS += $(GDI_LIBS)
|
|
|
|
HBSOURCES += $(HB_GDI_sources)
|
|
|
|
HBHEADERS += $(HB_GDI_headers)
|
|
|
|
endif
|
|
|
|
|
2012-07-24 21:52:32 +02:00
|
|
|
if HAVE_CORETEXT
|
|
|
|
HBCFLAGS += $(CORETEXT_CFLAGS)
|
2015-08-11 12:58:49 +02:00
|
|
|
HBNONPCLIBS += $(CORETEXT_LIBS)
|
2015-11-03 09:56:27 +01:00
|
|
|
HBSOURCES += $(HB_CORETEXT_sources)
|
|
|
|
HBHEADERS += $(HB_CORETEXT_headers)
|
2012-07-24 21:52:32 +02:00
|
|
|
endif
|
|
|
|
|
2012-08-08 23:16:01 +02:00
|
|
|
|
2018-06-13 01:20:20 +02:00
|
|
|
BUILT_SOURCES += \
|
|
|
|
hb-version.h
|
|
|
|
|
|
|
|
$(srcdir)/hb-version.h: hb-version.h.in $(top_srcdir)/configure.ac
|
2020-06-02 17:31:03 +02:00
|
|
|
$(AM_V_GEN) $(srcdir)/gen-hb-version.py $(HB_VERSION) hb-version.h.in hb-version.h
|
2018-06-13 01:20:20 +02:00
|
|
|
|
2012-08-08 23:16:01 +02:00
|
|
|
# Put the library together
|
|
|
|
|
2015-08-11 12:58:49 +02:00
|
|
|
HBLIBS += $(HBNONPCLIBS)
|
|
|
|
|
2012-08-08 23:16:01 +02:00
|
|
|
if OS_WIN32
|
|
|
|
export_symbols = -export-symbols harfbuzz.def
|
|
|
|
harfbuzz_def_dependency = harfbuzz.def
|
2018-02-12 12:40:13 +01:00
|
|
|
export_symbols_subset = -export-symbols harfbuzz-subset.def
|
|
|
|
harfbuzz_subset_def_dependency = harfbuzz-subset.def
|
2018-02-23 22:19:34 +01:00
|
|
|
export_symbols_icu = -export-symbols harfbuzz-icu.def
|
|
|
|
harfbuzz_icu_def_dependency = harfbuzz-icu.def
|
|
|
|
export_symbols_gobject = -export-symbols harfbuzz-gobject.def
|
|
|
|
harfbuzz_gobject_def_dependency = harfbuzz-gobject.def
|
2018-02-12 20:51:24 +01:00
|
|
|
chosen_linker = $(CXXLINK)
|
2012-09-25 02:23:00 +02:00
|
|
|
else
|
2018-02-12 15:45:36 +01:00
|
|
|
if WITH_LIBSTDCXX
|
2018-02-12 20:51:24 +01:00
|
|
|
chosen_linker = $(CXXLINK)
|
2018-02-12 09:30:07 +01:00
|
|
|
else
|
2013-01-14 07:27:21 +01:00
|
|
|
if HAVE_GCC
|
2018-02-12 09:30:07 +01:00
|
|
|
# Use a C linker for GCC, not C++; Don't link to libstdc++
|
2018-02-12 20:51:24 +01:00
|
|
|
chosen_linker = $(LINK)
|
2013-01-14 07:27:21 +01:00
|
|
|
else
|
2018-02-12 20:51:24 +01:00
|
|
|
chosen_linker = $(CXXLINK)
|
2013-01-14 07:27:21 +01:00
|
|
|
endif
|
2012-09-25 02:23:00 +02:00
|
|
|
endif
|
2018-02-12 09:30:07 +01:00
|
|
|
endif
|
2012-09-25 02:23:00 +02:00
|
|
|
|
2018-03-03 20:25:09 +01:00
|
|
|
@CODE_COVERAGE_RULES@
|
|
|
|
|
2018-02-12 12:40:13 +01:00
|
|
|
base_link_flags = $(AM_LDFLAGS) -lm -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined
|
2018-03-27 11:29:56 +02:00
|
|
|
libharfbuzz_la_LINK = $(chosen_linker) $(libharfbuzz_la_LDFLAGS)
|
2018-02-24 07:51:17 +01:00
|
|
|
libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS)
|
2018-03-26 23:26:45 +02:00
|
|
|
libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS)
|
2018-03-27 11:29:56 +02:00
|
|
|
libharfbuzz_la_LDFLAGS = $(base_link_flags) $(export_symbols) $(CODE_COVERAGE_LDFLAGS)
|
2009-11-03 22:35:10 +01:00
|
|
|
libharfbuzz_la_LIBADD = $(HBLIBS)
|
2012-09-19 01:42:06 +02:00
|
|
|
EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
|
2009-11-02 22:28:39 +01:00
|
|
|
pkginclude_HEADERS = $(HBHEADERS)
|
2018-02-24 07:51:17 +01:00
|
|
|
nodist_pkginclude_HEADERS =
|
2013-05-28 23:18:30 +02:00
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
|
|
pkgconfig_DATA = harfbuzz.pc
|
2018-02-23 22:55:53 +01:00
|
|
|
cmakedir = $(libdir)/cmake/harfbuzz
|
|
|
|
cmake_DATA = harfbuzz-config.cmake
|
2018-06-13 01:20:20 +02:00
|
|
|
EXTRA_DIST += hb-version.h.in harfbuzz.pc.in harfbuzz-config.cmake.in
|
2006-03-31 14:28:09 +02:00
|
|
|
|
2018-02-05 02:18:52 +01:00
|
|
|
lib_LTLIBRARIES += libharfbuzz-subset.la
|
2020-03-21 20:01:52 +01:00
|
|
|
libharfbuzz_subset_la_LINK = $(chosen_linker) $(libharfbuzz_subset_la_LDFLAGS)
|
2018-02-05 02:18:52 +01:00
|
|
|
libharfbuzz_subset_la_SOURCES = $(HB_SUBSET_sources)
|
2018-03-26 23:26:45 +02:00
|
|
|
libharfbuzz_subset_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS)
|
2018-03-27 11:29:56 +02:00
|
|
|
libharfbuzz_subset_la_LDFLAGS = $(base_link_flags) $(export_symbols_subset) $(CODE_COVERAGE_LDFLAGS)
|
2018-02-05 02:18:52 +01:00
|
|
|
libharfbuzz_subset_la_LIBADD = libharfbuzz.la
|
2018-02-12 12:40:13 +01:00
|
|
|
EXTRA_libharfbuzz_subset_la_DEPENDENCIES = $(harfbuzz_subset_def_dependency)
|
2018-02-05 02:18:52 +01:00
|
|
|
pkginclude_HEADERS += $(HB_SUBSET_headers)
|
|
|
|
pkgconfig_DATA += harfbuzz-subset.pc
|
|
|
|
EXTRA_DIST += harfbuzz-subset.pc.in
|
|
|
|
|
2013-05-28 21:27:40 +02:00
|
|
|
if HAVE_ICU
|
2016-02-26 00:35:15 +01:00
|
|
|
if HAVE_ICU_BUILTIN
|
|
|
|
HBCFLAGS += $(ICU_CFLAGS)
|
|
|
|
HBLIBS += $(ICU_LIBS)
|
|
|
|
HBSOURCES += $(HB_ICU_sources)
|
|
|
|
HBHEADERS += $(HB_ICU_headers)
|
|
|
|
else
|
2013-05-28 21:27:40 +02:00
|
|
|
lib_LTLIBRARIES += libharfbuzz-icu.la
|
2015-11-03 09:56:27 +01:00
|
|
|
libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources)
|
2018-03-27 11:29:56 +02:00
|
|
|
libharfbuzz_icu_la_CPPFLAGS = $(HBCFLAGS) $(ICU_CFLAGS) $(CODE_COVERAGE_CFLAGS)
|
|
|
|
libharfbuzz_icu_la_LDFLAGS = $(base_link_flags) $(export_symbols_icu) $(CODE_COVERAGE_LDFLAGS)
|
2013-05-28 21:27:40 +02:00
|
|
|
libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la
|
2018-02-12 12:40:13 +01:00
|
|
|
EXTRA_libharfbuzz_icu_la_DEPENDENCIES = $(harfbuzz_icu_def_dependency)
|
2015-11-03 09:56:27 +01:00
|
|
|
pkginclude_HEADERS += $(HB_ICU_headers)
|
2013-05-28 23:18:30 +02:00
|
|
|
pkgconfig_DATA += harfbuzz-icu.pc
|
2013-05-28 21:27:40 +02:00
|
|
|
endif
|
2016-02-26 00:35:15 +01:00
|
|
|
endif
|
2013-09-04 02:00:16 +02:00
|
|
|
EXTRA_DIST += harfbuzz-icu.pc.in
|
2013-05-28 21:27:40 +02:00
|
|
|
|
2013-08-27 02:56:58 +02:00
|
|
|
if HAVE_GOBJECT
|
|
|
|
lib_LTLIBRARIES += libharfbuzz-gobject.la
|
2018-02-14 06:18:00 +01:00
|
|
|
libharfbuzz_gobject_la_LINK = $(chosen_linker) $(libharfbuzz_gobject_la_LDFLAGS)
|
2018-02-23 22:19:34 +01:00
|
|
|
libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_DIST_sources)
|
|
|
|
nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_NODIST_sources)
|
2018-03-27 11:29:56 +02:00
|
|
|
libharfbuzz_gobject_la_CPPFLAGS = $(HBCFLAGS) $(GOBJECT_CFLAGS) $(CODE_COVERAGE_CFLAGS)
|
|
|
|
libharfbuzz_gobject_la_LDFLAGS = $(base_link_flags) $(CODE_COVERAGE_LDFLAGS)
|
2013-08-27 02:56:58 +02:00
|
|
|
libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
|
2018-02-23 22:19:34 +01:00
|
|
|
EXTRA_libharfbuzz_gobject_la_DEPENDENCIES = $(harfbuzz_gobject_def_dependency)
|
|
|
|
pkginclude_HEADERS += $(HB_GOBJECT_DIST_headers)
|
|
|
|
nodist_pkginclude_HEADERS += $(HB_GOBJECT_NODIST_headers)
|
2013-08-27 02:56:58 +02:00
|
|
|
pkgconfig_DATA += harfbuzz-gobject.pc
|
|
|
|
|
|
|
|
BUILT_SOURCES += \
|
2015-11-03 09:56:27 +01:00
|
|
|
$(HB_GOBJECT_ENUM_sources) \
|
|
|
|
$(HB_GOBJECT_ENUM_headers) \
|
2013-08-27 02:56:58 +02:00
|
|
|
$(NULL)
|
|
|
|
DISTCLEANFILES += \
|
2015-11-03 09:56:27 +01:00
|
|
|
$(HB_GOBJECT_ENUM_sources) \
|
|
|
|
$(HB_GOBJECT_ENUM_headers) \
|
2013-08-27 02:56:58 +02:00
|
|
|
$(NULL)
|
|
|
|
hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
|
2018-03-16 22:35:03 +01:00
|
|
|
$(AM_V_GEN) PYTHONIOENCODING=UTF-8 $(GLIB_MKENUMS) \
|
2013-08-27 02:56:58 +02:00
|
|
|
--identifier-prefix hb_ --symbol-prefix hb_gobject \
|
|
|
|
--template $^ | \
|
2014-10-01 18:41:03 +02:00
|
|
|
sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \
|
|
|
|
|| ($(RM) "$@"; false)
|
2013-08-27 02:56:58 +02:00
|
|
|
endif
|
2013-09-04 02:00:16 +02:00
|
|
|
EXTRA_DIST += \
|
|
|
|
harfbuzz-gobject.pc.in \
|
|
|
|
hb-gobject-enums.cc.tmpl \
|
|
|
|
hb-gobject-enums.h.tmpl \
|
|
|
|
$(NULL)
|
2013-08-27 02:56:58 +02:00
|
|
|
|
|
|
|
|
2013-05-28 23:18:30 +02:00
|
|
|
%.pc: %.pc.in $(top_builddir)/config.status
|
|
|
|
$(AM_V_GEN) \
|
2013-06-06 23:16:01 +02:00
|
|
|
$(SED) -e 's@%prefix%@$(prefix)@g' \
|
|
|
|
-e 's@%exec_prefix%@$(exec_prefix)@g' \
|
|
|
|
-e 's@%libdir%@$(libdir)@g' \
|
|
|
|
-e 's@%includedir%@$(includedir)@g' \
|
2015-08-11 12:58:49 +02:00
|
|
|
-e 's@%libs_private%@$(HBNONPCLIBS)@g' \
|
|
|
|
-e 's@%requires_private%@$(HBDEPS)@g' \
|
2013-06-06 23:16:01 +02:00
|
|
|
-e 's@%VERSION%@$(VERSION)@g' \
|
2014-10-01 18:41:03 +02:00
|
|
|
"$<" > "$@" \
|
|
|
|
|| ($(RM) "$@"; false)
|
2013-05-28 23:18:30 +02:00
|
|
|
|
2013-05-28 23:23:56 +02:00
|
|
|
CLEANFILES += $(pkgconfig_DATA)
|
|
|
|
|
2013-05-28 21:27:40 +02:00
|
|
|
|
2018-10-29 10:41:01 +01:00
|
|
|
DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def harfbuzz-deprecated-symbols.txt
|
2018-02-23 22:19:34 +01:00
|
|
|
if HAVE_GOBJECT
|
|
|
|
DEF_FILES += harfbuzz-gobject.def
|
|
|
|
endif
|
|
|
|
check: $(DEF_FILES) # For check-symbols.sh
|
|
|
|
CLEANFILES += $(DEF_FILES)
|
2013-02-05 05:28:22 +01:00
|
|
|
harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS)
|
2018-07-09 19:26:44 +02:00
|
|
|
$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
|
2018-02-23 22:19:34 +01:00
|
|
|
harfbuzz-subset.def: $(HB_SUBSET_headers)
|
2018-07-09 19:26:44 +02:00
|
|
|
$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
|
2018-02-12 12:40:13 +01:00
|
|
|
harfbuzz-icu.def: $(HB_ICU_headers)
|
2018-07-09 19:26:44 +02:00
|
|
|
$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
|
2018-02-23 22:19:34 +01:00
|
|
|
harfbuzz-gobject.def: $(HB_GOBJECT_headers)
|
2018-07-09 19:26:44 +02:00
|
|
|
$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
|
2018-10-29 10:41:01 +01:00
|
|
|
harfbuzz-deprecated-symbols.txt: $(srcdir)/hb-deprecated.h
|
|
|
|
$(AM_V_GEN) PLAIN_LIST=1 $(srcdir)/gen-def.py "$@" $^
|
2012-08-08 23:16:01 +02:00
|
|
|
|
2010-10-06 00:36:58 +02:00
|
|
|
|
|
|
|
GENERATORS = \
|
2011-06-02 00:10:10 +02:00
|
|
|
gen-arabic-table.py \
|
2018-10-03 17:46:48 +02:00
|
|
|
gen-def.py \
|
|
|
|
gen-emoji-table.py \
|
2020-04-21 09:49:16 +02:00
|
|
|
gen-harfbuzzcc.py \
|
|
|
|
gen-hb-version.py \
|
2011-06-02 23:43:12 +02:00
|
|
|
gen-indic-table.py \
|
2018-10-03 17:46:48 +02:00
|
|
|
gen-os2-unicode-ranges.py \
|
2020-04-21 09:49:16 +02:00
|
|
|
gen-ragel-artifacts.py \
|
Autogenerate the BCP 47 to OpenType mappings
The new script, gen-tag-table.py, generates `ot_languages` automatically
from the [OpenType language system tag registry][ot] and the [IANA
Language Subtag Registry][bcp47] with some manual modifications. If an
OpenType tag maps to a BCP 47 macrolanguage, all the macrolanguage's
individual languages are mapped to the same OpenType tag, except for
individual languages with their own OpenType mappings. Deprecated
BCP 47 tags are canonicalized.
[ot]: https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
[bcp47]: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Some OpenType tags correspond to multiple ISO 639 codes. The mapping
from ISO 639 codes lists OpenType tags in priority order, such that more
specific or more likely tags appear first.
Some OpenType tags have no corresponding ISO 639 code in the registry so
their mappings use BCP 47 subtags besides the language. For example, any
BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and 'IPPH'
is mapped back to und-fonipa.
Other OpenType tags have no corresponding ISO 639 code because it is not
clear what they are for. HarfBuzz just ignores these tags.
One such ignored tag is 'ZHP ' (Chinese Phonetic). It probably means
zh-Latn. However, it is used in Microsoft JhengHei and Microsoft YaHei
with the script tag 'hani', implying that it is not a romanization
scheme after all. It would be simple enough to add this mapping to
gen-tag-table.py once a definitive mapping is determined.
The manual modifications are mainly either obvious mappings that the
OpenType registry omits or mappings for compatibility with previous
versions of HarfBuzz. Some of the old mappings were discarded, though,
for homophonous language names. For example, OpenType maps 'KUI ' to
kxu; previous versions of HarfBuzz also mapped it to kvd, because kvd
and kxu both happen to be called "Kui".
gen-tag-table.py also generates a function to convert multi-subtag tags
like el-polyton and zh-HK to OpenType tags, replacing `ot_languages_zh`
and the hard-coded list of special cases in `hb_ot_tags_from_language`.
It also generates a function to convert OpenType tags to BCP 47,
replacing the hard-coded list of special cases in
`hb_ot_tag_to_language`.
2017-12-09 04:45:52 +01:00
|
|
|
gen-tag-table.py \
|
2019-05-22 21:51:53 +02:00
|
|
|
gen-ucd-table.py \
|
2015-07-20 12:32:48 +02:00
|
|
|
gen-use-table.py \
|
2018-10-12 22:54:54 +02:00
|
|
|
gen-vowel-constraints.py \
|
2010-10-06 00:36:58 +02:00
|
|
|
$(NULL)
|
|
|
|
EXTRA_DIST += $(GENERATORS)
|
|
|
|
|
2014-03-21 22:37:27 +01:00
|
|
|
built-sources: $(BUILT_SOURCES)
|
2012-03-07 18:08:33 +01:00
|
|
|
|
2020-06-02 19:22:57 +02:00
|
|
|
.PHONY: built-sources
|
2012-03-07 18:08:33 +01:00
|
|
|
|
2014-10-01 20:24:07 +02:00
|
|
|
RAGEL_GENERATED = \
|
2017-04-17 07:33:42 +02:00
|
|
|
$(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \
|
2013-02-11 19:36:23 +01:00
|
|
|
$(NULL)
|
2014-10-01 20:24:07 +02:00
|
|
|
BUILT_SOURCES += $(RAGEL_GENERATED)
|
2013-02-11 19:36:23 +01:00
|
|
|
EXTRA_DIST += \
|
2017-04-05 15:42:11 +02:00
|
|
|
$(HB_BASE_RAGEL_sources) \
|
2013-02-11 19:36:23 +01:00
|
|
|
$(NULL)
|
2018-02-20 23:34:16 +01:00
|
|
|
# We decided to add ragel-generated files to git...
|
|
|
|
#MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
|
2014-10-01 20:24:07 +02:00
|
|
|
$(srcdir)/%.hh: $(srcdir)/%.rl
|
2019-05-13 23:10:28 +02:00
|
|
|
$(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \
|
2014-10-01 18:41:03 +02:00
|
|
|
|| ($(RM) "$@"; false)
|
2011-06-18 00:35:46 +02:00
|
|
|
|
2019-07-03 21:10:03 +02:00
|
|
|
harfbuzz.cc: Makefile.sources
|
2019-07-02 23:26:45 +02:00
|
|
|
$(AM_V_GEN) \
|
2020-04-21 09:49:16 +02:00
|
|
|
$(srcdir)/gen-harfbuzzcc.py \
|
|
|
|
$(srcdir)/harfbuzz.cc \
|
2019-07-03 21:17:57 +02:00
|
|
|
$(HB_BASE_sources) \
|
|
|
|
$(HB_GLIB_sources) \
|
|
|
|
$(HB_FT_sources) \
|
|
|
|
$(HB_GRAPHITE2_sources) \
|
|
|
|
$(HB_UNISCRIBE_sources) \
|
2019-07-16 19:57:01 +02:00
|
|
|
$(HB_GDI_sources) \
|
2019-07-03 21:17:57 +02:00
|
|
|
$(HB_DIRECTWRITE_sources) \
|
2020-04-21 09:49:16 +02:00
|
|
|
$(HB_CORETEXT_sources)
|
2019-07-03 21:17:57 +02:00
|
|
|
BUILT_SOURCES += harfbuzz.cc
|
2019-07-02 23:26:45 +02:00
|
|
|
|
2013-02-27 19:01:02 +01:00
|
|
|
noinst_PROGRAMS = \
|
|
|
|
main \
|
|
|
|
test \
|
|
|
|
test-buffer-serialize \
|
2019-07-25 22:00:29 +02:00
|
|
|
test-ot-meta \
|
2019-04-24 15:55:24 +02:00
|
|
|
test-ot-name \
|
2019-11-20 01:18:33 +01:00
|
|
|
test-ot-glyphname \
|
2019-04-24 15:55:24 +02:00
|
|
|
test-gpos-size-params \
|
|
|
|
test-gsub-would-substitute \
|
2013-02-27 19:01:02 +01:00
|
|
|
$(NULL)
|
2011-02-23 00:06:19 +01:00
|
|
|
bin_PROGRAMS =
|
|
|
|
|
2009-05-20 11:35:14 +02:00
|
|
|
main_SOURCES = main.cc
|
2009-11-03 22:35:10 +01:00
|
|
|
main_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
main_LDADD = libharfbuzz.la $(HBLIBS)
|
2009-11-02 20:35:51 +01:00
|
|
|
|
2012-11-30 08:06:59 +01:00
|
|
|
test_SOURCES = test.cc
|
|
|
|
test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
|
|
|
|
test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
|
|
|
|
|
2018-10-24 07:45:45 +02:00
|
|
|
test_buffer_serialize_SOURCES = test-buffer-serialize.cc
|
|
|
|
test_buffer_serialize_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS)
|
|
|
|
|
2019-07-25 22:00:29 +02:00
|
|
|
test_ot_meta_SOURCES = test-ot-meta.cc
|
|
|
|
test_ot_meta_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_ot_meta_LDADD = libharfbuzz.la $(HBLIBS)
|
2019-07-24 00:38:34 +02:00
|
|
|
|
2019-04-24 15:55:24 +02:00
|
|
|
test_ot_name_SOURCES = test-ot-name.cc
|
|
|
|
test_ot_name_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_ot_name_LDADD = libharfbuzz.la $(HBLIBS)
|
2012-07-19 20:59:15 +02:00
|
|
|
|
2019-11-20 01:18:33 +01:00
|
|
|
test_ot_glyphname_SOURCES = test-ot-glyphname.cc
|
|
|
|
test_ot_glyphname_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_ot_glyphname_LDADD = libharfbuzz.la $(HBLIBS)
|
|
|
|
|
2019-04-24 15:55:24 +02:00
|
|
|
test_gpos_size_params_SOURCES = test-gpos-size-params.cc
|
|
|
|
test_gpos_size_params_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_gpos_size_params_LDADD = libharfbuzz.la $(HBLIBS)
|
2012-11-30 08:06:59 +01:00
|
|
|
|
2019-04-24 15:55:24 +02:00
|
|
|
test_gsub_would_substitute_SOURCES = test-gsub-would-substitute.cc
|
|
|
|
test_gsub_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
|
|
|
|
test_gsub_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
|
2013-02-27 19:01:02 +01:00
|
|
|
|
2018-02-14 03:54:26 +01:00
|
|
|
check_PROGRAMS += \
|
2018-02-14 06:23:38 +01:00
|
|
|
dump-indic-data \
|
2018-02-14 06:41:51 +01:00
|
|
|
dump-khmer-data \
|
2018-02-14 06:38:15 +01:00
|
|
|
dump-myanmar-data \
|
2018-02-14 06:46:28 +01:00
|
|
|
dump-use-data \
|
2015-12-07 10:28:46 +01:00
|
|
|
$(NULL)
|
2018-02-14 06:23:38 +01:00
|
|
|
dump_indic_data_SOURCES = dump-indic-data.cc hb-ot-shape-complex-indic-table.cc
|
|
|
|
dump_indic_data_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
dump_indic_data_LDADD = libharfbuzz.la $(HBLIBS)
|
2018-02-14 06:41:51 +01:00
|
|
|
dump_khmer_data_SOURCES = dump-khmer-data.cc hb-ot-shape-complex-indic-table.cc
|
|
|
|
dump_khmer_data_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
dump_khmer_data_LDADD = libharfbuzz.la $(HBLIBS)
|
2018-02-14 06:38:15 +01:00
|
|
|
dump_myanmar_data_SOURCES = dump-myanmar-data.cc hb-ot-shape-complex-indic-table.cc
|
|
|
|
dump_myanmar_data_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
dump_myanmar_data_LDADD = libharfbuzz.la $(HBLIBS)
|
2018-02-14 06:46:28 +01:00
|
|
|
dump_use_data_SOURCES = dump-use-data.cc hb-ot-shape-complex-use-table.cc
|
|
|
|
dump_use_data_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
dump_use_data_LDADD = libharfbuzz.la $(HBLIBS)
|
2018-02-14 03:54:26 +01:00
|
|
|
|
2020-02-27 00:09:04 +01:00
|
|
|
COMPILED_TESTS = test-algs test-array test-iter test-meta test-number test-ot-tag test-unicode-ranges test-bimap
|
2018-12-21 23:29:11 +01:00
|
|
|
COMPILED_TESTS_CPPFLAGS = $(HBCFLAGS) -DMAIN -UNDEBUG
|
|
|
|
COMPILED_TESTS_LDADD = libharfbuzz.la $(HBLIBS)
|
2018-12-21 17:15:16 +01:00
|
|
|
check_PROGRAMS += $(COMPILED_TESTS)
|
|
|
|
TESTS += $(COMPILED_TESTS)
|
2018-12-21 06:23:34 +01:00
|
|
|
|
2019-02-15 04:37:57 +01:00
|
|
|
test_algs_SOURCES = test-algs.cc hb-static.cc
|
|
|
|
test_algs_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_algs_LDADD = $(COMPILED_TESTS_LDADD)
|
|
|
|
|
2020-03-23 20:07:49 +01:00
|
|
|
test_array_SOURCES = test-array.cc
|
|
|
|
test_array_CPPFLAGS = $(HBCFLAGS)
|
|
|
|
test_array_LDADD = libharfbuzz.la $(HBLIBS)
|
|
|
|
|
2018-12-21 07:53:27 +01:00
|
|
|
test_iter_SOURCES = test-iter.cc hb-static.cc
|
2018-12-21 23:29:11 +01:00
|
|
|
test_iter_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_iter_LDADD = $(COMPILED_TESTS_LDADD)
|
2018-02-27 00:20:23 +01:00
|
|
|
|
2019-05-09 23:35:15 +02:00
|
|
|
test_meta_SOURCES = test-meta.cc hb-static.cc
|
|
|
|
test_meta_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_meta_LDADD = $(COMPILED_TESTS_LDADD)
|
|
|
|
|
2019-09-03 14:28:16 +02:00
|
|
|
test_number_SOURCES = test-number.cc hb-number.cc
|
|
|
|
test_number_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_number_LDADD = $(COMPILED_TESTS_LDADD)
|
|
|
|
|
2015-12-07 10:28:46 +01:00
|
|
|
test_ot_tag_SOURCES = hb-ot-tag.cc
|
2018-12-21 23:29:11 +01:00
|
|
|
test_ot_tag_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_ot_tag_LDADD = $(COMPILED_TESTS_LDADD)
|
2015-12-07 10:28:46 +01:00
|
|
|
|
2018-02-27 00:52:01 +01:00
|
|
|
test_unicode_ranges_SOURCES = test-unicode-ranges.cc
|
2018-12-21 23:29:11 +01:00
|
|
|
test_unicode_ranges_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_unicode_ranges_LDADD = $(COMPILED_TESTS_LDADD)
|
2018-02-27 00:20:23 +01:00
|
|
|
|
2019-07-01 01:13:07 +02:00
|
|
|
test_bimap_SOURCES = test-bimap.cc hb-static.cc
|
|
|
|
test_bimap_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
|
|
|
|
test_bimap_LDADD = $(COMPILED_TESTS_LDADD)
|
|
|
|
|
2020-03-23 20:07:49 +01:00
|
|
|
dist_check_SCRIPTS = \
|
2020-05-29 10:04:30 +02:00
|
|
|
check-c-linkage-decls.py \
|
|
|
|
check-externs.py \
|
|
|
|
check-header-guards.py \
|
|
|
|
check-includes.py \
|
|
|
|
check-static-inits.py \
|
|
|
|
check-symbols.py \
|
2020-03-23 20:07:49 +01:00
|
|
|
$(NULL)
|
|
|
|
TESTS += $(dist_check_SCRIPTS)
|
|
|
|
|
|
|
|
if !WITH_LIBSTDCXX
|
|
|
|
dist_check_SCRIPTS += \
|
2020-05-29 10:04:30 +02:00
|
|
|
check-libstdc++.py \
|
2020-03-23 20:07:49 +01:00
|
|
|
$(NULL)
|
|
|
|
endif
|
|
|
|
|
2011-05-27 21:58:54 +02:00
|
|
|
TESTS_ENVIRONMENT = \
|
|
|
|
srcdir="$(srcdir)" \
|
2020-03-26 10:04:28 +01:00
|
|
|
builddir="$(builddir)" \
|
2011-05-27 21:58:54 +02:00
|
|
|
MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
|
|
|
|
HBSOURCES="$(HBSOURCES)" \
|
2018-02-24 07:51:17 +01:00
|
|
|
HBHEADERS="$(HBHEADERS)" \
|
2011-05-27 21:58:54 +02:00
|
|
|
$(NULL)
|
2011-01-10 04:29:14 +01:00
|
|
|
|
2013-08-28 18:52:55 +02:00
|
|
|
if HAVE_INTROSPECTION
|
|
|
|
|
2013-08-23 01:03:21 +02:00
|
|
|
-include $(INTROSPECTION_MAKEFILE)
|
2015-07-26 23:39:10 +02:00
|
|
|
INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
|
2020-02-12 14:59:52 +01:00
|
|
|
INTROSPECTION_SCANNER_ARGS = \
|
|
|
|
-I$(srcdir) \
|
|
|
|
--warn-all --verbose \
|
|
|
|
--namespace=HarfBuzz \
|
|
|
|
--nsversion=0.0 \
|
|
|
|
--symbol-prefix=hb \
|
|
|
|
--symbol-prefix=hb_gobject \
|
|
|
|
--identifier-prefix=hb_ \
|
|
|
|
--pkg-export=harfbuzz-gobject \
|
|
|
|
--c-include=hb-gobject.h
|
2013-08-23 01:03:21 +02:00
|
|
|
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
|
2014-07-23 17:38:49 +02:00
|
|
|
INTROSPECTION_SCANNER_ENV = CC="$(CC)"
|
2013-08-23 01:03:21 +02:00
|
|
|
|
2013-08-31 00:41:33 +02:00
|
|
|
HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
|
|
|
|
HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
|
|
|
|
HarfBuzz_0_0_gir_CFLAGS = \
|
2013-08-23 01:03:21 +02:00
|
|
|
$(INCLUDES) \
|
|
|
|
$(HBCFLAGS) \
|
|
|
|
-DHB_H \
|
|
|
|
-DHB_H_IN \
|
|
|
|
-DHB_OT_H \
|
|
|
|
-DHB_OT_H_IN \
|
2018-11-24 16:30:35 +01:00
|
|
|
-DHB_AAT_H \
|
|
|
|
-DHB_AAT_H_IN \
|
2013-08-27 03:26:24 +02:00
|
|
|
-DHB_GOBJECT_H \
|
|
|
|
-DHB_GOBJECT_H_IN \
|
2019-06-18 07:41:49 +02:00
|
|
|
-DHAVE_GOBJECT \
|
2015-11-27 01:26:26 +01:00
|
|
|
-DHB_EXTERN= \
|
2013-08-27 03:26:24 +02:00
|
|
|
$(NULL)
|
2013-08-31 00:41:33 +02:00
|
|
|
HarfBuzz_0_0_gir_LIBS = \
|
2013-08-27 03:26:24 +02:00
|
|
|
libharfbuzz.la \
|
|
|
|
libharfbuzz-gobject.la \
|
|
|
|
$(NULL)
|
2013-08-31 00:41:33 +02:00
|
|
|
HarfBuzz_0_0_gir_FILES = \
|
2013-08-27 03:26:24 +02:00
|
|
|
$(HBHEADERS) \
|
2013-09-05 22:00:47 +02:00
|
|
|
$(HBSOURCES) \
|
2015-11-03 09:56:27 +01:00
|
|
|
$(HB_GOBJECT_sources) \
|
2018-02-23 22:19:34 +01:00
|
|
|
$(HB_GOBJECT_headers) \
|
2013-08-23 01:03:21 +02:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
girdir = $(datadir)/gir-1.0
|
|
|
|
gir_DATA = $(INTROSPECTION_GIRS)
|
|
|
|
|
|
|
|
typelibdir = $(libdir)/girepository-1.0
|
|
|
|
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
|
|
|
|
|
|
|
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
2013-08-28 18:52:55 +02:00
|
|
|
|
2013-08-23 01:03:21 +02:00
|
|
|
endif
|
2011-08-14 15:17:16 +02:00
|
|
|
|
2009-04-17 23:03:39 +02:00
|
|
|
-include $(top_srcdir)/git.mk
|