about summary refs log tree commit diff
path: root/Makeconfig
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-10-21 01:29:31 +0000
committerRoland McGrath <roland@gnu.org>2004-10-21 01:29:31 +0000
commit6d864d156da2e006b309eaa161437eea10fd4684 (patch)
tree46dca46634b6bf853ea99e8325c4bcecda9a1e22 /Makeconfig
parentcb57664d297d1669be7887d2e17a1a2128d39af6 (diff)
downloadglibc-6d864d156da2e006b309eaa161437eea10fd4684.tar.gz
glibc-6d864d156da2e006b309eaa161437eea10fd4684.tar.xz
glibc-6d864d156da2e006b309eaa161437eea10fd4684.zip
* Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also cvs/fedora-glibc-20041021T0701
	$(config-sysdirs) for shlib-versions files.

	* Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
	use of ...
	* scripts/soversions.awk: ... this new file.  Collect lib info and
	match any DEFAULT line before emitting anything, so DEFAULT can come
	later in the concatenation of shlib-versions files.
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig31
1 files changed, 12 insertions, 19 deletions
diff --git a/Makeconfig b/Makeconfig
index 8490d077b6..ea3a782cda 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -799,26 +799,19 @@ ifndef avoid-generated
 # This lets add-ons give more-specific matches that override defaults
 # in the top-level file.
 $(common-objpfx)shlib-versions.v.i: \
-	$(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) $(subdirs)))\
+	$(wildcard $(patsubst %, $(..)%/shlib-versions,$(add-ons) \
+						       $(config-sysdirs) \
+						       $(subdirs))) \
 	$(..)shlib-versions
-$(common-objpfx)soversions.i: $(common-objpfx)shlib-versions.v
-	default_setname='$(filter-out %_default,$(oldest-abi:%=GLIBC_%))'; \
-	while read conf version setname; do \
-	  test -n "$$version" && \
-	  test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \
-		     : "$$conf"` != 0 || continue; \
-	  if test "x$$version" = xDEFAULT; then \
-	    default_setname="$$setname"; \
-	  else \
-	    $(abi-default_setname) \
-	    lib=`echo $$version | sed 's/=.*$$//'`; \
-	    if eval test -z "\$${versioned_$${lib}}"; then \
-	      eval versioned_$${lib}=yes; \
-	      number=`echo $$version | sed "s/^.*=//"`; \
-	      echo $$lib $$number $${setname:-$${default_setname}}; \
-	    fi; \
-	  fi; \
-	done < $< > $@T; exit 0
+
+soversions-default-setname = $(patsubst %, %,\
+					$(filter-out %_default,\
+						     $(oldest-abi:%=GLIBC_%)))
+$(common-objpfx)soversions.i: $(..)scripts/soversions.awk \
+			      $(common-objpfx)shlib-versions.v
+	$(AWK) -v default_setname='$(soversions-default-setname)' \
+	       -v config='$(config-machine)-$(config-vendor)-$(config-os)' \
+	       -f $^ > $@T
 	mv -f $@T $@
 $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
 	(while read lib number setname; do \