summaryrefslogtreecommitdiff
path: root/panels/sound
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2017-07-25 22:28:38 +0200
committerIñigo Martínez <inigomartinez@gmail.com>2018-01-17 21:28:19 +0100
commitc37713b1bac27dc9ca510e840fe96e43b0690f2b (patch)
tree4728812afdcb8bb1011a2b0f9af7f0fdc2c3f536 /panels/sound
parentcfbf9e672d8f071dd282eeb1ce6b438149cfc5d8 (diff)
downloadgnome-control-center-c37713b1bac27dc9ca510e840fe96e43b0690f2b.tar.gz
build: Port to meson build systemwip/inigomartinez/meson
meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. https://bugzilla.gnome.org/show_bug.cgi?id=785414
Diffstat (limited to 'panels/sound')
-rw-r--r--panels/sound/Makefile.am3
-rw-r--r--panels/sound/data/icons/Makefile.am2
-rw-r--r--panels/sound/data/icons/meson.build69
-rw-r--r--panels/sound/data/sounds/Makefile.am2
-rw-r--r--panels/sound/data/sounds/meson.build31
-rw-r--r--panels/sound/data/symbolic-icons/Makefile.am1
-rw-r--r--panels/sound/data/symbolic-icons/meson.build13
-rw-r--r--panels/sound/meson.build67
8 files changed, 187 insertions, 1 deletions
diff --git a/panels/sound/Makefile.am b/panels/sound/Makefile.am
index fb66d373b..a9a42fd90 100644
--- a/panels/sound/Makefile.am
+++ b/panels/sound/Makefile.am
@@ -64,6 +64,9 @@ CLEANFILES = \
$(BUILT_SOURCES) \
$(NULL)
+EXTRA_DIST = \
+ meson.build
+
MAINTAINERCLEANFILES = \
*~ \
Makefile.in
diff --git a/panels/sound/data/icons/Makefile.am b/panels/sound/data/icons/Makefile.am
index 35e2de2d6..c2884eadc 100644
--- a/panels/sound/data/icons/Makefile.am
+++ b/panels/sound/data/icons/Makefile.am
@@ -9,4 +9,6 @@ SUBDIRS = \
48x48 \
$(NULL)
+EXTRA_DIST = meson.build
+
-include $(top_srcdir)/git.mk
diff --git a/panels/sound/data/icons/meson.build b/panels/sound/data/icons/meson.build
new file mode 100644
index 000000000..0c45ed577
--- /dev/null
+++ b/panels/sound/data/icons/meson.build
@@ -0,0 +1,69 @@
+apps_files = [
+ 'multimedia-volume-control.png',
+ 'multimedia-volume-control.svg'
+]
+
+device_files = ['audio-headset.svg']
+
+status_files = [
+ 'audio-input-microphone-high.png',
+ 'audio-input-microphone-low.png',
+ 'audio-input-microphone-medium.png',
+ 'audio-input-microphone-muted.png'
+]
+
+scalable_device_files = [
+ 'audio-speaker-center-back.svg',
+ 'audio-speaker-center-back-testing.svg',
+ 'audio-speaker-center.svg',
+ 'audio-speaker-center-testing.svg',
+ 'audio-speaker-left-back.svg',
+ 'audio-speaker-left-back-testing.svg',
+ 'audio-speaker-left-side.svg',
+ 'audio-speaker-left-side-testing.svg',
+ 'audio-speaker-left.svg',
+ 'audio-speaker-left-testing.svg',
+ 'audio-speaker-mono.svg',
+ 'audio-speaker-mono-testing.svg',
+ 'audio-speaker-right-back.svg',
+ 'audio-speaker-right-back-testing.svg',
+ 'audio-speaker-right-side.svg',
+ 'audio-speaker-right-side-testing.svg',
+ 'audio-speaker-right.svg',
+ 'audio-speaker-right-testing.svg',
+ 'audio-speaker-testing.svg',
+ 'audio-subwoofer.svg',
+ 'audio-subwoofer-testing.svg'
+]
+
+icon_sizes = [
+ ['16x16', [apps_files, device_files, status_files]],
+ ['22x22', [apps_files, [], status_files]],
+ ['24x24', [['multimedia-volume-control.png'], device_files, status_files]],
+ ['32x32', [apps_files, device_files, status_files]],
+ ['48x48', [['multimedia-volume-control.png'], device_files, []]],
+ ['scalable', [['multimedia-volume-control.svg'], scalable_device_files, []]]
+]
+
+foreach icon_size: icon_sizes
+ foreach file: icon_size[1][0]
+ install_data(
+ join_paths(icon_size[0], 'apps', file),
+ install_dir: join_paths(control_center_icondir, 'hicolor', icon_size[0], 'apps')
+ )
+ endforeach
+
+ foreach file: icon_size[1][1]
+ install_data(
+ join_paths(icon_size[0], 'devices', file),
+ install_dir: join_paths(control_center_pkgdatadir, 'icons', 'hicolor', icon_size[0], 'devices')
+ )
+ endforeach
+
+ foreach file: icon_size[1][2]
+ install_data(
+ join_paths(icon_size[0], 'status', file),
+ install_dir: join_paths(control_center_pkgdatadir, 'icons', 'hicolor', icon_size[0], 'status')
+ )
+ endforeach
+endforeach
diff --git a/panels/sound/data/sounds/Makefile.am b/panels/sound/data/sounds/Makefile.am
index 3277593ff..ed0cac5d4 100644
--- a/panels/sound/data/sounds/Makefile.am
+++ b/panels/sound/data/sounds/Makefile.am
@@ -17,7 +17,7 @@ metadata_DATA = $(metadata_in_files:.xml.in=.xml)
noinst_DATA = gnome-sounds-default.xml.in
CLEANFILES = gnome-sounds-default.xml gnome-sounds-default.xml.in
-EXTRA_DIST = $(sound_DATA) gnome-sounds-default.xml.in.in
+EXTRA_DIST = $(sound_DATA) gnome-sounds-default.xml.in.in meson.build
gnome-sounds-default.xml.in: gnome-sounds-default.xml.in.in Makefile
$(AM_V_GEN)sed -e 's^\@datadir\@^$(datadir)^g' < $(srcdir)/gnome-sounds-default.xml.in.in > gnome-sounds-default.xml.in.tmp \
diff --git a/panels/sound/data/sounds/meson.build b/panels/sound/data/sounds/meson.build
new file mode 100644
index 000000000..2d9321aa6
--- /dev/null
+++ b/panels/sound/data/sounds/meson.build
@@ -0,0 +1,31 @@
+sound_data = files(
+ 'bark.ogg',
+ 'drip.ogg',
+ 'glass.ogg',
+ 'sonar.ogg'
+)
+
+install_data(
+ sound_data,
+ install_dir: join_paths(control_center_datadir, 'sounds', 'gnome', 'default', 'alerts')
+)
+
+metadata_conf = configuration_data()
+metadata_conf.set('datadir', control_center_datadir)
+
+metadata = 'gnome-sounds-default.xml'
+
+metadata_in = configure_file(
+ input: metadata + '.in.in',
+ output: metadata + '.in',
+ configuration: metadata_conf
+)
+
+custom_target(
+ metadata,
+ input: metadata_in,
+ output: metadata,
+ command: intltool_xml_cmd,
+ install: true,
+ install_dir: join_paths(control_center_pkgdatadir, 'sounds')
+)
diff --git a/panels/sound/data/symbolic-icons/Makefile.am b/panels/sound/data/symbolic-icons/Makefile.am
index 9f95f49d5..b6ca043c0 100644
--- a/panels/sound/data/symbolic-icons/Makefile.am
+++ b/panels/sound/data/symbolic-icons/Makefile.am
@@ -5,6 +5,7 @@ SUBDIRS = scalable
EXTRA_DIST = \
src \
r.rb \
+ meson.build \
$(NULL)
-include $(top_srcdir)/git.mk
diff --git a/panels/sound/data/symbolic-icons/meson.build b/panels/sound/data/symbolic-icons/meson.build
new file mode 100644
index 000000000..0fa3cafa1
--- /dev/null
+++ b/panels/sound/data/symbolic-icons/meson.build
@@ -0,0 +1,13 @@
+status_files = [
+ 'audio-input-microphone-high-symbolic.svg',
+ 'audio-input-microphone-low-symbolic.svg',
+ 'audio-input-microphone-medium-symbolic.svg',
+ 'audio-input-microphone-muted-symbolic.svg'
+]
+
+foreach file: status_files
+ install_data(
+ join_paths('scalable', 'status', file),
+ install_dir: join_paths(control_center_icondir, 'hicolor', 'scalable', 'status')
+ )
+endforeach
diff --git a/panels/sound/meson.build b/panels/sound/meson.build
new file mode 100644
index 000000000..7acb59c2a
--- /dev/null
+++ b/panels/sound/meson.build
@@ -0,0 +1,67 @@
+panels_list += cappletname
+desktop = 'gnome-@0@-panel.desktop'.format(cappletname)
+
+desktop_in = configure_file(
+ input: 'data/' + desktop + '.in.in',
+ output: desktop + '.in',
+ configuration: desktop_conf
+)
+
+custom_target(
+ desktop,
+ input: desktop_in,
+ output: desktop,
+ command: intltool_desktop_cmd,
+ install: true,
+ install_dir: control_center_desktopdir
+)
+
+deps = common_deps + [
+ libgvc_dep,
+ libxml_dep,
+ m_dep,
+ pulse_dep,
+ pulse_mainloop_dep,
+ dependency('libcanberra-gtk3', version: '>= 0.13')
+]
+
+cflags += [
+ '-DGLADEDIR="@0@"'.format(control_center_pkgdatadir),
+ '-DICON_DATA_DIR="@0@"'.format(join_paths(control_center_pkgdatadir, 'icons')),
+ '-DLIBEXECDIR="@0@"'.format(control_center_libexecdir),
+ '-DLOCALE_DIR="@0@"'.format(control_center_localedir),
+ '-DSOUND_DATA_DIR="@0@"'.format(join_paths(control_center_datadir, 'sounds')),
+ '-DSOUND_SET_DIR="@0@"'.format(join_paths(control_center_pkgdatadir, 'sounds'))
+]
+
+libgvcgtk = static_library(
+ 'gvcgtk',
+ sources: 'gvc-channel-bar.c',
+ include_directories: top_inc,
+ dependencies: deps,
+ c_args: cflags
+)
+
+sources = files(
+ 'cc-sound-panel.c',
+ 'gvc-balance-bar.c',
+ 'gvc-combo-box.c',
+ 'gvc-level-bar.c',
+ 'gvc-mixer-dialog.c',
+ 'gvc-sound-theme-chooser.c',
+ 'gvc-speaker-test.c',
+ 'sound-theme-file-utils.c'
+)
+
+panels_libs += static_library(
+ cappletname,
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: deps,
+ c_args: cflags,
+ link_with: libgvcgtk
+)
+
+subdir('data/icons')
+subdir('data/sounds')
+subdir('data/symbolic-icons')