Import Upstream version 2.72.4
This commit is contained in:
commit
4ef3ff9793
2003 changed files with 1332420 additions and 0 deletions
190
gobject/meson.build
Normal file
190
gobject/meson.build
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
gobject_install_headers = files(
|
||||
'gobject-autocleanups.h',
|
||||
'glib-types.h',
|
||||
'gbinding.h',
|
||||
'gbindinggroup.h',
|
||||
'gboxed.h',
|
||||
'gclosure.h',
|
||||
'genums.h',
|
||||
'gmarshal.h',
|
||||
'gobject.h',
|
||||
'gparam.h',
|
||||
'gparamspecs.h',
|
||||
'gsignal.h',
|
||||
'gsignalgroup.h',
|
||||
'gsourceclosure.h',
|
||||
'gtype.h',
|
||||
'gtypemodule.h',
|
||||
'gtypeplugin.h',
|
||||
'gvalue.h',
|
||||
'gvaluearray.h',
|
||||
'gvaluecollector.h',
|
||||
'gvaluetypes.h',
|
||||
'gobjectnotifyqueue.c', # sic
|
||||
)
|
||||
install_headers(gobject_install_headers, subdir : 'glib-2.0/gobject')
|
||||
|
||||
gobject_sources = files(
|
||||
'gatomicarray.c',
|
||||
'gbinding.c',
|
||||
'gbindinggroup.c',
|
||||
'gboxed.c',
|
||||
'gclosure.c',
|
||||
'genums.c',
|
||||
'gmarshal.c',
|
||||
'gobject.c',
|
||||
'gparam.c',
|
||||
'gparamspecs.c',
|
||||
'gsignal.c',
|
||||
'gsignalgroup.c',
|
||||
'gsourceclosure.c',
|
||||
'gtype.c',
|
||||
'gtypemodule.c',
|
||||
'gtypeplugin.c',
|
||||
'gvalue.c',
|
||||
'gvaluearray.c',
|
||||
'gvaluetransform.c',
|
||||
'gvaluetypes.c',
|
||||
)
|
||||
|
||||
if host_system == 'windows' and get_option('default_library') == 'shared'
|
||||
gobject_win_rc = configure_file(
|
||||
input: 'gobject.rc.in',
|
||||
output: 'gobject.rc',
|
||||
configuration: glibconfig_conf,
|
||||
)
|
||||
gobject_win_res = windows.compile_resources(gobject_win_rc)
|
||||
gobject_sources += [gobject_win_res]
|
||||
endif
|
||||
|
||||
if enable_dtrace
|
||||
gobject_dtrace_obj = dtrace_obj_gen.process('gobject_probes.d')
|
||||
gobject_dtrace_hdr = dtrace_hdr_gen.process('gobject_probes.d')
|
||||
else
|
||||
gobject_dtrace_obj = []
|
||||
gobject_dtrace_hdr = []
|
||||
endif
|
||||
|
||||
python_tools = [
|
||||
'glib-genmarshal',
|
||||
'glib-mkenums',
|
||||
]
|
||||
|
||||
python_tools_conf = configuration_data()
|
||||
python_tools_conf.set('VERSION', glib_version)
|
||||
python_tools_conf.set('PYTHON', python_name)
|
||||
|
||||
foreach tool: python_tools
|
||||
tool_bin = configure_file(
|
||||
input : tool + '.in',
|
||||
output : tool,
|
||||
configuration : python_tools_conf,
|
||||
install_dir : glib_bindir,
|
||||
)
|
||||
|
||||
# Set variables for later use
|
||||
set_variable(tool.underscorify(), tool_bin)
|
||||
# Provide tools for others when we're a subproject and they use the Meson GNOME module
|
||||
meson.override_find_program(tool, tool_bin)
|
||||
endforeach
|
||||
|
||||
# Generate a header file containing the GObject enum types for the enums defined
|
||||
# in libglib.
|
||||
#
|
||||
# For now, we only include gunicode.h here, since GScriptType is needed for
|
||||
# Pango. More headers can be added as needed in future.
|
||||
#
|
||||
# We can't use gnome.mkenums() because the GNOME module looks for glib-mkenums
|
||||
# in PATH, which means you can't bootstrap glib with its own glib-mkenums.
|
||||
glib_enumtypes_input_headers = files(
|
||||
'../glib/gunicode.h',
|
||||
)
|
||||
|
||||
glib_enumtypes_h = custom_target('glib_enumtypes_h',
|
||||
output : 'glib-enumtypes.h',
|
||||
capture : true,
|
||||
input : glib_enumtypes_input_headers,
|
||||
install : true,
|
||||
install_dir : join_paths(get_option('includedir'), 'glib-2.0/gobject'),
|
||||
command : [python, glib_mkenums,
|
||||
'--template', files('glib-enumtypes.h.template'),
|
||||
'@INPUT@'])
|
||||
|
||||
glib_enumtypes_c = custom_target('glib_enumtypes_c',
|
||||
output : 'glib-enumtypes.c',
|
||||
capture : true,
|
||||
input : glib_enumtypes_input_headers,
|
||||
depends : [glib_enumtypes_h],
|
||||
command : [python, glib_mkenums,
|
||||
'--template', files('glib-enumtypes.c.template'),
|
||||
'@INPUT@'])
|
||||
|
||||
glib_enumtypes_dep = declare_dependency(sources : [glib_enumtypes_h])
|
||||
|
||||
# Expose as variable to be used by gobject-introspection
|
||||
# when it includes GLib as a subproject
|
||||
glib_types_h = files('glib-types.h')
|
||||
|
||||
libgobject = library('gobject-2.0',
|
||||
gobject_dtrace_obj, gobject_dtrace_hdr, glib_enumtypes_h, glib_enumtypes_c,
|
||||
sources : gobject_sources,
|
||||
version : library_version,
|
||||
soversion : soversion,
|
||||
darwin_versions : darwin_versions,
|
||||
install : true,
|
||||
include_directories : [configinc],
|
||||
dependencies : [libffi_dep, libglib_dep],
|
||||
c_args : ['-DG_LOG_DOMAIN="GLib-GObject"', '-DGOBJECT_COMPILATION'] + glib_hidden_visibility_args,
|
||||
link_args : glib_link_flags,
|
||||
)
|
||||
|
||||
pkg.generate(libgobject,
|
||||
requires : ['glib-2.0'],
|
||||
version : glib_version,
|
||||
install_dir : glib_pkgconfigreldir,
|
||||
filebase : 'gobject-2.0',
|
||||
name : 'GObject',
|
||||
description : 'GLib Type, Object, Parameter and Signal Library',
|
||||
)
|
||||
|
||||
libgobject_dep = declare_dependency(link_with : libgobject,
|
||||
include_directories : [gobjectinc],
|
||||
dependencies : [libglib_dep, glib_enumtypes_dep])
|
||||
|
||||
if meson.version().version_compare('>=0.54.0')
|
||||
meson.override_dependency('gobject-2.0', libgobject_dep)
|
||||
endif
|
||||
|
||||
executable('gobject-query', 'gobject-query.c',
|
||||
install : true,
|
||||
dependencies : [libglib_dep, libgobject_dep])
|
||||
|
||||
install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
|
||||
gdb_conf = configuration_data()
|
||||
gdb_conf.set('datadir', glib_datadir)
|
||||
configure_file(
|
||||
input: 'libgobject-gdb.py.in',
|
||||
output: 'libgobject-2.0.so.@0@-gdb.py'.format(library_version),
|
||||
configuration: gdb_conf,
|
||||
install_dir: gdb_install_dir,
|
||||
install: gdb_install,
|
||||
)
|
||||
|
||||
# This is needed to make gdb find gobject_gdb.py
|
||||
if meson.version().version_compare('>=0.58')
|
||||
env = environment()
|
||||
env.prepend('PYTHONPATH', meson.current_source_dir())
|
||||
meson.add_devenv(env)
|
||||
endif
|
||||
|
||||
if enable_systemtap
|
||||
gobject_stp = configure_file(input : 'gobject.stp.in',
|
||||
output : '@0@.stp'.format(libgobject.full_path().split('/').get(-1)),
|
||||
configuration : stp_cdata,
|
||||
install_dir : tapset_install_dir,
|
||||
)
|
||||
endif
|
||||
|
||||
if build_tests
|
||||
subdir('tests')
|
||||
endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue