aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-08-29 22:18:37 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2016-08-29 23:24:50 +0200
commit6304578d4e7e9d3b1d42c2630761feaa66a12c3d (patch)
tree48f6f5c4541856c5a5789518244dbb6d98e69416
parent9d1cce411bf2af81a9ce020b6495e9beb1646921 (diff)
downloadbuildroot-6304578d4e7e9d3b1d42c2630761feaa66a12c3d.tar.gz
buildroot-6304578d4e7e9d3b1d42c2630761feaa66a12c3d.tar.bz2
libaio: allow building on static-only configurations
This commit adds a simple patch to the libaio build system that allows it to be used on static-only configurations. It is probably easier to fix this than to propagate the !BR2_STATIC_LIBS dependency. Fixes: http://autobuild.buildroot.net/results/8c86402bd14a0af1b82e6e07c06531a856dd37c6/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Tested-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch56
-rw-r--r--package/libaio/libaio.mk4
2 files changed, 60 insertions, 0 deletions
diff --git a/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch b/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch
new file mode 100644
index 0000000000..50703c3f53
--- /dev/null
+++ b/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch
@@ -0,0 +1,56 @@
+From 14dee5707716629b1bc8d06b93cdfe9ea1a3b813 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 29 Aug 2016 22:14:26 +0200
+Subject: [PATCH] src/Makefile: add ENABLE_SHARED boolean to allow static-only
+ build
+
+Currently, the libaio builds sytem builds a shared library
+unconditionally. In some environments, this is not possible or
+desirable. This commit adds a new Makefile variable, ENABLE_SHARED,
+which defaults to "1" (i.e shared library enabled) and that allows to
+override this behavior, and therefore to disable the build and
+installation of the shared library.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/Makefile | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index eadb336..cfab240 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -8,12 +8,17 @@ SO_CFLAGS=-shared $(CFLAGS)
+ L_CFLAGS=$(CFLAGS)
+ LINK_FLAGS=
+ LINK_FLAGS+=$(LDFLAGS)
++ENABLE_SHARED ?= 1
+
+ soname=libaio.so.1
+ minor=0
+ micro=1
+ libname=$(soname).$(minor).$(micro)
+-all_targets += libaio.a $(libname)
++all_targets += libaio.a
++
++ifeq ($(ENABLE_SHARED),1)
++all_targets += $(libname)
++endif
+
+ all: $(all_targets)
+
+@@ -55,9 +60,11 @@ $(libname): $(libaio_sobjs) libaio.map
+ install: $(all_targets)
+ install -D -m 644 libaio.h $(includedir)/libaio.h
+ install -D -m 644 libaio.a $(libdir)/libaio.a
++ifeq ($(ENABLE_SHARED),1)
+ install -D -m 755 $(libname) $(libdir)/$(libname)
+ ln -sf $(libname) $(libdir)/$(soname)
+ ln -sf $(libname) $(libdir)/libaio.so
++endif
+
+ $(libaio_objs): libaio.h
+
+--
+2.7.4
+
diff --git a/package/libaio/libaio.mk b/package/libaio/libaio.mk
index 0854fc5fd6..5ebe1b7eea 100644
--- a/package/libaio/libaio.mk
+++ b/package/libaio/libaio.mk
@@ -13,6 +13,10 @@ LIBAIO_LICENSE_FILES = COPYING
LIBAIO_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS)
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBAIO_CONFIGURE_OPTS += ENABLE_SHARED=0
+endif
+
# On PowerPC, a weird toolchain issue causes -Os builds to produce
# references to hidden symbols, so we're forcing -O2
ifeq ($(BR2_powerpc),y)