@@ -20,7 +20,7 @@ libbtrfs_objects = send-stream.o send-utils.o rbtree.o btrfs-list.o crc32c.o \
uuid-tree.o utils-lib.o
libbtrfs_headers = send-stream.h send-utils.h send.h rbtree.h btrfs-list.h \
crc32c.h list.h kerncompat.h radix-tree.h extent-cache.h \
- extent_io.h ioctl.h ctree.h btrfsck.h
+ extent_io.h ioctl.h ctree.h btrfsck.h version.h
TESTS = fsck-tests.sh convert-tests.sh
INSTALL = install
@@ -18,6 +18,11 @@
#ifndef SEND_STREAM_H_
#define SEND_STREAM_H_
+/*
+ * NOTE: this file is public API, any incompatible change has to update
+ * library version
+ */
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -8,6 +8,10 @@
v="v3.16"
+lib_major=0
+lib_minor=1
+lib_patchlevel=1
+
which git &> /dev/null
if [ $? == 0 -a -d .git ]; then
if head=`git rev-parse --verify HEAD 2>/dev/null`; then
@@ -24,8 +28,19 @@ if [ $? == 0 -a -d .git ]; then
fi
fi
-echo "#ifndef __BUILD_VERSION" > .build-version.h
+echo "/* NOTE: this file is autogenerated by version.sh, do not edit */" > .build-version.h
+echo "#ifndef __BUILD_VERSION" >> .build-version.h
+echo >> .build-version.h
echo "#define __BUILD_VERSION" >> .build-version.h
+echo >> .build-version.h
+echo "#define BTRFS_LIB_MAJOR $lib_major" >> .build-version.h
+echo "#define BTRFS_LIB_MINOR $lib_minor" >> .build-version.h
+echo "#define BTRFS_LIB_PATCHLEVEL $lib_patchlevel" >> .build-version.h
+echo >> .build-version.h
+echo "#define BTRFS_LIB_VERSION ( BTRFS_LIB_MAJOR * 10000 + \\" >> .build-version.h
+echo " BTRFS_LIB_MINOR * 100 + \\" >> .build-version.h
+echo " BTRFS_LIB_PATCHLEVEL )" >> .build-version.h
+echo >> .build-version.h
echo "#define BTRFS_BUILD_VERSION \"Btrfs $v\"" >> .build-version.h
echo "#endif" >> .build-version.h