@@ -253,6 +253,8 @@ libbtrfs_objects = \
253253libbtrfs_headers = libbtrfs/send-stream.h libbtrfs/send-utils.h libbtrfs/send.h kernel-lib/rbtree.h \
254254 kernel-lib/list.h kernel-lib/rbtree_types.h libbtrfs/kerncompat.h \
255255 libbtrfs/ioctl.h libbtrfs/ctree.h libbtrfs/version.h
256+ libbtrfs_version = $(LIBBTRFS_MAJOR ) .$(LIBBTRFS_MINOR ) .$(LIBBTRFS_PATCHLEVEL )
257+
256258libbtrfsutil_major := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MAJOR ([0-9]) +$$/\1/p' libbtrfsutil/btrfsutil.h)
257259libbtrfsutil_minor := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MINOR ([0-9]) +$$/\1/p' libbtrfsutil/btrfsutil.h)
258260libbtrfsutil_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))
428430static_image_objects = $(patsubst % .o, % .static.o, $(image_objects ) )
429431static_tune_objects = $(patsubst % .o, % .static.o, $(tune_objects ) )
430432
431- libs_shared = libbtrfs.so.0.1 libbtrfsutil.so.$(libbtrfsutil_version )
432- lib_links = libbtrfs.so.0 libbtrfs.so libbtrfsutil.so.$(libbtrfsutil_major ) libbtrfsutil.so
433+ libs_shared = libbtrfs.so.$(libbtrfs_version ) libbtrfsutil.so.$(libbtrfsutil_version )
434+ lib_links = libbtrfs.so libbtrfs.so.$(LIBBTRFS_MAJOR ) libbtrfs.so.$(LIBBTRFS_MAJOR ) .$(LIBBTRFS_MINOR ) \
435+ libbtrfsutil.so libbtrfsutil.so.$(libbtrfsutil_major )
433436libs_build =
434437ifeq ($(BUILD_SHARED_LIBRARIES ) ,1)
435438libs_build += $(libs_shared ) $(lib_links )
@@ -612,7 +615,7 @@ kernel-lib/tables.c:
612615 @echo " [TABLE] $@ "
613616 $(Q ) ./mktables > $@ || ($( RM) -f $@ && exit 1)
614617
615- libbtrfs.so.0.1 : $(libbtrfs_objects ) libbtrfs/libbtrfs.sym
618+ libbtrfs.so.$( libbtrfs_version ) : $(libbtrfs_objects ) libbtrfs/libbtrfs.sym
616619 @echo " [LD] $@ "
617620 $(Q )$(CC ) $(CFLAGS ) $(filter % .o,$^ ) $(LDFLAGS ) $(LIBBTRFS_LIBS ) \
618621 -shared -Wl,-soname,libbtrfs.so.0 -Wl,--version-script=libbtrfs/libbtrfs.sym -o $@
@@ -621,7 +624,7 @@ libbtrfs.a: $(libbtrfs_objects)
621624 @echo " [AR] $@ "
622625 $(Q )$(AR ) cr $@ $^
623626
624- libbtrfs.so.0 libbtrfs.so : libbtrfs.so.0.1 libbtrfs/libbtrfs.sym
627+ libbtrfs.so libbtrfs.so. $( LIBBTRFS_MAJOR ) libbtrfs.so. $( LIBBTRFS_MAJOR ) . $( LIBBTRFS_MINOR ) : libbtrfs.so.$( libbtrfs_version ) libbtrfs/libbtrfs.sym
625628 @echo " [LN] $@ "
626629 $(Q )$(LN_S ) -f $< $@
627630
@@ -788,10 +791,10 @@ library-test: tests/library-test.c libbtrfs.so
788791 @echo " [TEST PREP] $@ " $(eval TMPD=$(shell mktemp -d) )
789792 $(Q ) mkdir -p $(TMPD ) /include/btrfs && \
790793 cp $(libbtrfs_headers ) $(TMPD ) /include/btrfs && \
791- cp libbtrfs.so.0.1 $(TMPD ) && \
794+ cp libbtrfs.so.$( libbtrfs_version ) $(TMPD ) && \
792795 cd $(TMPD ) && $(CC ) -I$(TMPD ) /include -o $@ $(addprefix $(ABSTOPDIR ) /,$^ ) -Wl,-rpath=$(ABSTOPDIR )
793796 @echo " [TEST RUN] $@ "
794- $(Q ) cd $(TMPD ) && LD_PRELOAD=libbtrfs.so.0.1 ./$@
797+ $(Q ) cd $(TMPD ) && LD_PRELOAD=libbtrfs.so.$( libbtrfs_version ) ./$@
795798 @echo " [TEST CLEAN] $@ "
796799 $(Q )$(RM ) -rf -- $(TMPD )
797800
0 commit comments