keyutils: Allow building of the shared library to be suppressed Upstream patch: https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils/+/a4deb71ddc05e951c8be8d46615beed9d408a5c8 Signed-off-by: Vicente Olivert Riera LIB: Allow building of the shared library to be suppressed Allow building of the shared library to be suppressed by passing NO_SOLIB=1 to the Makefile. Reported-and-tested-by: Vicente Olivert Riera Signed-off-by: David Howells diff --git a/Makefile b/Makefile index c904eaf..5dd2113 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ SPECFILE := keyutils.spec NO_GLIBC_KEYERR := 0 NO_ARLIB := 0 +NO_SOLIB := 0 ETCDIR := /etc BINDIR := /bin SBINDIR := /sbin @@ -95,7 +96,7 @@ # Normal build rule # ############################################################################### -all: $(DEVELLIB) keyctl request-key key.dns_resolver +all: keyctl request-key key.dns_resolver ############################################################################### # @@ -104,20 +105,23 @@ ############################################################################### #RPATH = -Wl,-rpath,$(LIBDIR) -ifeq ($(NO_ARLIB),0) -all: $(ARLIB) -$(ARLIB): keyutils.o - $(AR) rcs $@ $< -endif - VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" +ifeq ($(NO_ARLIB),0) +all: $(ARLIB) +$(ARLIB): keyutils.o + $(AR) rcs $@ $< + keyutils.o: keyutils.c keyutils.h Makefile $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $< +LIB_DEPENDENCY := libkeyutils.a +endif +ifeq ($(NO_SOLIB),0) +all: $(DEVELLIB) $(DEVELLIB): $(SONAME) ln -sf $< $@ @@ -131,6 +135,8 @@ keyutils.os: keyutils.c keyutils.h Makefile $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $< +LIB_DEPENDENCY := $(DEVELLIB) +endif ############################################################################### # @@ -140,13 +146,13 @@ %.o: %.c keyutils.h Makefile $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< -keyctl: keyctl.o $(DEVELLIB) +keyctl: keyctl.o $(LIB_DEPENDENCY) $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -request-key: request-key.o $(DEVELLIB) +request-key: request-key.o $(LIB_DEPENDENCY) $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -key.dns_resolver: key.dns_resolver.o $(DEVELLIB) +key.dns_resolver: key.dns_resolver.o $(LIB_DEPENDENCY) $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv ############################################################################### @@ -158,10 +164,12 @@ ifeq ($(NO_ARLIB),0) $(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB) endif +ifeq ($(NO_SOLIB),0) $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) mkdir -p $(DESTDIR)$(USRLIBDIR) $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) +endif $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key $(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh