* csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a
authorRoland McGrath <roland@gnu.org>
Mon, 14 May 2001 23:32:39 +0000 (23:32 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 14 May 2001 23:32:39 +0000 (23:32 +0000)
static pattern rule also that also covers
$(objpx)g$(static-start-installed-name).
[$(start-installed-name) != $(static-start-installed-name)]
(extra-objs, omit-deps, install-lib): Add
$(static-start-installed-name) and g$(static-start-installed-name).
* sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here;
just setting static-start-installed-name is now sufficient.
(extra-objs): Add static-start.o here.
(CFLAGS-initfini.s): Remove obsolete variable.
* sysdeps/mach/hurd/i386/Makeconfig: New file.
Define static-start-installed-name here.

* Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig).
* Make-dist (+sysdep-tsrcs): Look for Makeconfig files.

* Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and
associated hair.  Instead, just use $(wildcard ...) in the include.

* configure.in (critic_missing, aux_missing): Collect in these vars
the names of the missing programs, and include them in the error msgs.
* configure: Regenerated.

ChangeLog
Make-dist
Makeconfig
Makerules
csu/Makefile
sysdeps/mach/hurd/i386/Makeconfig [new file with mode: 0644]
sysdeps/mach/hurd/i386/Makefile

index 825ff5c..6dafea3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2001-05-14  Roland McGrath  <roland@frob.com>
+
+       * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a
+       static pattern rule also that also covers
+       $(objpx)g$(static-start-installed-name).
+       [$(start-installed-name) != $(static-start-installed-name)]
+       (extra-objs, omit-deps, install-lib): Add
+       $(static-start-installed-name) and g$(static-start-installed-name).
+       * sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here;
+       just setting static-start-installed-name is now sufficient.
+       (extra-objs): Add static-start.o here.
+       (CFLAGS-initfini.s): Remove obsolete variable.
+       * sysdeps/mach/hurd/i386/Makeconfig: New file.
+       Define static-start-installed-name here.
+
+       * Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig).
+       * Make-dist (+sysdep-tsrcs): Look for Makeconfig files.
+
+       * Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and
+       associated hair.  Instead, just use $(wildcard ...) in the include.
+
+       * configure.in (critic_missing, aux_missing): Collect in these vars
+       the names of the missing programs, and include them in the error msgs.
+       * configure: Regenerated.
+
 2001-05-14  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests.
index 4ea23b1..d8e5d94 100644 (file)
--- a/Make-dist
+++ b/Make-dist
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999,2000,01 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
@@ -184,9 +184,9 @@ foo:=$(shell echo +sysdep-distfiles='$(+sysdep-distfiles)'>&2)
                $(sysdep-Subdir-files)
 foo:=$(shell echo '+sysdep-dist=$(+sysdep-dist)' >&2)
 
-+sysdep-tsrcs := $(wildcard $(foreach file,Makefile Implies syscalls.list\
++sysdep-tsrcs := $(wildcard $(foreach file,Makefile Makeconfig Implies \
                                           configure configure.in Versions\
-                                          libm-test-ulps,\
+                                          syscalls.list libm-test-ulps,\
                                      $(addsuffix /$(file),$(sysdep_dirs)))) \
                 $(+sysdep-dist)
 
index 6699f0b..996b971 100644 (file)
@@ -879,4 +879,11 @@ $(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \
        mv -f $@-tmp $@
 endif
 
+# Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here.
+sysdep-makeconfigs := $(wildcard $(full_config_sysdirs:=/Makeconfig))
+ifneq (,$(sysdep-makeconfigs))
+include $(sysdep-makeconfigs)
+endif
+
+
 endif # Makeconfig not yet included
index 485b5c0..53d82c0 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -94,28 +94,9 @@ vpath %.x $(subst $(empty) ,:,$(strip $(common-objpfx) $(objpfx) \
 # being included individually by a subdir makefile (hurd/Makefile needs this).
 in-Makerules := yes
 
--include $(+sysdir_pfx)sysd-Makefile
-ifndef avoid-generated
-ifneq ($(sysd-Makefile-sysdirs),$(config-sysdirs))
-sysd-Makefile-force = FORCE
-FORCE:
-endif
-$(+sysdir_pfx)sysd-Makefile: $(+sysdir_pfx)config.make $(..)Makerules \
-                            $(sysd-Makefile-force)
-       -@rm -f $@T
-       (echo 'sysd-Makefile-sysdirs := $(config-sysdirs)';                   \
-        for file in $(config-sysdirs:=/Makefile); do                         \
-          if [ -f $(..)$$file ]; then                                        \
-            echo include "\$$(..)$$file";                                    \
-          else true; fi;                                                     \
-        done;                                                                \
-        echo 'sysd-Makefile-done=t') > $@T
-       mv -f $@T $@
-endif
-
-ifndef sysd-Makefile-done
-# Don't do deps until this exists, because it might change the sources list.
-no_deps=t
+sysdep-makefiles := $(wildcard $(full_config_sysdirs:=/Makefile))
+ifneq (,$(sysdep-makefiles))
+include $(sysdep-makefiles)
 endif
 
 
@@ -230,10 +211,6 @@ endef
 close-check-inhibit-asm = ;; esac ;
 endif
 
-# Don't include sysd-rules until sysd-Makefile is already there and has been
-# included.  It might define inhibit-sysdep-asm, which would affect the
-# contents of sysd-rules.
-ifdef sysd-Makefile-done
 -include $(+sysdir_pfx)sysd-rules
 ifneq ($(sysd-rules-sysdirs),$(config-sysdirs))
 # The value of $(+sysdep_dirs) the sysd-rules was computed for
@@ -241,7 +218,6 @@ ifneq ($(sysd-rules-sysdirs),$(config-sysdirs))
 sysd-rules-force = FORCE
 FORCE:
 endif
-endif
 $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
                          $(wildcard $(foreach dir,$(sysdirs),\
                                               $(dir)/Makefile))\
index 838e141..2cc93c7 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for csu code for GNU C library.
 
-# Copyright (C) 1995,1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+# Copyright (C) 1995,96,97,98,99,2000,01 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
@@ -48,6 +48,13 @@ extra-objs += b$(start-installed-name)
 install-lib += b$(start-installed-name)
 endif
 
+ifneq ($(start-installed-name),$(static-start-installed-name))
+extra-objs += $(static-start-installed-name) g$(static-start-installed-name)
+omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
+                            g$(static-start-installed-name))
+install-lib += $(static-start-installed-name) g$(static-start-installed-name)
+endif
+
 ifeq (yes,$(elf))
 before-compile += $(objpfx)abi-tag.h
 generated += abi-tag.h
@@ -151,8 +158,9 @@ endif
 # The profiling startfile is made by linking together the normal
 # startfile with gmon-start.o, which defines a constructor function
 # to turn on profiling code at startup.
-$(objpfx)g$(start-installed-name): $(objpfx)$(start-installed-name) \
-                                  $(objpfx)gmon-start.o
+$(addprefix $(objpfx),$(sort g$(start-installed-name) \
+                            g$(static-start-installed-name))): \
+  $(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o
        $(link-relocatable)
 
 # These extra files are sometimes expected by system standard linking
diff --git a/sysdeps/mach/hurd/i386/Makeconfig b/sysdeps/mach/hurd/i386/Makeconfig
new file mode 100644 (file)
index 0000000..1b65bb0
--- /dev/null
@@ -0,0 +1,4 @@
+# We need special startup code for statically linked binaries.
+# See Makefile in this directory for the rule that builds this.
+# We must define this variable earlier than sysdeps Makefiles are included.
+static-start-installed-name = crt0.o
index 335324e..b3c619a 100644 (file)
@@ -1,18 +1,9 @@
-# We need special startup code for statically linked binaries.
-static-start-installed-name = crt0.o
-
 ifeq ($(subdir),csu)
-extra-objs += crt0.o
-install-lib += crt0.o
-omit-deps += crt0
 
+extra-objs += static-start.o
+
+# We need special startup code for statically linked binaries.
 $(objpfx)crt0.o: $(objpfx)static-start.o $(objpfx)abi-note.o $(objpfx)init.o
        $(link-relocatable)
 
-# compat for libc.so.0.2 only
-# This is needed to be backward-compatible with glibc-2.0.x startup code
-# that was miscompiled so that it jumps to 0 if there is a nonzero
-# __gmon_start__ symbol, but works if there is none.
-CFLAGS-initfini.s += -DWEAK_GMON_START
-
 endif