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', '-DFRIBIDI_BUILD'] + fribidi_static_cargs + visibility_args, version: libversion, soversion: soversion, install: true) libfribidi_dep = declare_dependency(link_with: libfribidi, include_directories: incs, sources: [fribidi_unicode_version_h, fribidi_config_h])