xref: /aosp_15_r20/external/harfbuzz_ng/util/meson.build (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Workerhb_view_sources = [
2*2d1272b8SAndroid Build Coastguard Worker  'hb-view.cc',
3*2d1272b8SAndroid Build Coastguard Worker]
4*2d1272b8SAndroid Build Coastguard Worker
5*2d1272b8SAndroid Build Coastguard Workerhb_shape_sources = [
6*2d1272b8SAndroid Build Coastguard Worker  'hb-shape.cc',
7*2d1272b8SAndroid Build Coastguard Worker]
8*2d1272b8SAndroid Build Coastguard Worker
9*2d1272b8SAndroid Build Coastguard Workerhb_info_sources = [
10*2d1272b8SAndroid Build Coastguard Worker  'hb-info.cc',
11*2d1272b8SAndroid Build Coastguard Worker]
12*2d1272b8SAndroid Build Coastguard Worker
13*2d1272b8SAndroid Build Coastguard Workerhb_ot_shape_closure_sources = [
14*2d1272b8SAndroid Build Coastguard Worker  'hb-ot-shape-closure.cc',
15*2d1272b8SAndroid Build Coastguard Worker]
16*2d1272b8SAndroid Build Coastguard Worker
17*2d1272b8SAndroid Build Coastguard Workerhb_subset_cli_sources = [
18*2d1272b8SAndroid Build Coastguard Worker  'hb-subset.cc',
19*2d1272b8SAndroid Build Coastguard Worker  'helper-subset.hh',
20*2d1272b8SAndroid Build Coastguard Worker]
21*2d1272b8SAndroid Build Coastguard Worker
22*2d1272b8SAndroid Build Coastguard Workerutil_deps = [freetype_dep, cairo_dep, cairo_ft_dep, glib_dep]
23*2d1272b8SAndroid Build Coastguard Worker
24*2d1272b8SAndroid Build Coastguard Workerif conf.get('HAVE_GLIB', 0) == 1
25*2d1272b8SAndroid Build Coastguard Worker  if conf.get('HAVE_CAIRO', 0) == 1
26*2d1272b8SAndroid Build Coastguard Worker    hb_view = executable('hb-view', hb_view_sources,
27*2d1272b8SAndroid Build Coastguard Worker      cpp_args: cpp_args,
28*2d1272b8SAndroid Build Coastguard Worker      include_directories: [incconfig, incsrc],
29*2d1272b8SAndroid Build Coastguard Worker      dependencies: [util_deps, chafa_dep],
30*2d1272b8SAndroid Build Coastguard Worker      link_with: [libharfbuzz, libharfbuzz_cairo],
31*2d1272b8SAndroid Build Coastguard Worker      install: true,
32*2d1272b8SAndroid Build Coastguard Worker    )
33*2d1272b8SAndroid Build Coastguard Worker    meson.override_find_program('hb-view', hb_view)
34*2d1272b8SAndroid Build Coastguard Worker  endif
35*2d1272b8SAndroid Build Coastguard Worker
36*2d1272b8SAndroid Build Coastguard Worker  hb_shape = executable('hb-shape', hb_shape_sources,
37*2d1272b8SAndroid Build Coastguard Worker    cpp_args: cpp_args,
38*2d1272b8SAndroid Build Coastguard Worker    include_directories: [incconfig, incsrc],
39*2d1272b8SAndroid Build Coastguard Worker    dependencies: util_deps,
40*2d1272b8SAndroid Build Coastguard Worker    link_with: [libharfbuzz],
41*2d1272b8SAndroid Build Coastguard Worker    install: true,
42*2d1272b8SAndroid Build Coastguard Worker  )
43*2d1272b8SAndroid Build Coastguard Worker  meson.override_find_program('hb-shape', hb_shape)
44*2d1272b8SAndroid Build Coastguard Worker
45*2d1272b8SAndroid Build Coastguard Worker  hb_info = executable('hb-info', [hb_info_sources, gobject_enums_h],
46*2d1272b8SAndroid Build Coastguard Worker    cpp_args: cpp_args,
47*2d1272b8SAndroid Build Coastguard Worker    include_directories: [incconfig, incsrc],
48*2d1272b8SAndroid Build Coastguard Worker    dependencies: [util_deps, libharfbuzz_gobject_dep, chafa_dep],
49*2d1272b8SAndroid Build Coastguard Worker    link_with: [libharfbuzz],
50*2d1272b8SAndroid Build Coastguard Worker    install: true,
51*2d1272b8SAndroid Build Coastguard Worker  )
52*2d1272b8SAndroid Build Coastguard Worker  meson.override_find_program('hb-info', hb_info)
53*2d1272b8SAndroid Build Coastguard Worker
54*2d1272b8SAndroid Build Coastguard Worker  hb_subset = executable('hb-subset', hb_subset_cli_sources,
55*2d1272b8SAndroid Build Coastguard Worker    cpp_args: cpp_args,
56*2d1272b8SAndroid Build Coastguard Worker    include_directories: [incconfig, incsrc],
57*2d1272b8SAndroid Build Coastguard Worker    dependencies: util_deps,
58*2d1272b8SAndroid Build Coastguard Worker    link_with: [libharfbuzz, libharfbuzz_subset],
59*2d1272b8SAndroid Build Coastguard Worker    install: true,
60*2d1272b8SAndroid Build Coastguard Worker  )
61*2d1272b8SAndroid Build Coastguard Worker  meson.override_find_program('hb-subset', hb_subset)
62*2d1272b8SAndroid Build Coastguard Worker
63*2d1272b8SAndroid Build Coastguard Worker  hb_ot_shape_closure = executable('hb-ot-shape-closure', hb_ot_shape_closure_sources,
64*2d1272b8SAndroid Build Coastguard Worker    cpp_args: cpp_args,
65*2d1272b8SAndroid Build Coastguard Worker    include_directories: [incconfig, incsrc],
66*2d1272b8SAndroid Build Coastguard Worker    dependencies: util_deps,
67*2d1272b8SAndroid Build Coastguard Worker    link_with: [libharfbuzz],
68*2d1272b8SAndroid Build Coastguard Worker    install: true,
69*2d1272b8SAndroid Build Coastguard Worker  )
70*2d1272b8SAndroid Build Coastguard Worker  meson.override_find_program('hb-ot-shape-closure', hb_ot_shape_closure)
71*2d1272b8SAndroid Build Coastguard Worker
72*2d1272b8SAndroid Build Coastguard Worker  if get_option('experimental_api')
73*2d1272b8SAndroid Build Coastguard Worker    test('test-hb-subset-parsing',
74*2d1272b8SAndroid Build Coastguard Worker      executable('test-hb-subset-parsing',
75*2d1272b8SAndroid Build Coastguard Worker        ['test-hb-subset-parsing.c', 'helper-subset.hh'],
76*2d1272b8SAndroid Build Coastguard Worker        cpp_args: cpp_args,
77*2d1272b8SAndroid Build Coastguard Worker        c_args: ['-DHB_EXPERIMENTAL_API'],
78*2d1272b8SAndroid Build Coastguard Worker        include_directories: [incconfig, incsrc],
79*2d1272b8SAndroid Build Coastguard Worker        dependencies: util_deps,
80*2d1272b8SAndroid Build Coastguard Worker        link_with: [libharfbuzz, libharfbuzz_subset],
81*2d1272b8SAndroid Build Coastguard Worker        install: false,
82*2d1272b8SAndroid Build Coastguard Worker    ),
83*2d1272b8SAndroid Build Coastguard Worker    workdir : meson.current_source_dir(),
84*2d1272b8SAndroid Build Coastguard Worker    suite: ['util'])
85*2d1272b8SAndroid Build Coastguard Worker  endif
86*2d1272b8SAndroid Build Coastguard Workerelse
87*2d1272b8SAndroid Build Coastguard Worker  # Disable tests that use this
88*2d1272b8SAndroid Build Coastguard Worker  hb_shape = disabler()
89*2d1272b8SAndroid Build Coastguard Worker  hb_subset = disabler()
90*2d1272b8SAndroid Build Coastguard Workerendif
91