From 361742eda986901daf75169faaf648d4d132ccfb Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 19 Mar 2000 20:36:44 +0000 Subject: * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): Set earliest supported version for libc 0.2.90.libio to GLIBC_2.2. * Makeconfig (soversions.mk): Grok new third column in shlib-versions, and use it to emit new variable `map-firstversions'. * scripts/firstversions.awk: New file. * Makerules (Versions.all): Use scripts/firstversions.awk and the $(map-firstversions) value to generate a modified versions list that includes renames in "A = B" syntax for each version set earlier than the "earliest symbol version" named in shlib-versions. * scripts/versions.awk: Recognize "A = B" lines in the input to mean rename version set A to B in the output to the intermediate file. * scripts/abi-versions.awk: New file. * Makerules (abi-versions.h): New target, generated by that script. [$(versioning) = yes] (before-compile): Prepend abi-versions.h. * include/shlib-compat.h: New file, uses that generated header. --- Makeconfig | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'Makeconfig') diff --git a/Makeconfig b/Makeconfig index de1b1b186a..14a690d213 100644 --- a/Makeconfig +++ b/Makeconfig @@ -687,23 +687,23 @@ $(common-objpfx)soversions.mk: $(..)shlib-versions $(..)Makeconfig \ for f in $$file; do \ sed 's/#.*$$//;s/^[ ]*%/#/' $$f \ | $(CC) -include $(common-objpfx)config.h -E -x c - \ - | while read conf versions; do \ - test -n "$$versions" && \ + | while read conf version setname; do \ + test -n "$$version" && \ test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \ : "$$conf"` != 0 || continue; \ - for v in $$versions; do \ - lib=`echo $$v | sed 's/=.*$$//'`; \ - if eval "test -z \"\$$vers_lib$$lib\""; then \ - eval vers_lib$${lib}=yes; \ - number=`echo $$v | sed "s/^.*=//"`; \ - case $$number in \ - [0-9]*) echo "$$lib.so-version=.$$number"; \ - echo "all-sonames+=$$lib.so\$$($$lib.so-version)";;\ - *) echo "$$lib.so-version=$$number"; \ - echo "all-sonames+=\$$($$lib.so-version)";; \ - esac; \ - fi; \ - done; \ + lib=`echo $$version | sed 's/=.*$$//'`; \ + if eval "test -z \"\$$versioners_lib$$lib\""; then \ + eval vers_lib$${lib}=yes; \ + number=`echo $$version | sed "s/^.*=//"`; \ + case $$number in \ + [0-9]*) echo "$$lib.so-version=.$$number"; \ + echo "all-sonames+=$$lib.so\$$($$lib.so-version)";;\ + *) echo "$$lib.so-version=$$number"; \ + echo "all-sonames+=\$$($$lib.so-version)";; \ + esac; \ + test -z "$$setname" || \ + echo "map-firstversions+=$${lib}:$${setname}"; \ + fi; \ done; \ done;) > $@T; exit 0 mv -f $@T $@ -- cgit v1.2.3