about summary refs log tree commit diff
path: root/Makeconfig
diff options
context:
space:
mode:
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig33
1 files changed, 8 insertions, 25 deletions
diff --git a/Makeconfig b/Makeconfig
index 5ecda01169..306053241d 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -787,11 +787,14 @@ soversions-default-setname = $(patsubst %, %,\
 $(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)' \
+	       -v cpu='$(config-machine)' \
+	       -v vendor='$(config-vendor)' \
+	       -v os='$(config-os)' \
 	       -f $^ > $@T
 	mv -f $@T $@
 $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
-	(while read lib number setname; do \
+	(while read which lib number setname; do \
+	   test x"$$which" = xDEFAULT || continue; \
 	   case $$number in \
 	     [0-9]*) echo "$$lib.so-version=.$$number"; \
 		     echo "all-sonames+=$$lib=$$lib.so\$$($$lib.so-version)";;\
@@ -812,31 +815,11 @@ postclean-generated += soversions.mk soversions.i \
 before-compile += $(common-objpfx)gnu/lib-names.h
 ifeq ($(soversions.mk-done),t)
 $(common-objpfx)gnu/lib-names.h: $(common-objpfx)gnu/lib-names.stmp; @:
-$(common-objpfx)gnu/lib-names.stmp: $(common-objpfx)soversions.mk
+$(common-objpfx)gnu/lib-names.stmp: $(..)scripts/lib-names.awk \
+				    $(common-objpfx)soversions.i
 	$(make-target-directory)
 	@rm -f ${@:stmp=T} $@
-	(echo '/* This file is automatically generated.';\
-	 echo '   It defines macros to allow user program to find the shared';\
-	 echo '   library files which come as part of GNU libc.  */';\
-	 echo '#ifndef __GNU_LIB_NAMES_H'; \
-	 echo '#define __GNU_LIB_NAMES_H	1'; \
-	 echo; \
-	 (libs='$(all-sonames)';\
-	  for l in $$libs; do \
-	    name=`echo $$l | sed 's/.*=//'`; \
-	    upname=`echo $$l | sed 's/=.*//' | \
-		    tr 'abcdefghijklmnopqrstuvwxyz-' \
-		       'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`; \
-	    upname2=`echo $$name | sed 's/[.]so.*//' | \
-		     tr 'abcdefghijklmnopqrstuvwxyz-' \
-		        'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`; \
-	    echo "#define	$${upname}_SO	\"$$name\""; \
-	    if test $$upname != $$upname2; then \
-	      echo "#define	$${upname2}_SO	\"$$name\""; \
-	    fi; \
-	  done;) | sort; \
-	 echo; \
-	 echo '#endif	/* gnu/lib-names.h */';) > ${@:stmp=T}
+	$(AWK) -f $^ > ${@:stmp=T}
 	$(move-if-change) ${@:stmp=T} ${@:stmp=h}
 	touch $@
 endif