summaryrefslogtreecommitdiff
path: root/lib/meson.build
blob: e3691d1b715bf8f9a369742e8ca671a61233c743 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
fribidi_config = configuration_data()

fribidi_config.set('configure_input', 'fribidi-config.h file generated by Meson')
fribidi_config.set('PACKAGE', meson.project_name())
fribidi_config.set('PACKAGE_NAME', 'GNU FriBidi')
fribidi_config.set('PACKAGE_BUGREPORT', 'https://github.com/fribidi/fribidi/issues/new')
fribidi_config.set('FRIBIDI_VERSION', meson.project_version())

version_arr = meson.project_version().split('.')
fribidi_config.set('FRIBIDI_MAJOR_VERSION', version_arr[0].to_int())
fribidi_config.set('FRIBIDI_MINOR_VERSION', version_arr[1].to_int())
fribidi_config.set('FRIBIDI_MICRO_VERSION', version_arr[2].to_int())

fribidi_config.set('FRIBIDI_INTERFACE_VERSION', interface_version)

fribidi_config.set('SIZEOF_INT', cc.sizeof('int'))

if cc.get_id() == 'msvc'
  fribidi_config.set('FRIBIDI_MSVC_BUILD_PLACEHOLDER', '#define FRIBIDI_BUILT_WITH_MSVC')
else
  fribidi_config.set('FRIBIDI_MSVC_BUILD_PLACEHOLDER', '#undef FRIBIDI_BUILT_WITH_MSVC')
endif

fribidi_config_h = configure_file(input: files('fribidi-config.h.in'),
  output: 'fribidi-config.h',
  configuration: fribidi_config,
  install_dir: join_paths(get_option('includedir'), 'fribidi'))

fribidi_headers = files(
  'fribidi-arabic.h',
  'fribidi-begindecls.h',
  'fribidi-bidi.h',
  'fribidi-bidi-types.h',
  'fribidi-bidi-types-list.h',
  'fribidi-char-sets.h',
  'fribidi-char-sets-list.h',
  'fribidi-common.h',
  'fribidi-deprecated.h',
  'fribidi-enddecls.h',
  'fribidi-flags.h',
  'fribidi-joining.h',
  'fribidi-joining-types.h',
  'fribidi-joining-types-list.h',
  'fribidi-mirroring.h',
  'fribidi-brackets.h',
  'fribidi-shape.h',
  'fribidi-types.h',
  'fribidi-unicode.h',
  'fribidi.h',
)
install_headers(fribidi_headers, subdir: 'fribidi')

fribidi_sources = [
  'fribidi.c',
  'fribidi-arabic.c',
  'fribidi-bidi.c',
  'fribidi-bidi-types.c',
  'fribidi-char-sets.c',
  'fribidi-char-sets-cap-rtl.c',
  'fribidi-char-sets-cp1255.c',
  'fribidi-char-sets-cp1256.c',
  'fribidi-char-sets-iso8859-6.c',
  'fribidi-char-sets-iso8859-8.c',
  'fribidi-char-sets-utf8.c',
  'fribidi-deprecated.c',
  'fribidi-joining.c',
  'fribidi-joining-types.c',
  'fribidi-mirroring.c',
  'fribidi-brackets.c',
  'fribidi-run.c',
  'fribidi-shape.c',
]

libfribidi = library('fribidi',
  fribidi_sources, fribidi_unicode_version_h, fribidi_config_h,
  generated_tab_include_files, config_h,
  include_directories: incs,
  c_args: ['-DHAVE_CONFIG_H'] + visibility_args,
  version: libversion,
  soversion: soversion,
  install: true)