libsepol: fix static-only library build
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 20 Feb 2014 13:32:50 +0000 (14:32 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Thu, 20 Feb 2014 18:08:00 +0000 (19:08 +0100)
Add a patch that improves the libsepol build system to support
static-only library build.

Fixes:

  http://autobuild.buildroot.org/results/30c/30cb919d2bbf51bfdf0a83c618124d927d046a61/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/libsepol/libsepol-01-support-static-only.patch [new file with mode: 0644]

diff --git a/package/libsepol/libsepol-01-support-static-only.patch b/package/libsepol/libsepol-01-support-static-only.patch
new file mode 100644 (file)
index 0000000..b974680
--- /dev/null
@@ -0,0 +1,44 @@
+Add support for static-only build
+
+Instead of unconditionally building shared libraries, this patch
+improves the libsepol build system with a "STATIC" variable, which
+when defined to some non-empty value, will disable the build of shared
+libraries. It allows to support cases where the target architecture
+does not have support for shared libraries.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -17,7 +17,12 @@
+ CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute
+ override CFLAGS += -I. -I../include -D_GNU_SOURCE
+-all: $(LIBA) $(LIBSO) $(LIBPC)
++ALL_TARGETS = $(LIBA) $(LIBPC)
++ifeq ($(STATIC),)
++ALL_TARGETS += $(LIBSO)
++endif
++
++all: $(ALL_TARGETS)
+ $(LIBA):  $(OBJS)
+       $(AR) rcs $@ $^
+@@ -39,11 +44,13 @@
+ install: all
+       test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
+       install -m 644 $(LIBA) $(LIBDIR)
+-      test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
+-      install -m 755 $(LIBSO) $(SHLIBDIR)
+       test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
+       install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
++ifeq ($(STATIC),)
++      test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
++      install -m 755 $(LIBSO) $(SHLIBDIR)
+       cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET)
++endif
+ relabel:
+       /sbin/restorecon $(SHLIBDIR)/$(LIBSO)