[Olsr-dev] [PATCH 1/1] [RFC] Linux: correctly set plugin soname
Ferry Huberts
(spam-protected)
Thu Aug 18 10:22:57 CEST 2011
If there are no comments then I'll push this today
On 08/17/2011 01:36 PM, Ferry Huberts wrote:
> From: Ferry Huberts <(spam-protected)>
>
> By convention, non-core libraries should start with the 'lib'
> prefix on Linux systems. Currently this is not the case for the
> olsrd plugin libraries.
>
> Since renaming them would break all configurations, the soname
> of an olsrd plugin library is now correctly set so that a
> 'ldconfig -l <library>' will create the correct link.
>
> This patches fixes the issue for Linux only, other platforms
> are not touched since I don't have those platforms available.
>
> To completely fix the issue, PLUGIN_FULLNAME must be set as:
> PLUGIN_FULLNAME ?= lib$(PLUGIN_NAME).so.$(PLUGIN_VER)
> But this will rename all olsrd plugin libraries.
>
> Signed-off-by: Ferry Huberts <(spam-protected)>
> ---
> Makefile.inc | 2 +-
> make/Makefile.android | 1 +
> make/Makefile.fbsd | 1 +
> make/Makefile.kfbsd | 1 +
> make/Makefile.linux | 1 +
> make/Makefile.nbsd | 1 +
> make/Makefile.obsd | 1 +
> make/Makefile.osx | 1 +
> make/Makefile.win32 | 1 +
> 9 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/Makefile.inc b/Makefile.inc
> index 1f254d9..34af527 100644
> --- a/Makefile.inc
> +++ b/Makefile.inc
> @@ -137,7 +137,7 @@ ifeq ($(OS),win32)
> LDFLAGS += -Wl,-export-all-symbols,--enable-auto-import
> endif
> LDFLAGS += -shared
> -LDFLAGS += -Wl,-soname,$(PLUGIN_NAME)
> +LDFLAGS += -Wl,-soname,$(PLUGIN_SONAME)
> LDFLAGS += -Wl,--version-script=version-script.txt
> else
> # c and ld flags for main
> diff --git a/make/Makefile.android b/make/Makefile.android
> index e323ec8..0b57a84 100644
> --- a/make/Makefile.android
> +++ b/make/Makefile.android
> @@ -70,6 +70,7 @@ CPPFLAGS += \
> -fno-strict-aliasing
> endif
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -D -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
> /sbin/ldconfig -n $(LIBDIR)
> diff --git a/make/Makefile.fbsd b/make/Makefile.fbsd
> index 67074c8..283e3ff 100644
> --- a/make/Makefile.fbsd
> +++ b/make/Makefile.fbsd
> @@ -32,6 +32,7 @@ CFLAGS += -fPIC
> LDFLAGS += -fPIC
> endif
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
> /sbin/ldconfig
> diff --git a/make/Makefile.kfbsd b/make/Makefile.kfbsd
> index b2841ae..933a1e2 100644
> --- a/make/Makefile.kfbsd
> +++ b/make/Makefile.kfbsd
> @@ -34,6 +34,7 @@ CFLAGS += -fPIC
> LDFLAGS += -fPIC
> endif
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME);
> UNINSTALL_LIB = rm -f $(LIBDIR)/$(PLUGIN_FULLNAME);
> diff --git a/make/Makefile.linux b/make/Makefile.linux
> index 3292258..3fb19b9 100644
> --- a/make/Makefile.linux
> +++ b/make/Makefile.linux
> @@ -12,6 +12,7 @@ HDRS += $(wildcard src/linux/*.h src/unix/*.h)
> CPPFLAGS += -Dlinux -DLINUX_NETLINK_ROUTING
> LIBS +=
>
> +PLUGIN_SONAME ?= lib$(PLUGIN_NAME).so
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -D -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
> /sbin/ldconfig -n $(LIBDIR)
> diff --git a/make/Makefile.nbsd b/make/Makefile.nbsd
> index 4d655f3..392b1c0 100644
> --- a/make/Makefile.nbsd
> +++ b/make/Makefile.nbsd
> @@ -11,6 +11,7 @@ HDRS += $(wildcard src/bsd/*.h src/unix/*.h)
> CPPFLAGS += -D__NetBSD__
> LIBS +=
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
> /sbin/ldconfig
> diff --git a/make/Makefile.obsd b/make/Makefile.obsd
> index ea2c1e0..1cac7df 100644
> --- a/make/Makefile.obsd
> +++ b/make/Makefile.obsd
> @@ -11,6 +11,7 @@ HDRS += $(wildcard src/bsd/*.h src/unix/*.h)
> CPPFLAGS += -D__OpenBSD__
> LIBS +=
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
> /sbin/ldconfig
> diff --git a/make/Makefile.osx b/make/Makefile.osx
> index a74dc16..614a28c 100644
> --- a/make/Makefile.osx
> +++ b/make/Makefile.osx
> @@ -15,6 +15,7 @@ HDRS += $(wildcard src/bsd/*.h src/unix/*.h)
> CPPFLAGS += -D__MacOSX__
> LIBS +=
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
> INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME)
> UNINSTALL_LIB = rm -f $(LIBDIR)/$(PLUGIN_FULLNAME)
> diff --git a/make/Makefile.win32 b/make/Makefile.win32
> index ae0bfd1..703873c 100644
> --- a/make/Makefile.win32
> +++ b/make/Makefile.win32
> @@ -13,6 +13,7 @@ LIBS += -mno-cygwin -lws2_32 -liphlpapi
> CPPFLAGS += -I$(TOPDIR)/src/win32
> CFLAGS += -mno-cygwin
>
> +PLUGIN_SONAME ?= $(PLUGIN_NAME)
> PLUGIN_FULLNAME ?= $(PLUGIN_NAME).dll
> INSTALL_LIB = cp $(PLUGIN_FULLNAME) ../..
> UNINSTALL_LIB = del /F ../../$(PLUGIN_FULLNAME)
--
Ferry Huberts
More information about the Olsr-dev
mailing list