Fixes 'multiple definition errors' when building with GCC 10+
From: https://bugs.gentoo.org/710796
Originally from: https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a62e41e
and https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7a976c7
--- a/spa/plugins/bluez5/a2dp-codecs.h
+++ b/spa/plugins/bluez5/a2dp-codecs.h
@@ -284,15 +284,15 @@
}
}
-const a2dp_sbc_t bluez_a2dp_sbc;
+extern const a2dp_sbc_t bluez_a2dp_sbc;
#if ENABLE_MP3
-const a2dp_mpeg_t bluez_a2dp_mpeg;
+extern const a2dp_mpeg_t bluez_a2dp_mpeg;
#endif
#if ENABLE_AAC
-const a2dp_aac_t bluez_a2dp_aac;
+extern const a2dp_aac_t bluez_a2dp_aac;
#endif
#if ENABLE_APTX
-const a2dp_aptx_t bluez_a2dp_aptx;
+extern const a2dp_aptx_t bluez_a2dp_aptx;
#endif
#endif
--- a/spa/plugins/bluez5/bluez5-monitor.c
+++ b/spa/plugins/bluez5/bluez5-monitor.c
@@ -75,7 +75,7 @@
struct spa_list transport_list;
};
-struct spa_handle_factory spa_a2dp_sink_factory;
+extern struct spa_handle_factory spa_a2dp_sink_factory;
static void fill_item(struct spa_bt_monitor *this, struct spa_bt_transport *transport,
struct spa_pod **result, struct spa_pod_builder *builder)
--- a/spa/plugins/bluez5/meson.build
+++ b/spa/plugins/bluez5/meson.build
@@ -1,7 +1,8 @@
bluez5_sources = ['plugin.c',
'a2dp-sink.c',
- 'bluez5-monitor.c']
+ 'a2dp-codecs.c',
+ 'bluez5-monitor.c']
bluez5lib = shared_library('spa-bluez5',
bluez5_sources,
d=aa8ec684ab43fe5c348c20ea3f7a151af3eb8ffe'>diff
|