[meson] Reenable make check-symbols compatible with gcov

This commit is contained in:
Ebrahim Byagowi 2020-05-10 14:12:20 +04:30
parent 68855e4a6d
commit 15083c24ee
2 changed files with 21 additions and 10 deletions

View File

@ -8,7 +8,7 @@ test -z "$builddir" && builddir=.
test -z "$libs" && libs=.libs
stat=0
IGNORED_SYMBOLS='_fini\|_init\|_fdata\|_ftext\|_fbss\|__bss_start\|__bss_start__\|__bss_end__\|_edata\|_end\|_bss_end__\|__end__\|__gcov_.*\|llvm_.*'
IGNORED_SYMBOLS='_fini\|_init\|_fdata\|_ftext\|_fbss\|__bss_start\|__bss_start__\|__bss_end__\|_edata\|_end\|_bss_end__\|__end__\|__gcov_.*\|llvm_.*\|flush_fn_list\|writeout_fn_list'
if which nm 2>/dev/null >/dev/null; then
:

View File

@ -346,6 +346,7 @@ harfbuzz_def = custom_target('harfbuzz.def',
command: harfbuzz_def_command_args,
input: hb_headers,
output: 'harfbuzz.def')
defs_list = [harfbuzz_def]
version = '0.' + '0'.join(meson.project_version().split('.')) + '.0'
@ -380,6 +381,7 @@ harfbuzz_subset_def = custom_target('harfbuzz-subset.def',
command: [gen_def, '@OUTPUT@', '@INPUT@'],
input: hb_subset_headers,
output: 'harfbuzz-subset.def')
defs_list += [harfbuzz_subset_def]
libharfbuzz_subset = library('harfbuzz-subset', hb_subset_sources,
include_directories: incconfig,
@ -418,7 +420,7 @@ if get_option('tests').enabled()
)
endforeach
endif
check_programs = {
'dump-indic-data': ['dump-indic-data.cc', 'hb-ot-shape-complex-indic-table.cc'],
'dump-khmer-data': ['dump-khmer-data.cc', 'hb-ot-shape-complex-indic-table.cc'],
@ -433,7 +435,7 @@ if get_option('tests').enabled()
install: false,
)
endforeach
compiled_tests = {
'test-array': 'test-array.cc',
'test-number': ['test-number.cc', 'hb-number.cc'],
@ -457,7 +459,7 @@ if get_option('tests').enabled()
install: false,
))
endforeach
if host_machine.system() != 'windows' and not meson.is_cross_build()
# Some of them should be ported to python
dist_check_script = [
@ -472,21 +474,17 @@ if get_option('tests').enabled()
if false # !WITH_LIBSTDCXX
dist_check_script += 'check-libstdc++.sh' # See https://github.com/harfbuzz/harfbuzz/issues/2276
endif
env = environment()
env.set('srcdir', meson.current_source_dir())
env.set('builddir', meson.current_build_dir())
env.set('libs', meson.current_build_dir()) # TODO: Merge this with builddir after autotools removal
env.set('HBSOURCES', ' '.join(hb_sources))
env.set('HBHEADERS', ' '.join(hb_headers))
foreach name : dist_check_script
test(name, find_program(name), env: env)
endforeach
#test('check-symbols.sh', find_program('check-symbols.sh'),
# depends: [harfbuzz_def, harfbuzz_subset_def], # TODO: harfbuzz_icu_def and harfbuzz_gobject_def also
# env: env)
endif
endif
@ -503,6 +501,12 @@ pkgmod.generate(libharfbuzz_subset,
)
if have_icu and not have_icu_builtin
harfbuzz_icu_def = custom_target('harfbuzz-icu.def',
command: [gen_def, '@OUTPUT@', '@INPUT@'],
input: [hb_icu_headers],
output: 'harfbuzz-icu.def')
defs_list += [harfbuzz_icu_def]
libharfbuzz_icu = library('harfbuzz-icu', [hb_icu_sources, hb_icu_headers],
include_directories: incconfig,
dependencies: icu_dep,
@ -584,6 +588,7 @@ if have_gobject
command: [gen_def, '@OUTPUT@', '@INPUT@'],
input: [hb_gobject_headers, enum_h],
output: 'harfbuzz-gobject.def')
defs_list += [harfbuzz_gobject_def]
libharfbuzz_gobject = library('harfbuzz-gobject', [hb_gobject_sources, enum_c, enum_h],
include_directories: incconfig,
@ -639,4 +644,10 @@ else
libharfbuzz_gobject_dep = dependency('', required: false)
endif
if get_option('tests').enabled() and host_machine.system() != 'windows' and not meson.is_cross_build()
test('check-symbols.sh', find_program('check-symbols.sh'),
depends: defs_list,
env: env)
endif
install_headers(hb_headers + hb_subset_headers, subdir: meson.project_name())