|
Packit |
0ec9dd |
pango_sources = [
|
|
Packit |
0ec9dd |
'break.c',
|
|
Packit |
0ec9dd |
'ellipsize.c',
|
|
Packit |
0ec9dd |
'fonts.c',
|
|
Packit |
0ec9dd |
'glyphstring.c',
|
|
Packit |
0ec9dd |
'modules.c',
|
|
Packit |
0ec9dd |
'pango-attributes.c',
|
|
Packit |
0ec9dd |
'pango-bidi-type.c',
|
|
Packit |
0ec9dd |
'pango-color.c',
|
|
Packit |
0ec9dd |
'pango-context.c',
|
|
Packit |
0ec9dd |
'pango-coverage.c',
|
|
Packit |
0ec9dd |
'pango-emoji.c',
|
|
Packit |
0ec9dd |
'pango-engine.c',
|
|
Packit |
0ec9dd |
'pango-fontmap.c',
|
|
Packit |
0ec9dd |
'pango-fontset.c',
|
|
Packit |
0ec9dd |
'pango-glyph-item.c',
|
|
Packit |
0ec9dd |
'pango-gravity.c',
|
|
Packit |
0ec9dd |
'pango-item.c',
|
|
Packit |
0ec9dd |
'pango-language.c',
|
|
Packit |
0ec9dd |
'pango-layout.c',
|
|
Packit |
0ec9dd |
'pango-markup.c',
|
|
Packit |
0ec9dd |
'pango-matrix.c',
|
|
Packit |
0ec9dd |
'pango-renderer.c',
|
|
Packit |
0ec9dd |
'pango-script.c',
|
|
Packit |
0ec9dd |
'pango-tabs.c',
|
|
Packit |
0ec9dd |
'pango-utils.c',
|
|
Packit |
0ec9dd |
'reorder-items.c',
|
|
Packit |
0ec9dd |
'shape.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pango_headers = [
|
|
Packit |
0ec9dd |
'pango.h',
|
|
Packit |
0ec9dd |
'pango-attributes.h',
|
|
Packit |
0ec9dd |
'pango-bidi-type.h',
|
|
Packit |
0ec9dd |
'pango-break.h',
|
|
Packit |
0ec9dd |
'pango-context.h',
|
|
Packit |
0ec9dd |
'pango-coverage.h',
|
|
Packit |
0ec9dd |
'pango-engine.h',
|
|
Packit |
0ec9dd |
'pango-font.h',
|
|
Packit |
0ec9dd |
'pango-fontmap.h',
|
|
Packit |
0ec9dd |
'pango-fontset.h',
|
|
Packit |
0ec9dd |
'pango-glyph.h',
|
|
Packit |
0ec9dd |
'pango-glyph-item.h',
|
|
Packit |
0ec9dd |
'pango-gravity.h',
|
|
Packit |
0ec9dd |
'pango-item.h',
|
|
Packit |
0ec9dd |
'pango-language.h',
|
|
Packit |
0ec9dd |
'pango-layout.h',
|
|
Packit |
0ec9dd |
'pango-matrix.h',
|
|
Packit |
0ec9dd |
'pango-modules.h',
|
|
Packit |
0ec9dd |
'pango-renderer.h',
|
|
Packit |
0ec9dd |
'pango-script.h',
|
|
Packit |
0ec9dd |
'pango-tabs.h',
|
|
Packit |
0ec9dd |
'pango-types.h',
|
|
Packit |
0ec9dd |
'pango-utils.h',
|
|
Packit |
0ec9dd |
'pango-version-macros.h',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
install_headers(pango_headers, subdir: pango_api_path)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# Features header
|
|
Packit |
0ec9dd |
pango_features_conf = configuration_data()
|
|
Packit |
0ec9dd |
pango_features_conf.set('PANGO_VERSION_MAJOR', pango_major_version)
|
|
Packit |
0ec9dd |
pango_features_conf.set('PANGO_VERSION_MINOR', pango_minor_version)
|
|
Packit |
0ec9dd |
pango_features_conf.set('PANGO_VERSION_MICRO', pango_micro_version)
|
|
Packit |
0ec9dd |
pango_features_conf.set('PANGO_API_VERSION', pango_api_version)
|
|
Packit |
0ec9dd |
pango_features_conf.set('PANGO_CURRENT_MINUS_AGE', '0')
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
configure_file(
|
|
Packit |
0ec9dd |
input: 'pango-features.h.meson',
|
|
Packit |
0ec9dd |
output: 'pango-features.h',
|
|
Packit |
0ec9dd |
configuration: pango_features_conf,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
install_dir: join_paths(pango_includedir, pango_api_path),
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# Enumerations for GType
|
|
Packit |
0ec9dd |
pango_enums = gnome.mkenums(
|
|
Packit |
0ec9dd |
'pango-enum-types',
|
|
Packit |
0ec9dd |
sources: pango_headers,
|
|
Packit |
0ec9dd |
c_template: 'pango-enum-types.c.template',
|
|
Packit |
0ec9dd |
h_template: 'pango-enum-types.h.template',
|
|
Packit |
0ec9dd |
install_dir: join_paths(pango_includedir, pango_api_path),
|
|
Packit |
0ec9dd |
install_header: true,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pango_enum_h = pango_enums[1]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if host_system == 'windows'
|
|
Packit |
0ec9dd |
pango_rc = configure_file(
|
|
Packit |
0ec9dd |
input: 'pango.rc.in',
|
|
Packit |
0ec9dd |
output: 'pango.rc',
|
|
Packit |
0ec9dd |
configuration: pango_features_conf,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pango_res = import('windows').compile_resources(pango_rc)
|
|
Packit |
0ec9dd |
pango_sources += pango_res
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pango_cflags = [
|
|
Packit |
0ec9dd |
'-DG_LOG_DOMAIN="Pango"',
|
|
Packit |
0ec9dd |
'-DG_LOG_USE_STRUCTURED=1',
|
|
Packit |
0ec9dd |
'-DPANGO_COMPILATION',
|
|
Packit |
0ec9dd |
'-DPANGO_ENABLE_BACKEND',
|
|
Packit |
0ec9dd |
'-DPANGO_ENABLE_ENGINE',
|
|
Packit |
0ec9dd |
'-DSYSCONFDIR="@0@"'.format(pango_sysconfdir),
|
|
Packit |
0ec9dd |
'-DLIBDIR="@0@"'.format(pango_libdir),
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pango_inc = include_directories('.')
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpango = library(
|
|
Packit |
0ec9dd |
'pango-@0@'.format(pango_api_version),
|
|
Packit |
0ec9dd |
sources: pango_sources + pango_enums,
|
|
Packit |
0ec9dd |
version: pango_libversion,
|
|
Packit |
0ec9dd |
soversion: pango_soversion,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
dependencies: [ gobject_dep, mathlib_dep, thai_dep, fribidi_dep ],
|
|
Packit |
0ec9dd |
include_directories: [ root_inc, pango_inc ],
|
|
Packit |
0ec9dd |
c_args: common_cflags + pango_debug_cflags + pango_cflags,
|
|
Packit |
0ec9dd |
link_args: common_ldflags,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pango_dep_sources = [pango_enum_h]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
build_gir = get_option('gir')
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if build_gir
|
|
Packit |
0ec9dd |
gir_args = [
|
|
Packit |
0ec9dd |
'--quiet',
|
|
Packit |
0ec9dd |
'-DPANGO_ENABLE_BACKEND',
|
|
Packit |
0ec9dd |
'-DPANGO_ENABLE_ENGINE',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pango_gir = gnome.generate_gir(
|
|
Packit |
0ec9dd |
libpango,
|
|
Packit |
0ec9dd |
sources: pango_sources + pango_headers + [ pango_enum_h ],
|
|
Packit |
0ec9dd |
namespace: 'Pango',
|
|
Packit |
0ec9dd |
nsversion: pango_api_version,
|
|
Packit |
0ec9dd |
identifier_prefix: 'Pango',
|
|
Packit |
0ec9dd |
symbol_prefix: 'pango',
|
|
Packit |
0ec9dd |
export_packages: 'pango',
|
|
Packit |
0ec9dd |
includes: [ 'GObject-2.0', 'cairo-1.0', ],
|
|
Packit |
0ec9dd |
header: 'pango/pango.h',
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
extra_args: gir_args,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pango_gir_dep = declare_dependency(sources: pango_gir)
|
|
Packit |
0ec9dd |
pango_dep_sources += pango_gir
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpango_dep = declare_dependency(
|
|
Packit |
0ec9dd |
link_with: libpango,
|
|
Packit |
0ec9dd |
include_directories: pango_inc,
|
|
Packit |
0ec9dd |
dependencies: pango_deps,
|
|
Packit |
0ec9dd |
sources: pango_dep_sources,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# FreeType
|
|
Packit |
0ec9dd |
if build_pangoft2
|
|
Packit |
0ec9dd |
pangoft2_headers = [
|
|
Packit |
0ec9dd |
'pango-ot.h',
|
|
Packit |
0ec9dd |
'pangofc-font.h',
|
|
Packit |
0ec9dd |
'pangofc-fontmap.h',
|
|
Packit |
0ec9dd |
'pangofc-decoder.h',
|
|
Packit |
0ec9dd |
'pangoft2.h',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangoft2_public_sources = [
|
|
Packit |
0ec9dd |
'pangofc-font.c',
|
|
Packit |
0ec9dd |
'pangofc-fontmap.c',
|
|
Packit |
0ec9dd |
'pangofc-decoder.c',
|
|
Packit |
0ec9dd |
'pangofc-shape.c',
|
|
Packit |
0ec9dd |
'pangoft2.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangoft2_sources = pangoft2_public_sources + [
|
|
Packit |
0ec9dd |
'pangoft2-fontmap.c',
|
|
Packit |
0ec9dd |
'pangoft2-render.c',
|
|
Packit |
0ec9dd |
'pango-ot-buffer.c',
|
|
Packit |
0ec9dd |
'pango-ot-info.c',
|
|
Packit |
0ec9dd |
'pango-ot-ruleset.c',
|
|
Packit |
0ec9dd |
'pango-ot-tag.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if host_system == 'windows'
|
|
Packit |
0ec9dd |
pangoft2_rc = configure_file(
|
|
Packit |
0ec9dd |
input: 'pangoft2.rc.in',
|
|
Packit |
0ec9dd |
output: 'pangoft2.rc',
|
|
Packit |
0ec9dd |
configuration: pango_features_conf,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangoft2_res = import('windows').compile_resources(pangoft2_rc)
|
|
Packit |
0ec9dd |
pangoft2_sources += pangoft2_res
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
install_headers(pangoft2_headers, subdir: pango_api_path)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangoft2 = library(
|
|
Packit |
0ec9dd |
'pangoft2-@0@'.format(pango_api_version),
|
|
Packit |
0ec9dd |
sources: pangoft2_sources,
|
|
Packit |
0ec9dd |
version: pango_libversion,
|
|
Packit |
0ec9dd |
soversion: pango_soversion,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep ],
|
|
Packit |
0ec9dd |
include_directories: [ root_inc, pango_inc ],
|
|
Packit |
0ec9dd |
c_args: common_cflags + pango_debug_cflags + pango_cflags + [
|
|
Packit |
0ec9dd |
'-DPANGO_DISABLE_DEPRECATION_WARNINGS',
|
|
Packit |
0ec9dd |
],
|
|
Packit |
0ec9dd |
link_args: common_ldflags,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangoft2_dep_sources = []
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if build_gir
|
|
Packit |
0ec9dd |
pangoft2_gir = gnome.generate_gir(
|
|
Packit |
0ec9dd |
libpangoft2,
|
|
Packit |
0ec9dd |
sources: pangoft2_headers + pangoft2_public_sources,
|
|
Packit |
0ec9dd |
dependencies: [ libpango_dep, pango_gir_dep ],
|
|
Packit |
0ec9dd |
namespace: 'PangoFT2',
|
|
Packit |
0ec9dd |
nsversion: pango_api_version,
|
|
Packit |
0ec9dd |
identifier_prefix: 'PangoFT2',
|
|
Packit |
0ec9dd |
symbol_prefix: 'pango_ft2',
|
|
Packit |
0ec9dd |
export_packages: 'pangoft2',
|
|
Packit |
0ec9dd |
includes: [ pango_gir[0], 'GObject-2.0', 'cairo-1.0', 'freetype2-2.0', 'fontconfig-2.0', ],
|
|
Packit |
0ec9dd |
header: 'pango/pangoft2.h',
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
extra_args: gir_args,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangoft2_gir_dep = declare_dependency(sources: pangoft2_gir)
|
|
Packit |
0ec9dd |
pangoft2_dep_sources += pangoft2_gir
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangoft2_dep = declare_dependency(
|
|
Packit |
0ec9dd |
link_with: libpangoft2,
|
|
Packit |
0ec9dd |
include_directories: pango_inc,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep ],
|
|
Packit |
0ec9dd |
sources: pangoft2_dep_sources,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
else
|
|
Packit |
0ec9dd |
# For usage as a subproject
|
|
Packit |
0ec9dd |
libpangoft2_dep = dependency('', required : false)
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# Xft
|
|
Packit |
0ec9dd |
if xft_dep.found()
|
|
Packit |
0ec9dd |
pangoxft_headers = [
|
|
Packit |
0ec9dd |
'pangoxft.h',
|
|
Packit |
0ec9dd |
'pangoxft-render.h',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangoxft_sources = [
|
|
Packit |
0ec9dd |
'pangoxft-font.c',
|
|
Packit |
0ec9dd |
'pangoxft-fontmap.c',
|
|
Packit |
0ec9dd |
'pangoxft-render.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
install_headers(pangoxft_headers, subdir: pango_api_path)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangoxft = library(
|
|
Packit |
0ec9dd |
'pangoxft-@0@'.format(pango_api_version),
|
|
Packit |
0ec9dd |
sources: pangoxft_sources,
|
|
Packit |
0ec9dd |
version: pango_libversion,
|
|
Packit |
0ec9dd |
soversion: pango_soversion,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep, libpangoft2_dep ],
|
|
Packit |
0ec9dd |
include_directories: [ root_inc, pango_inc ],
|
|
Packit |
0ec9dd |
c_args: common_cflags + pango_debug_cflags + pango_cflags + [
|
|
Packit |
0ec9dd |
'-DPANGO_DISABLE_DEPRECATION_WARNINGS',
|
|
Packit |
0ec9dd |
],
|
|
Packit |
0ec9dd |
link_args: common_ldflags,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangoxft_dep_sources = []
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if build_gir
|
|
Packit |
0ec9dd |
pangoxft_gir = gnome.generate_gir(
|
|
Packit |
0ec9dd |
libpangoxft,
|
|
Packit |
0ec9dd |
sources: pangoxft_headers + pangoxft_sources,
|
|
Packit |
0ec9dd |
dependencies: [ libpango_dep, libpangoft2_dep, pango_gir_dep, pangoft2_gir_dep ],
|
|
Packit |
0ec9dd |
namespace: 'PangoXft',
|
|
Packit |
0ec9dd |
nsversion: pango_api_version,
|
|
Packit |
0ec9dd |
identifier_prefix: 'PangoXft',
|
|
Packit |
0ec9dd |
symbol_prefix: 'pango_xft',
|
|
Packit |
0ec9dd |
export_packages: 'pangoxft',
|
|
Packit |
0ec9dd |
includes: [ pango_gir[0], pangoft2_gir[0], 'GObject-2.0', 'xft-2.0', 'xlib-2.0' ],
|
|
Packit |
0ec9dd |
header: 'pango/pangoxft.h',
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
extra_args: gir_args,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangoxft_dep_sources += pangoxft_gir
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangoxft_dep = declare_dependency(
|
|
Packit |
0ec9dd |
link_with: libpangoxft,
|
|
Packit |
0ec9dd |
include_directories: root_inc,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep, libpangoft2_dep ],
|
|
Packit |
0ec9dd |
sources: pangoxft_dep_sources,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
else
|
|
Packit |
0ec9dd |
# For usage as a subproject
|
|
Packit |
0ec9dd |
libpangoxft_dep = dependency('', required: false)
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# Win32
|
|
Packit |
0ec9dd |
if host_system == 'windows'
|
|
Packit |
0ec9dd |
pangowin32_headers = [
|
|
Packit |
0ec9dd |
'pangowin32.h',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangowin32_sources = [
|
|
Packit |
0ec9dd |
'pangowin32.c',
|
|
Packit |
0ec9dd |
'pangowin32-fontcache.c',
|
|
Packit |
0ec9dd |
'pangowin32-fontmap.c',
|
|
Packit |
0ec9dd |
'pangowin32-shape.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# usp10 needs to be before gdi32
|
|
Packit |
0ec9dd |
# see https://bugzilla.gnome.org/show_bug.cgi?id=795045#c0
|
|
Packit |
0ec9dd |
pangowin32_deps = pango_deps + [
|
|
Packit |
0ec9dd |
libpango_dep,
|
|
Packit |
0ec9dd |
cc.find_library('usp10'),
|
|
Packit |
0ec9dd |
cc.find_library('gdi32'),
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangowin32_rc = configure_file(
|
|
Packit |
0ec9dd |
input: 'pangowin32.rc.in',
|
|
Packit |
0ec9dd |
output: 'pangowin32.rc',
|
|
Packit |
0ec9dd |
configuration: pango_features_conf,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangowin32_res = import('windows').compile_resources(pangowin32_rc)
|
|
Packit |
0ec9dd |
pangowin32_sources += pangowin32_res
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
install_headers(pangowin32_headers, subdir: pango_api_path)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangowin32 = library(
|
|
Packit |
0ec9dd |
'pangowin32-@0@'.format(pango_api_version),
|
|
Packit |
0ec9dd |
sources: pangowin32_sources,
|
|
Packit |
0ec9dd |
version: pango_libversion,
|
|
Packit |
0ec9dd |
soversion: pango_soversion,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
dependencies: pangowin32_deps,
|
|
Packit |
0ec9dd |
include_directories: [ root_inc, pango_inc ],
|
|
Packit |
0ec9dd |
c_args: common_cflags + pango_debug_cflags + pango_cflags + [
|
|
Packit |
0ec9dd |
'-DPANGO_DISABLE_DEPRECATION_WARNINGS',
|
|
Packit |
0ec9dd |
],
|
|
Packit |
0ec9dd |
link_args: common_ldflags,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangowin32_dep = declare_dependency(
|
|
Packit |
0ec9dd |
link_with: libpangowin32,
|
|
Packit |
0ec9dd |
include_directories: root_inc,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep ],
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
else
|
|
Packit |
0ec9dd |
# For usage as a subproject
|
|
Packit |
0ec9dd |
libpangowin32_dep = dependency('', required: false)
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
# Cairo
|
|
Packit |
0ec9dd |
if cairo_dep.found()
|
|
Packit |
0ec9dd |
pangocairo_headers = [
|
|
Packit |
0ec9dd |
'pangocairo.h',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangocairo_sources = [
|
|
Packit |
0ec9dd |
'pangocairo-context.c',
|
|
Packit |
0ec9dd |
'pangocairo-font.c',
|
|
Packit |
0ec9dd |
'pangocairo-fontmap.c',
|
|
Packit |
0ec9dd |
'pangocairo-render.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangocairo_deps = pango_deps + [ libpango_dep ]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if pango_font_backends.contains('freetype')
|
|
Packit |
0ec9dd |
pangocairo_sources += [
|
|
Packit |
0ec9dd |
'pangocairo-fcfont.c',
|
|
Packit |
0ec9dd |
'pangocairo-fcfontmap.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangocairo_deps += libpangoft2_dep
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if host_system == 'windows' and pango_font_backends.contains('win32')
|
|
Packit |
0ec9dd |
pangocairo_sources += [
|
|
Packit |
0ec9dd |
'pangocairo-win32font.c',
|
|
Packit |
0ec9dd |
'pangocairo-win32fontmap.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangocairo_rc = configure_file(
|
|
Packit |
0ec9dd |
input: 'pangocairo.rc.in',
|
|
Packit |
0ec9dd |
output: 'pangocairo.rc',
|
|
Packit |
0ec9dd |
configuration: pango_features_conf,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangocairo_res = import('windows').compile_resources(pangocairo_rc)
|
|
Packit |
0ec9dd |
pangocairo_sources += pangocairo_res
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
pangocairo_deps += cc.find_library('gdi32')
|
|
Packit |
0ec9dd |
pangocairo_deps += libpangowin32_dep
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if host_system == 'darwin' and pango_font_backends.contains('quartz')
|
|
Packit |
0ec9dd |
pangocairo_sources += [
|
|
Packit |
0ec9dd |
'pangocoretext.c',
|
|
Packit |
0ec9dd |
'pangocoretext-fontmap.c',
|
|
Packit |
0ec9dd |
'pangocoretext-shape.c',
|
|
Packit |
0ec9dd |
'pangocairo-coretextfont.c',
|
|
Packit |
0ec9dd |
'pangocairo-coretextfontmap.c',
|
|
Packit |
0ec9dd |
]
|
|
Packit |
0ec9dd |
pangocairo_deps += dependency('appleframeworks', modules: [ 'CoreFoundation', 'ApplicationServices' ])
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
install_headers(pangocairo_headers, subdir: pango_api_path)
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangocairo = library(
|
|
Packit |
0ec9dd |
'pangocairo-@0@'.format(pango_api_version),
|
|
Packit |
0ec9dd |
sources: pangocairo_sources,
|
|
Packit |
0ec9dd |
version: pango_libversion,
|
|
Packit |
0ec9dd |
soversion: pango_soversion,
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + pangocairo_deps,
|
|
Packit |
0ec9dd |
include_directories: [ root_inc, pango_inc ],
|
|
Packit |
0ec9dd |
c_args: common_cflags + pango_debug_cflags + pango_cflags + [
|
|
Packit |
0ec9dd |
'-DPANGO_DISABLE_DEPRECATION_WARNINGS',
|
|
Packit |
0ec9dd |
],
|
|
Packit |
0ec9dd |
link_args: common_ldflags
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangocairo_dep_sources = []
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
if build_gir
|
|
Packit |
0ec9dd |
pangocairo_gir = gnome.generate_gir(
|
|
Packit |
0ec9dd |
libpangocairo,
|
|
Packit |
0ec9dd |
sources: pangocairo_headers + pangocairo_sources,
|
|
Packit |
0ec9dd |
dependencies: [ pangocairo_deps, pango_gir_dep ],
|
|
Packit |
0ec9dd |
namespace: 'PangoCairo',
|
|
Packit |
0ec9dd |
nsversion: pango_api_version,
|
|
Packit |
0ec9dd |
identifier_prefix: 'PangoCairo',
|
|
Packit |
0ec9dd |
symbol_prefix: 'pango_cairo',
|
|
Packit |
0ec9dd |
export_packages: 'pangocairo',
|
|
Packit |
0ec9dd |
includes: [ pango_gir[0], 'GObject-2.0', 'cairo-1.0' ],
|
|
Packit |
0ec9dd |
header: 'pango/pangocairo.h',
|
|
Packit |
0ec9dd |
install: true,
|
|
Packit |
0ec9dd |
extra_args: gir_args,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
pangocairo_dep_sources += pangocairo_gir
|
|
Packit |
0ec9dd |
endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
libpangocairo_dep = declare_dependency(
|
|
Packit |
0ec9dd |
link_with: libpangocairo,
|
|
Packit |
0ec9dd |
include_directories: root_inc,
|
|
Packit |
0ec9dd |
dependencies: pango_deps + [ libpango_dep ],
|
|
Packit |
0ec9dd |
sources: pangocairo_dep_sources,
|
|
Packit |
0ec9dd |
)
|
|
Packit |
0ec9dd |
else
|
|
Packit |
0ec9dd |
# For usage as a subproject
|
|
Packit |
0ec9dd |
libpangocairo_dep = dependency('', required: false)
|
|
Packit |
0ec9dd |
endif
|