about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/s390-64/Makefile')
-rw-r--r--sysdeps/s390/s390-64/Makefile12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/s390/s390-64/Makefile b/sysdeps/s390/s390-64/Makefile
index 1814f37abd..1dd3acf732 100644
--- a/sysdeps/s390/s390-64/Makefile
+++ b/sysdeps/s390/s390-64/Makefile
@@ -74,5 +74,17 @@ $(objpfx)gconv-modules-s390: gconv-modules $(+force)
 
 $(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules-s390 $(+force)
 	$(do-install)
+ifeq (no,$(cross-compiling))
+# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
+# if this libc has more gconv modules than the previously installed one.
+	if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
+	   LC_ALL=C LANGUAGE=C \
+	   $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
+	   $(common-objpfx)iconv/iconvconfig \
+	     $(addprefix --prefix=,$(install_root)); \
+	fi
+else
+	@echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache'
+endif
 
 endif