glib/gircompiler/meson.build

66 lines
1.6 KiB
Meson
Raw Normal View History

gir_dir_prefix = get_option('gir_dir_prefix')
if gir_dir_prefix == '' or gir_dir_prefix == get_option('datadir')
gir_dir_prefix = get_option('datadir')
gir_dir_pc_prefix = '${datadir}'
else
gir_dir_pc_prefix = join_paths('${prefix}', gir_dir_prefix)
endif
glib_girdir = get_option('prefix') / gir_dir_prefix / 'gir-1.0'
gir_includedir = glib_includedir / 'girepository'
gir_c_args = [
'-DGI_COMPILATION',
'-DGIR_SUFFIX="gir-1.0"',
'-DGIR_DIR="@0@"'.format(glib_girdir),
'-DGOBJECT_INTROSPECTION_LIBDIR="@0@"'.format(glib_libdir),
'-DGOBJECT_INTROSPECTION_DATADIR="@0@"'.format(glib_datadir),
]
custom_c_args = [
'-DG_LOG_DOMAIN="GLib-GirCompiler"',
]
if cc.get_id() != 'msvc'
custom_c_args = cc.get_supported_arguments([
'-Wno-old-style-definition',
'-Wno-cast-align',
])
endif
if cc.get_id() != 'msvc'
custom_c_args = cc.get_supported_arguments([
'-Wno-unused-parameter',
'-Wno-duplicated-branches',
'-Wno-cast-align',
])
endif
gircompiler_internals = static_library('gircompiler-internals',
sources: [
'girmodule.c',
'girnode.c',
'giroffsets.c',
'girparser.c',
],
c_args: gir_c_args + custom_c_args,
include_directories : [configinc, girepoinc],
dependencies: [libglib_dep, libgmodule_dep, libgitypelib_dep, libffi_dep],
)
gircompiler_internals_dep = declare_dependency(
link_with: gircompiler_internals,
include_directories: [girepoinc],
)
gircompiler = executable('gir-compiler2', 'compiler.c',
dependencies: [
gircompiler_internals_dep,
libgio_dep,
],
install: true,
c_args: custom_c_args,
)
meson.override_find_program('g-ir-compiler', gircompiler)