Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 1 | # Process this file with automake to produce Makefile.in |
| 2 | |
| 3 | NULL = |
| 4 | EXTRA_DIST = |
| 5 | CLEANFILES = |
| 6 | DISTCLEANFILES = |
| 7 | MAINTAINERCLEANFILES = |
| 8 | |
Behdad Esfahbod | fad2674 | 2015-09-01 14:45:46 +0100 | [diff] [blame] | 9 | # Convenience targets: |
| 10 | lib: |
| 11 | @$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src lib |
| 12 | |
Ebrahim Byagowi | e849b8a | 2018-01-19 16:12:24 +0330 | [diff] [blame] | 13 | EXTRA_DIST += CMakeLists.txt |
| 14 | |
Behdad Esfahbod | 6d56db8 | 2018-02-16 17:02:57 -0800 | [diff] [blame] | 15 | EXTRA_DIST += fonts |
| 16 | |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 17 | if HAVE_GLIB |
Behdad Esfahbod | 0a2b2a5 | 2013-03-21 16:26:39 -0400 | [diff] [blame] | 18 | AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS) |
| 19 | LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS) |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 20 | |
Garret Rieger | d8d8bd8 | 2018-02-12 13:33:55 -0800 | [diff] [blame] | 21 | EXTRA_DIST += hb-test.h hb-subset-test.h |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 22 | |
| 23 | check_PROGRAMS = $(TEST_PROGS) |
| 24 | noinst_PROGRAMS = $(TEST_PROGS) |
| 25 | |
| 26 | TEST_PROGS = \ |
| 27 | test-blob \ |
| 28 | test-buffer \ |
| 29 | test-common \ |
| 30 | test-font \ |
| 31 | test-object \ |
Behdad Esfahbod | 8165f27 | 2013-01-02 22:50:36 -0600 | [diff] [blame] | 32 | test-set \ |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 33 | test-shape \ |
Garret Rieger | 7251181 | 2018-03-20 11:21:06 -0700 | [diff] [blame] | 34 | test-subset \ |
Rod Sheeter | 89ee20f | 2018-02-12 16:01:15 -0800 | [diff] [blame] | 35 | test-subset-cmap \ |
Garret Rieger | 89dbebd | 2018-02-07 16:32:56 -0800 | [diff] [blame] | 36 | test-subset-glyf \ |
Garret Rieger | 15fc45b | 2018-02-21 17:59:57 -0800 | [diff] [blame] | 37 | test-subset-hdmx \ |
Rod Sheeter | fa87770 | 2018-02-14 14:16:25 -0800 | [diff] [blame] | 38 | test-subset-hmtx \ |
Garret Rieger | 865b697 | 2018-02-12 17:42:20 -0800 | [diff] [blame] | 39 | test-subset-os2 \ |
Garret Rieger | ec47cd9 | 2018-03-07 10:33:02 -0800 | [diff] [blame] | 40 | test-subset-post \ |
Garret Rieger | d9263f0 | 2018-03-06 15:40:35 -0800 | [diff] [blame] | 41 | test-subset-vmtx \ |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 42 | test-unicode \ |
| 43 | test-version \ |
| 44 | $(NULL) |
| 45 | |
Behdad Esfahbod | b7b7f0a | 2018-02-05 19:40:31 -0500 | [diff] [blame] | 46 | test_subset_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Rod Sheeter | 89ee20f | 2018-02-12 16:01:15 -0800 | [diff] [blame] | 47 | test_subset_cmap_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Garret Rieger | 89dbebd | 2018-02-07 16:32:56 -0800 | [diff] [blame] | 48 | test_subset_glyf_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Garret Rieger | 15fc45b | 2018-02-21 17:59:57 -0800 | [diff] [blame] | 49 | test_subset_hdmx_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Rod Sheeter | fa87770 | 2018-02-14 14:16:25 -0800 | [diff] [blame] | 50 | test_subset_hmtx_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Garret Rieger | 865b697 | 2018-02-12 17:42:20 -0800 | [diff] [blame] | 51 | test_subset_os2_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Garret Rieger | ec47cd9 | 2018-03-07 10:33:02 -0800 | [diff] [blame] | 52 | test_subset_post_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Garret Rieger | d9263f0 | 2018-03-06 15:40:35 -0800 | [diff] [blame] | 53 | test_subset_vmtx_LDADD = $(LDADD) $(top_builddir)/src/libharfbuzz-subset.la |
Behdad Esfahbod | b7b7f0a | 2018-02-05 19:40:31 -0500 | [diff] [blame] | 54 | |
Khaled Hosny | f19126d | 2017-12-05 22:52:54 +0200 | [diff] [blame] | 55 | test_unicode_CPPFLAGS = \ |
| 56 | $(AM_CPPFLAGS) \ |
| 57 | $(GLIB_CFLAGS) \ |
| 58 | $(NULL) |
Behdad Esfahbod | 2966d36 | 2013-05-28 17:34:37 -0400 | [diff] [blame] | 59 | test_unicode_LDADD = $(LDADD) |
Behdad Esfahbod | 431bef2 | 2012-11-01 16:26:01 -0700 | [diff] [blame] | 60 | if HAVE_ICU |
| 61 | test_unicode_CPPFLAGS += $(ICU_CFLAGS) |
Romain Naour | 160f635 | 2015-07-22 23:26:23 +0200 | [diff] [blame] | 62 | test_unicode_LDADD += $(top_builddir)/src/libharfbuzz-icu.la $(ICU_LIBS) |
Behdad Esfahbod | 431bef2 | 2012-11-01 16:26:01 -0700 | [diff] [blame] | 63 | endif |
| 64 | |
| 65 | |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 66 | if HAVE_OT |
Frédéric Wang | 5fbcb99 | 2016-08-25 10:47:15 +0200 | [diff] [blame] | 67 | |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 68 | TEST_PROGS += \ |
Sascha Brawer | d34d3ac | 2016-04-25 18:20:57 +0200 | [diff] [blame] | 69 | test-ot-color \ |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 70 | test-ot-tag \ |
| 71 | $(NULL) |
Frédéric Wang | 5fbcb99 | 2016-08-25 10:47:15 +0200 | [diff] [blame] | 72 | |
| 73 | if HAVE_FREETYPE |
| 74 | TEST_PROGS += \ |
Behdad Esfahbod | 86106c7 | 2016-09-26 22:12:48 +0200 | [diff] [blame] | 75 | test-ot-math \ |
Frédéric Wang | 5fbcb99 | 2016-08-25 10:47:15 +0200 | [diff] [blame] | 76 | $(NULL) |
Behdad Esfahbod | 86106c7 | 2016-09-26 22:12:48 +0200 | [diff] [blame] | 77 | test_ot_math_LDADD = $(LDADD) $(FREETYPE_LIBS) |
| 78 | test_ot_math_CPPFLAGS = $(AM_CPPFLAGS) $(FREETYPE_CFLAGS) |
Frédéric Wang | 5fbcb99 | 2016-08-25 10:47:15 +0200 | [diff] [blame] | 79 | endif # HAVE_FREETYPE |
| 80 | |
| 81 | endif # HAVE_OT |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 82 | |
| 83 | # Tests for header compilation |
| 84 | TEST_PROGS += \ |
| 85 | test-c \ |
| 86 | test-cplusplus \ |
| 87 | $(NULL) |
| 88 | test_cplusplus_SOURCES = test-cplusplus.cc |
| 89 | test_c_CPPFLAGS = $(AM_CPPFLAGS) |
| 90 | test_cplusplus_CPPFLAGS = $(AM_CPPFLAGS) |
| 91 | if HAVE_ICU |
| 92 | test_c_CPPFLAGS += $(ICU_CFLAGS) |
| 93 | test_cplusplus_CPPFLAGS += $(ICU_CFLAGS) |
| 94 | endif |
| 95 | if HAVE_FREETYPE |
| 96 | test_c_CPPFLAGS += $(FREETYPE_CFLAGS) |
| 97 | test_cplusplus_CPPFLAGS += $(FREETYPE_CFLAGS) |
| 98 | endif |
| 99 | |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 100 | # Default test running environment |
| 101 | TESTS = $(TEST_PROGS) |
| 102 | TESTS_ENVIRONMENT = \ |
| 103 | MALLOC_CHECK_=2 \ |
| 104 | MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) \ |
| 105 | G_DEBUG=gc-friendly \ |
| 106 | G_SLICE=always-malloc \ |
| 107 | srcdir=$(srcdir) \ |
Frédéric Wang | 722e620 | 2016-09-26 11:51:36 +0200 | [diff] [blame] | 108 | G_TEST_SRCDIR=$(abs_srcdir) \ |
| 109 | G_TEST_BUILDDIR=$(abs_builddir) \ |
Behdad Esfahbod | 5898fa9 | 2013-02-06 15:29:07 -0500 | [diff] [blame] | 110 | $(NULL) |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 111 | |
| 112 | |
| 113 | # check-tool: Run tests under $(TOOL) |
| 114 | check-tool: |
| 115 | $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \ |
| 116 | TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) $(top_builddir)/libtool --mode=execute \ |
| 117 | env $(TOOL)' |
| 118 | # check-tool-raw: Run tests under $(TOOL), but don't run under libtool |
| 119 | check-tool-raw: |
| 120 | $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \ |
| 121 | TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) \ |
| 122 | env $(TOOL)' |
| 123 | |
| 124 | # check-gtester: Run tests under gtester |
| 125 | GTESTER = gtester |
| 126 | check-gtester: |
| 127 | $(AM_V_at)$(MAKE) $(AM_MAKEFLGS) check-tool-raw TOOL="$(GTESTER) --verbose --keep-going" |
| 128 | |
| 129 | |
| 130 | # Check tests under valgrind. Saves log to log-valgrind.txt |
| 131 | VALGRIND_FLAGS = \ |
| 132 | --tool=memcheck --suppressions=$(srcdir)/.valgrind-suppressions \ |
| 133 | --track-origins=yes \ |
| 134 | --leak-check=yes |
| 135 | $(EXTRA_VALGRIND_FLAGS) |
| 136 | # Can't do for now: --show-reachable=yes |
| 137 | CLEANFILES += log-valgrind.txt |
Behdad Esfahbod | ea11abf | 2013-03-06 20:21:11 -0500 | [diff] [blame] | 138 | valgrind_verbose = $(valgrind_verbose_@AM_V@) |
| 139 | valgrind_verbose_ = $(valgrind_verbose_@AM_DEFAULT_V@) |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 140 | valgrind_verbose_0 = | \ |
| 141 | grep '\(^[^=]\|ERROR SUMMARY\|definitely lost\|indirectly lost\)' | grep -v ': 0' |
| 142 | # TODO: The following check does not fail if valgrind finds error. It should. |
| 143 | check-valgrind: |
| 144 | $(AM_V_at)$(MAKE) $(AM_MAKEFLGS) check-tool TOOL="valgrind $(VALGRIND_FLAGS)" \ |
| 145 | 2>&1 | tee log-valgrind.txt $(valgrind_verbose) |
| 146 | |
| 147 | |
| 148 | # check-symbols: Finds untested API symbols |
| 149 | symbols-tested.txt: $(TEST_PROGS) |
| 150 | $(AM_V_GEN)$(top_builddir)/libtool --mode=execute nm $^ \ |
| 151 | | grep ' U hb_' | sed 's/.* U hb_/hb_/' \ |
| 152 | | sort | uniq > $@.tmp && mv $@.tmp $@ |
| 153 | symbols-exported.txt: $(top_builddir)/src/.libs/libharfbuzz.so |
| 154 | $(AM_V_GEN)$(top_builddir)/libtool --mode=execute nm $^ \ |
| 155 | | grep ' T ' | sed 's/.* T //' | grep -v '^\(_init\|_fini\)$$' \ |
| 156 | | sort | uniq > $@.tmp && mv $@.tmp $@ |
| 157 | symbols-untested.txt: symbols-tested.txt symbols-exported.txt |
| 158 | $(AM_V_GEN)diff $^ > $@.tmp; mv $@.tmp $@ |
| 159 | CLEANFILES += symbols-tested.txt symbols-exported.txt symbols-untested.txt |
| 160 | check-symbols: symbols-untested.txt |
| 161 | @! cat $^ | grep . |
| 162 | |
| 163 | |
| 164 | |
Khaled Hosny | f19126d | 2017-12-05 22:52:54 +0200 | [diff] [blame] | 165 | else # !HAVE_GLIB |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 166 | check-am: err-glib |
| 167 | err-glib: |
| 168 | @echo "You need to have glib support enabled to run the tests" |
| 169 | @exit 77 |
Khaled Hosny | f19126d | 2017-12-05 22:52:54 +0200 | [diff] [blame] | 170 | endif # HAVE_GLIB |
Behdad Esfahbod | 4d6dafd | 2012-01-19 14:52:02 -0500 | [diff] [blame] | 171 | |
| 172 | .PHONY: check-symbols check-tool check-valgrind |
| 173 | |
| 174 | -include $(top_srcdir)/git.mk |