summaryrefslogtreecommitdiff
path: root/util/meson.build
blob: 3c3bf26c2899d499f16c5d9b504ae191ea1f503c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
subdir('cairo-missing')

cairo_utils = []

if feature_conf.get('CAIRO_HAS_GOBJECT_FUNCTIONS', 0) == 1
  subdir('cairo-gobject')
endif

if conf.get('CAIRO_HAS_INTERPRETER', 0) == 1
  subdir('cairo-script')
else
  libcairoscript_dep = dependency('', required: false)
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

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],
    dependencies: deps + util_deps + [libcairo_dep, libcairoscript_dep],
  )
endforeach

if conf.get('CAIRO_HAS_DLSYM', 0) == 1 and cc.has_header('execinfo.h')
  libmallocstats = library('malloc-stats', 'malloc-stats.c', dependencies : dl_dep)
endif