From 3e403451c7dd24c2ffb4f510a3876a152dea0a14 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 29 Mar 2019 16:29:49 +0000 Subject: [PATCH] Build shared lib by default, add options to turn it off The vast majority of use cases want a shared library, so to be more user and packager friendly invert the makefile logic and always build both static and shared libraries by default. Add BUILD_STATIC_ONLY variable for the corner cases where only a static library is needed Signed-off-by: Luca Boccassi --- README | 7 +++---- src/Makefile | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/README b/README index a48fdde..d894e7e 100644 --- a/README +++ b/README @@ -19,14 +19,13 @@ successful. Build ===== - -To build static library libbpf.a: +To build both static libbpf.a and shared libbpf.so: cd src make -To build both static libbpf.a and shared libbpf.so libraries in directory +To build only static libbpf.a library in directory build/ and install them together with libbpf headers in a staging directory root/: cd src mkdir build root - BUILD_SHARED=y OBJDIR=build DESTDIR=root make install + BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install diff --git a/src/Makefile b/src/Makefile index 51b52e8..4846ab8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -10,7 +10,7 @@ ifneq ($(FEATURE_REALLOCARRAY),) ALL_CFLAGS += -DCOMPAT_NEED_REALLOCARRAY endif -ifdef BUILD_SHARED +ifndef BUILD_STATIC_ONLY ALL_CFLAGS += -fPIC -fvisibility=hidden endif @@ -23,7 +23,7 @@ OBJS := $(addprefix $(OBJDIR)/,bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \ nlattr.o str_error.o libbpf_probes.o bpf_prog_linfo.o xsk.o) LIBS := $(OBJDIR)/libbpf.a -ifdef BUILD_SHARED +ifndef BUILD_STATIC_ONLY LIBS += $(OBJDIR)/libbpf.so endif