libbtrfs: create all .so links
There will be an unplanned update to libbtrfs (fixing send/receive stream parsing and unaligned data access). The current ABI is frozen and won't change but at least the patch level should change. Update the build to create all links up to the major.minor.patch. Until now it was just major.minor: - libbtrfs.so -> libbtrfs.so.0.1.2 - libbtrfs.so.0 -> libbtrfs.so.0.1.2 - libbtrfs.so.0.1 -> libbtrfs.so.0.1.2 - libbtrfs.so.0.1.2 Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
5fa48a03c5
commit
8803af8870
15
Makefile
15
Makefile
|
@ -253,6 +253,8 @@ libbtrfs_objects = \
|
||||||
libbtrfs_headers = libbtrfs/send-stream.h libbtrfs/send-utils.h libbtrfs/send.h kernel-lib/rbtree.h \
|
libbtrfs_headers = libbtrfs/send-stream.h libbtrfs/send-utils.h libbtrfs/send.h kernel-lib/rbtree.h \
|
||||||
kernel-lib/list.h kernel-lib/rbtree_types.h libbtrfs/kerncompat.h \
|
kernel-lib/list.h kernel-lib/rbtree_types.h libbtrfs/kerncompat.h \
|
||||||
libbtrfs/ioctl.h libbtrfs/ctree.h libbtrfs/version.h
|
libbtrfs/ioctl.h libbtrfs/ctree.h libbtrfs/version.h
|
||||||
|
libbtrfs_version = $(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR).$(LIBBTRFS_PATCHLEVEL)
|
||||||
|
|
||||||
libbtrfsutil_major := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MAJOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
libbtrfsutil_major := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MAJOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
||||||
libbtrfsutil_minor := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MINOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
libbtrfsutil_minor := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MINOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
||||||
libbtrfsutil_patch := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_PATCH ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
libbtrfsutil_patch := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_PATCH ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h)
|
||||||
|
@ -428,8 +430,9 @@ static_mkfs_objects = $(patsubst %.o, %.static.o, $(mkfs_objects))
|
||||||
static_image_objects = $(patsubst %.o, %.static.o, $(image_objects))
|
static_image_objects = $(patsubst %.o, %.static.o, $(image_objects))
|
||||||
static_tune_objects = $(patsubst %.o, %.static.o, $(tune_objects))
|
static_tune_objects = $(patsubst %.o, %.static.o, $(tune_objects))
|
||||||
|
|
||||||
libs_shared = libbtrfs.so.0.1 libbtrfsutil.so.$(libbtrfsutil_version)
|
libs_shared = libbtrfs.so.$(libbtrfs_version) libbtrfsutil.so.$(libbtrfsutil_version)
|
||||||
lib_links = libbtrfs.so.0 libbtrfs.so libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so
|
lib_links = libbtrfs.so libbtrfs.so.$(LIBBTRFS_MAJOR) libbtrfs.so.$(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR) \
|
||||||
|
libbtrfsutil.so libbtrfsutil.so.$(libbtrfsutil_major)
|
||||||
libs_build =
|
libs_build =
|
||||||
ifeq ($(BUILD_SHARED_LIBRARIES),1)
|
ifeq ($(BUILD_SHARED_LIBRARIES),1)
|
||||||
libs_build += $(libs_shared) $(lib_links)
|
libs_build += $(libs_shared) $(lib_links)
|
||||||
|
@ -612,7 +615,7 @@ kernel-lib/tables.c:
|
||||||
@echo " [TABLE] $@"
|
@echo " [TABLE] $@"
|
||||||
$(Q)./mktables > $@ || ($(RM) -f $@ && exit 1)
|
$(Q)./mktables > $@ || ($(RM) -f $@ && exit 1)
|
||||||
|
|
||||||
libbtrfs.so.0.1: $(libbtrfs_objects) libbtrfs/libbtrfs.sym
|
libbtrfs.so.$(libbtrfs_version): $(libbtrfs_objects) libbtrfs/libbtrfs.sym
|
||||||
@echo " [LD] $@"
|
@echo " [LD] $@"
|
||||||
$(Q)$(CC) $(CFLAGS) $(filter %.o,$^) $(LDFLAGS) $(LIBBTRFS_LIBS) \
|
$(Q)$(CC) $(CFLAGS) $(filter %.o,$^) $(LDFLAGS) $(LIBBTRFS_LIBS) \
|
||||||
-shared -Wl,-soname,libbtrfs.so.0 -Wl,--version-script=libbtrfs/libbtrfs.sym -o $@
|
-shared -Wl,-soname,libbtrfs.so.0 -Wl,--version-script=libbtrfs/libbtrfs.sym -o $@
|
||||||
|
@ -621,7 +624,7 @@ libbtrfs.a: $(libbtrfs_objects)
|
||||||
@echo " [AR] $@"
|
@echo " [AR] $@"
|
||||||
$(Q)$(AR) cr $@ $^
|
$(Q)$(AR) cr $@ $^
|
||||||
|
|
||||||
libbtrfs.so.0 libbtrfs.so: libbtrfs.so.0.1 libbtrfs/libbtrfs.sym
|
libbtrfs.so libbtrfs.so.$(LIBBTRFS_MAJOR) libbtrfs.so.$(LIBBTRFS_MAJOR).$(LIBBTRFS_MINOR): libbtrfs.so.$(libbtrfs_version) libbtrfs/libbtrfs.sym
|
||||||
@echo " [LN] $@"
|
@echo " [LN] $@"
|
||||||
$(Q)$(LN_S) -f $< $@
|
$(Q)$(LN_S) -f $< $@
|
||||||
|
|
||||||
|
@ -788,10 +791,10 @@ library-test: tests/library-test.c libbtrfs.so
|
||||||
@echo " [TEST PREP] $@"$(eval TMPD=$(shell mktemp -d))
|
@echo " [TEST PREP] $@"$(eval TMPD=$(shell mktemp -d))
|
||||||
$(Q)mkdir -p $(TMPD)/include/btrfs && \
|
$(Q)mkdir -p $(TMPD)/include/btrfs && \
|
||||||
cp $(libbtrfs_headers) $(TMPD)/include/btrfs && \
|
cp $(libbtrfs_headers) $(TMPD)/include/btrfs && \
|
||||||
cp libbtrfs.so.0.1 $(TMPD) && \
|
cp libbtrfs.so.$(libbtrfs_version) $(TMPD) && \
|
||||||
cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(ABSTOPDIR)/,$^) -Wl,-rpath=$(ABSTOPDIR)
|
cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(ABSTOPDIR)/,$^) -Wl,-rpath=$(ABSTOPDIR)
|
||||||
@echo " [TEST RUN] $@"
|
@echo " [TEST RUN] $@"
|
||||||
$(Q)cd $(TMPD) && LD_PRELOAD=libbtrfs.so.0.1 ./$@
|
$(Q)cd $(TMPD) && LD_PRELOAD=libbtrfs.so.$(libbtrfs_version) ./$@
|
||||||
@echo " [TEST CLEAN] $@"
|
@echo " [TEST CLEAN] $@"
|
||||||
$(Q)$(RM) -rf -- $(TMPD)
|
$(Q)$(RM) -rf -- $(TMPD)
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,9 @@ HAVE_GLIBC = @HAVE_GLIBC@
|
||||||
SUBST_CFLAGS = @CFLAGS@
|
SUBST_CFLAGS = @CFLAGS@
|
||||||
SUBST_LDFLAGS = @LDFLAGS@
|
SUBST_LDFLAGS = @LDFLAGS@
|
||||||
|
|
||||||
|
LIBBTRFS_MAJOR=@LIBBTRFS_MAJOR@
|
||||||
|
LIBBTRFS_MINOR=@LIBBTRFS_MINOR@
|
||||||
|
LIBBTRFS_PATCHLEVEL=@LIBBTRFS_PATCHLEVEL@
|
||||||
LIBS_BASE = @UUID_LIBS@ @BLKID_LIBS@ @LIBUDEV_LIBS@ -L. -pthread
|
LIBS_BASE = @UUID_LIBS@ @BLKID_LIBS@ @LIBUDEV_LIBS@ -L. -pthread
|
||||||
LIBS_COMP = @ZLIB_LIBS@ @LZO2_LIBS@ @ZSTD_LIBS@
|
LIBS_COMP = @ZLIB_LIBS@ @LZO2_LIBS@ @ZSTD_LIBS@
|
||||||
LIBS_PYTHON = @PYTHON_LIBS@
|
LIBS_PYTHON = @PYTHON_LIBS@
|
||||||
|
|
Loading…
Reference in New Issue