cairo/util/meson.build
Xavier Claessens e2c1b76d71 meson: Fix build when libpng is not found
trace-to-xml.c needs cairo-xml.h which is only available when
CAIRO_HAS_XML_SURFACE feature is built which is only available when both
zlib and png are found. CAIRO_HAS_INTERPRETER only requires zlib.
2020-10-03 22:42:56 -04:00

65 lines
1.8 KiB
Meson

subdir('cairo-missing')
cairo_utils = []
if feature_conf.get('CAIRO_HAS_GOBJECT_FUNCTIONS', 0) == 1
subdir('cairo-gobject')
endif
if feature_conf.get('CAIRO_HAS_INTERPRETER', 0) == 1
subdir('cairo-script')
endif
if conf.get('CAIRO_HAS_TRACE', 0) == 1
subdir('cairo-trace')
if (conf.get('CAIRO_HAS_DLSYM', 0) == 1 and
feature_conf.get('CAIRO_HAS_SCRIPT_SURFACE', 0) == 1 and
feature_conf.get('CAIRO_HAS_TEE_SURFACE', 0) == 1)
subdir('cairo-fdr')
endif
endif
if (glib_dep.found() and
png_dep.found() and
host_machine.system() != 'windows' and
conf.get('CAIRO_HAS_DLSYM', 0) == 1 and
feature_conf.get('CAIRO_HAS_SCRIPT_SURFACE', 0) == 1 and
feature_conf.get('CAIRO_HAS_TEE_SURFACE', 0) == 1)
subdir('cairo-sphinx')
endif
if gtk_dep.found()
cairo_utils += [
['show-contour.c', {'deps': [gtk_dep]}],
['show-traps.c', {'deps': [gtk_dep]}],
['show-edges.c', {'deps': [gtk_dep]}],
['show-polygon.c', {'deps': [gtk_dep]}],
['show-events.c', {'deps': [gtk_dep]}],
['font-view.c', {'deps': [gtk_dep]}],
]
endif
if feature_conf.get('CAIRO_HAS_XML_SURFACE', 0) == 1
expat_dep = dependency('expat', fallback: ['expat', 'expat_dep'])
cairo_utils += [
['trace-to-xml.c', {'deps': [expat_dep]}],
['xml-to-trace.c', {'deps': [expat_dep]}],
]
endif
foreach util : cairo_utils
exe_name = util[0].split('.')[0]
util_deps = util.get(1, {}).get('deps', [])
executable(exe_name, util[0],
include_directories: [incbase, incsrc, inccairoscript],
dependencies: deps + util_deps,
link_with: [libcairo, libcairoscript],
)
endforeach
if cc.has_header_symbol('malloc.h', '__malloc_hook') and cc.has_header('execinfo.h')
libmallocstats = library('malloc-stats', 'malloc-stats.c')
endif
# backtrace-symbols does not build