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>
This commit is contained in:
parent
9d1cce411b
commit
6304578d4e
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user