summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makeconfig22
1 files changed, 22 insertions, 0 deletions
diff --git a/Makeconfig b/Makeconfig
index c06604c544..23dca2cc4c 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -510,4 +510,26 @@ $(common-objpfx)version.mk: $(..)version.h $(..)Makeconfig
< $< > $@-new
mv -f $@-new $@
+ifeq (yes, $(build-shared))
+
+# Process the shlib-versions file, which tells us what shared library
+# version numbers to use when we install shared objects on this system.
+-include $(common-objpfx)soversions.mk
+$(common-objpfx)soversions.mk: $(..)shlib-versions $(..)Makeconfig \
+ $(common-objpfx)config.make
+ sed 's/#.*$$//' $< | while read conf versions; do \
+ test -n "$$versions" || continue; \
+ case '$(config-machine)-$(config-vendor)-$(config-os)' in $$conf)\
+ for v in $$versions; do \
+ lib="$${v%%=*}"; if eval "test -z \"\$$vers_lib$$lib\""; then \
+ eval vers_lib$${lib}=yes; \
+ echo $$lib.so-version=.$${v##$$lib=}; fi; \
+ done ;; esac; done > $@T
+ mv -f $@T $@
+
+# Get $(version) defined with the release version number.
+-include $(common-objpfx)version.mk
+
+endif # build-shared
+
endif # Makeconfig not yet included