mirror of
https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
synced 2024-10-05 21:56:14 -04:00
68b7fccda8
A set of different variables are used to hold dependencies. However, no individual use of them is done. This patch removes these variables and holds their objects directly in the array of dependencies. https://bugzilla.gnome.org/show_bug.cgi?id=792948
144 lines
3.3 KiB
Meson
144 lines
3.3 KiB
Meson
project('gvc', 'c',
|
|
meson_version: '>= 0.38.0',
|
|
default_options: ['static=true']
|
|
)
|
|
|
|
if not meson.is_subproject()
|
|
error('This project is only intended to be used as a subproject!')
|
|
endif
|
|
|
|
gnome = import('gnome')
|
|
|
|
pkglibdir = get_option('pkglibdir')
|
|
pkgdatadir = get_option('pkgdatadir')
|
|
|
|
cdata = configuration_data()
|
|
cdata.set_quoted('GETTEXT_PACKAGE', get_option('package_name'))
|
|
cdata.set_quoted('PACKAGE_VERSION', get_option('package_version'))
|
|
|
|
libgvc_inc = include_directories('.')
|
|
|
|
libgvc_gir_sources = [
|
|
'gvc-mixer-card.h',
|
|
'gvc-mixer-card.c',
|
|
'gvc-mixer-stream.h',
|
|
'gvc-mixer-stream.c',
|
|
'gvc-channel-map.h',
|
|
'gvc-channel-map.c',
|
|
'gvc-mixer-ui-device.h',
|
|
'gvc-mixer-ui-device.c',
|
|
'gvc-mixer-sink.h',
|
|
'gvc-mixer-sink.c',
|
|
'gvc-mixer-source.h',
|
|
'gvc-mixer-source.c',
|
|
'gvc-mixer-sink-input.h',
|
|
'gvc-mixer-sink-input.c',
|
|
'gvc-mixer-source-output.h',
|
|
'gvc-mixer-source-output.c',
|
|
'gvc-mixer-event-role.h',
|
|
'gvc-mixer-event-role.c',
|
|
'gvc-mixer-control.h',
|
|
'gvc-mixer-control.c'
|
|
]
|
|
|
|
libgvc_no_gir_sources = [
|
|
'gvc-mixer-card-private.h',
|
|
'gvc-mixer-stream-private.h',
|
|
'gvc-channel-map-private.h',
|
|
'gvc-mixer-control-private.h',
|
|
'gvc-pulseaudio-fake.h'
|
|
]
|
|
|
|
libgvc_deps = [
|
|
dependency('gio-2.0'),
|
|
dependency('gobject-2.0'),
|
|
dependency('libpulse', version: '>= 2.0'),
|
|
dependency('libpulse-mainloop-glib')
|
|
]
|
|
|
|
enable_alsa = get_option('alsa')
|
|
if enable_alsa
|
|
libgvc_deps += dependency('alsa')
|
|
endif
|
|
cdata.set('HAVE_ALSA', enable_alsa)
|
|
|
|
enable_static = get_option('static')
|
|
enable_introspection = get_option('introspection')
|
|
|
|
if enable_static and enable_introspection
|
|
error('Currently meson requires a shared library for building girs.')
|
|
endif
|
|
|
|
c_args = ['-DG_LOG_DOMAIN="Gvc"']
|
|
|
|
if enable_introspection
|
|
c_args += '-DWITH_INTROSPECTION'
|
|
endif
|
|
|
|
if enable_static
|
|
libgvc_static = static_library('gvc',
|
|
sources: libgvc_gir_sources + libgvc_no_gir_sources,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args
|
|
)
|
|
|
|
libgvc = libgvc_static
|
|
else
|
|
if pkglibdir == ''
|
|
error('Installing shared library, but pkglibdir is unset!')
|
|
endif
|
|
|
|
libgvc_shared = shared_library('gvc',
|
|
sources: libgvc_gir_sources + libgvc_no_gir_sources,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args,
|
|
install_rpath: pkgdatadir,
|
|
install_dir: pkglibdir,
|
|
install: true
|
|
)
|
|
|
|
libgvc = libgvc_shared
|
|
endif
|
|
|
|
if enable_introspection
|
|
if pkgdatadir == ''
|
|
error('Installing introspection, but pkgdatadir is unset!')
|
|
elif (pkglibdir == '')
|
|
error('Installing introspection, but pkglibdir is unset!')
|
|
endif
|
|
|
|
libgvc_gir = gnome.generate_gir(libgvc,
|
|
sources: libgvc_gir_sources,
|
|
nsversion: '1.0',
|
|
namespace: 'Gvc',
|
|
includes: ['Gio-2.0', 'GObject-2.0'],
|
|
extra_args: ['-DWITH_INTROSPECTION', '--quiet'],
|
|
install_dir_gir: pkgdatadir,
|
|
install_dir_typelib: pkglibdir,
|
|
install: true
|
|
)
|
|
endif
|
|
|
|
if enable_alsa
|
|
executable('test-audio-device-selection',
|
|
sources: 'test-audio-device-selection.c',
|
|
link_with: libgvc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args
|
|
)
|
|
endif
|
|
|
|
libgvc_dep = declare_dependency(
|
|
link_with: libgvc,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps
|
|
)
|
|
|
|
config = configure_file(
|
|
input: 'config.h.meson',
|
|
output: 'config.h',
|
|
configuration: cdata
|
|
)
|