(root)/
fribidi-1.0.13/
lib/
meson.build
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'] + fribidi_build_cargs + fribidi_static_cargs,
  gnu_symbol_visibility: 'hidden',
  version: libversion,
  soversion: soversion,
  install: true)

libfribidi_dep = declare_dependency(link_with: libfribidi,
  include_directories: incs,
  sources: [fribidi_unicode_version_h, fribidi_config_h],
  compile_args: fribidi_static_cargs)
meson.override_dependency('fribidi', libfribidi_dep)