2002-03-14 Roland McGrath <roland@frob.com>
authorRoland McGrath <roland@gnu.org>
Thu, 14 Mar 2002 23:32:50 +0000 (23:32 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 14 Mar 2002 23:32:50 +0000 (23:32 +0000)
* Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h.
* Makeconfig (%.v.i, %.v): New implicit rules.
(preprocess-versions): Variable removed.
($(common-objpfx)shlib-versions.v.i): New target giving just the
shlib-versions input files as dependencies.
($(common-objpfx)soversions.i): Depend on that instead of the input
files.  Use it as input instead of using a pipeline.
(postclean-generated): Append soversions.i, shlib-versions.v, and
shlib-versions.v.i here.
* Makerules ($(common-objpfx)Versions.def.v.i): New target giving just
the Versions.def input files as dependencies.
($(common-objpfx)Versions.v.i): Likewise for Versions files.
($(common-objpfx)Versions.all): Depend on that instead of the input
files.  Use it as input instead of using a pipeline.
($(common-objpfx)sysd-versions): Likewise with Versions.v.i.
(postclean-generated): Append those .v and .v.i files here.

Makerules

index ac1bdb7..fc4f2b7 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999, 2000,2001 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999,2000,01,02 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -263,35 +263,39 @@ ifeq ($(versioning),yes)
 -include $(common-objpfx)sysd-versions
 $(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
 common-generated += $(version-maps)
-postclean-generated += sysd-versions Versions.all abi-versions.h
+postclean-generated += sysd-versions Versions.all abi-versions.h \
+                      Versions.def.v.i Versions.def.v Versions.v.i Versions.v
 
 ifndef avoid-generated
 ifneq ($(sysd-versions-subdirs),$(all-subdirs) $(config-sysdirs))
 sysd-versions-force = FORCE
 FORCE:
 endif
+# See %.v/%.v.i implicit rules in Makeconfig.
+$(common-objpfx)Versions.def.v.i: $(..)Versions.def \
+                                 $(wildcard $(add-ons:%=$(..)%/Versions.def))
 $(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
                              $(common-objpfx)soversions.i \
-                             $(..)Versions.def \
-                             $(wildcard $(add-ons:%=$(..)%/Versions.def))
+                             $(common-objpfx)Versions.def.v
        { while read lib version setname; do \
            test -z "$$setname" || echo "$$lib : $$setname"; \
          done < $(word 2,$^); \
-         cat $(filter-out $< $(word 2,$^),$^) \
-         | $(preprocess-versions); \
+         cat $(word 3,$^); \
        } | LC_ALL=C $(AWK) -f $< > $@T
        mv -f $@T $@
+# See %.v/%.v.i implicit rules in Makeconfig.
+$(common-objpfx)Versions.v.i: $(wildcard $(all-subdirs:%=$(..)%/Versions)) \
+                             $(wildcard $(sysdirs:%=%/Versions)) \
+                             $(common-objpfx)abi-versions.h \
+                             $(sysd-versions-force)
 $(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \
-                              $(..)scripts/versions.awk \
-                              $(wildcard $(all-subdirs:%=$(..)%/Versions)) \
-                              $(wildcard $(sysdirs:%=%/Versions)) \
-                              $(sysd-versions-force)
+                              $(common-objpfx)Versions.v \
+                              $(..)scripts/versions.awk
        ( echo 'sysd-versions-subdirs = $(all-subdirs) $(config-sysdirs)' ; \
-         cat $(filter-out $< $(word 2,$^) $(sysd-versions-force),$^) \
-         | $(preprocess-versions) \
+         cat $(word 2,$^) \
          | LC_ALL=C $(AWK) -v buildroot=$(common-objpfx) -v defsfile=$< \
                            -v move_if_change='$(move-if-change)' \
-                           -f $(word 2,$^); \
+                           -f $(word 3,$^); \
        ) > $@T
        mv -f $@T $@
 endif # avoid-generated
@@ -519,8 +523,10 @@ LDFLAGS-c.so = -nostdlib -nostartfiles
 LDLIBS-c.so += $(gnulib)
 # Give libc.so an entry point and make it directly runnable itself.
 LDFLAGS-c.so += -e __libc_main
+ifeq ($(unwind-find-fde),yes)
 # Force the backward compatibility EH functions to be linked.
 LDFLAGS-c.so += -u __register_frame
+endif
 # Pre-link the objects of libc_pic.a so that we can locally resolve
 # COMMON symbols before we link against ld.so.  This is because ld.so
 # contains some of libc_pic.a already, which will prevent the COMMONs