From 882688521994c2329242212a61dd2a7c44eadbc6 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 19 Mar 2000 00:33:02 +0000 Subject: [PATCH] * Makeconfig (soversions.mk): Convert % -> # in shlib-versions after stripping # comments, and then run it through cpp. This allows things like "%ifdef FOO" based on config.h settings. * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): libc=0.2.90.libio --- ChangeLog | 5 +++++ Makeconfig | 4 +++- shlib-versions | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0dc9fbe718..d8efcb08e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2000-03-18 Roland McGrath + * Makeconfig (soversions.mk): Convert % -> # in shlib-versions + after stripping # comments, and then run it through cpp. + This allows things like "%ifdef FOO" based on config.h settings. + * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): libc=0.2.90.libio + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): For MACH_SEND_INTERRUPTED and other errors that indicate a pseudo-receive happened, grok through the message buffer for port rights that need references fixed up. diff --git a/Makeconfig b/Makeconfig index 6d87892d74..de1b1b186a 100644 --- a/Makeconfig +++ b/Makeconfig @@ -685,7 +685,9 @@ $(common-objpfx)soversions.mk: $(..)shlib-versions $(..)Makeconfig \ $(wildcard $(patsubst %,$(..)%/shlib-versions,$(subdirs))) \ $(..)shlib-versions"; \ for f in $$file; do \ - sed 's/#.*$$//' $$f | while read conf versions; do \ + sed 's/#.*$$//;s/^[ ]*%/#/' $$f \ + | $(CC) -include $(common-objpfx)config.h -E -x c - \ + | while read conf versions; do \ test -n "$$versions" && \ test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \ : "$$conf"` != 0 || continue; \ diff --git a/shlib-versions b/shlib-versions index 565d8e4c9b..abf2fd49de 100644 --- a/shlib-versions +++ b/shlib-versions @@ -5,6 +5,9 @@ # list is processed, with earlier entries taking precedence over later # entries. So loose patterns at the end of the list can give defaults. +# This file can use cpp-style conditionals starting with % instead of # +# to test the symbols defined in config.h by configure. + # Configuration Library versions # ------------- ------- -------- @@ -29,7 +32,11 @@ alpha.*-.*-linux.* libc=6.1 .*-.*-gnu-gnu* libhurduser=0.0 # libc.so.0.2 is for the Hurd alpha release 0.2. +%ifdef USE_IN_LIBIO /* experimental only! */ +.*-.*-gnu-gnu* libc=0.2.90.libio +%else .*-.*-gnu-gnu* libc=0.2 +%endif # The dynamic loader also requires different names. i.86-.*-linux.* ld=ld-linux.so.2