Re: [PATCH BlueZ 3/4] Link to udev only when needed
From: Antonio Ospite <hidden>
Date: 2011-08-25 14:14:54
Also in:
linux-input
On Fri, 19 Aug 2011 21:08:54 +0200 Antonio Ospite [off-list ref] wrote:
quoted hunk
On Fri, 19 Aug 2011 10:58:02 +0200 Antonio Ospite [off-list ref] wrote:quoted
On Thu, 18 Aug 2011 16:18:57 -0700 Marcel Holtmann [off-list ref] wrote:[...]quoted
quoted
I rather have the Sixaxis plugin being an external plugin only then. So you are not allowed to make this builtin.Marcel, I guess that an _external_ plugin in BlueZ context is one which is not embedded in the bluetoothd binary but rather distributed as a shared object, isn't it? Are there examples of such a plugin in bluez tree I can copy from?OK, I think I've got it, it is external-dummy, this is how I did it: --- Makefile.am | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)diff --git a/Makefile.am b/Makefile.am index 4bcff4d..ff33bf0 100644 --- a/Makefile.am +++ b/Makefile.am@@ -230,8 +230,10 @@ builtin_sources += thermometer/main.c \ endif if SIXAXISPLUGIN -builtin_modules += sixaxis -builtin_sources += plugins/sixaxis.c +plugin_LTLIBRARIES += plugins/sixaxis.la +plugins_sixaxis_la_SOURCES = plugins/sixaxis.c +plugins_sixaxis_la_LDFLAGS = -module -avoid-version -no-undefined @UDEV_LIBS@ +plugins_sixaxis_la_CFLAGS = -fvisibility=hidden @DBUS_CFLAGS@ @GLIB_CFLAGS@ @UDEV_CFLAGS@ endif
This is not enough, the external plugin can be compiled but I can be used at runtime because it is using functions from src/storage.c and others, which seem to be embedded inside bluetoothd only, so I get: bluetoothd[23459]: Can't load plugin \ /home/ao2/Proj/PS3/PS3_sixaxis/bluez/plugins/.libs/playstation-peripheral.so: \ /home/ao2/Proj/PS3/PS3_sixaxis/bluez/plugins/.libs/playstation-peripheral.so: \ undefined symbol: write_device_name I could link the needed object files like storage.o and company into the plugin binary, but definitely this doesn't look OK. Should a shared library provide those "utility" functions to bluetoothd _and_ external plugins? This plugin is the first non-trivial external plugin I can see in the tree, so maybe this problem has never showed up before. Thanks, Antonio -- Antonio Ospite http://ao2.it PGP public key ID: 0x4553B001 A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing?
Attachments
- (unnamed) [application/pgp-signature] 198 bytes