about summary refs log tree commit diff
path: root/Makeconfig
diff options
context:
space:
mode:
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig12
1 files changed, 10 insertions, 2 deletions
diff --git a/Makeconfig b/Makeconfig
index 306053241d..4c3a4e344c 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -792,8 +792,10 @@ $(common-objpfx)soversions.i: $(..)scripts/soversions.awk \
 	       -v os='$(config-os)' \
 	       -f $^ > $@T
 	mv -f $@T $@
-$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
-	(while read which lib number setname; do \
+$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i $(..)Makeconfig
+	(seen_DEFAULT=0; seen_WORDSIZE32=0; seen_WORDSIZE64=0; \
+	 while read which lib number setname; do \
+	   eval seen_$$which=1; \
 	   test x"$$which" = xDEFAULT || continue; \
 	   case $$number in \
 	     [0-9]*) echo "$$lib.so-version=.$$number"; \
@@ -802,6 +804,12 @@ $(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
 		     echo "all-sonames+=$$lib=\$$($$lib.so-version)";;\
 	   esac; \
 	 done; \
+	 case "$$seen_DEFAULT$$seen_WORDSIZE32$$seen_WORDSIZE64" in \
+	   100) echo biarch = no;; \
+	   101) echo biarch = 32;; \
+	   ?1?) echo biarch = 64;; \
+	   *) echo >&2 BUG; exit 2;; \
+	 esac; \
 	 echo soversions.mk-done = t;) < $< > $@T; exit 0
 	mv -f $@T $@
 endif