about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Make-dist4
-rw-r--r--Makeconfig4
-rw-r--r--configure.in9
4 files changed, 18 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index e16a548046..36ffea46e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Mon Jun 17 19:09:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* Make-dist (+sysdeps): Move wildcard inside loop to avoid consing
+	up a huge list just to discard most of it.
+
+	* configure.in (sysnames): Avoid fgrep by using the case shell
+	builtin.
+
+	* Makeconfig (config.status): Fix dependency on Implies files.
+
 Wed Jun 19 01:27:57 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
 
 	* math/Makefile (distribute): Add ieee-math.c.
diff --git a/Make-dist b/Make-dist
index 457c9acc96..c511122a77 100644
--- a/Make-dist
+++ b/Make-dist
@@ -93,8 +93,8 @@ vpath % $(subdir-dirs)
 endif
 
 # Now find all the sysdep versions of those files.
-+sysdeps := $(wildcard $(foreach dir,$(sysdep_dirs) $(source_dirs),\
-				 $(addprefix $(dir)/, \
++sysdeps := $(foreach dir,$(sysdep_dirs) $(source_dirs),\
+		      $(wildcard $(addprefix $(dir)/, \
 					     $(+sysdep-names) \
 					     $(+sysdep-names:.c=.s) \
 					     $(+sysdep-names:.c=.S) \
diff --git a/Makeconfig b/Makeconfig
index a254e9d824..3d7989086d 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -94,9 +94,11 @@ $(common-objpfx)config.make: $(common-objpfx)config.status $(..)config.h.in
 # configure when any of them changes.
 $(common-objpfx)config.status: $(..)configure \
 			       $(foreach dir,$(config-sysdirs),\
+					 $(wildcard \
+					   $(sysdep_dir)/$(dir)/Implies) \
 					 $(patsubst %.in,%,\
 						    $(firstword $(wildcard \
- $(addprefix $(sysdep_dir)/$(dir)/,configure configure.in Implies)))))
+ $(addprefix $(sysdep_dir)/$(dir)/,configure configure.in)))))
 	@cd $(@D); if test -f $(@F); then exec $(SHELL) $(@F) --recheck; else \
 	 echo The GNU C library has not been configured. >&2; \
 	 echo Run \`configure\' to configure it before building. >&2; \
diff --git a/configure.in b/configure.in
index e8e9121efd..38efc2edea 100644
--- a/configure.in
+++ b/configure.in
@@ -233,15 +233,15 @@ sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`"
 # Expand the list of system names into a full list of directories
 # from each element's parent name and Implies file (if present).
 set $sysnames
-names= seen=
+names=
 while test $# -gt 0; do
   name=$1
   shift
 
-  if echo "$seen" | fgrep -x $name >/dev/null; then
+  case " $names " in *" $name "*)
     # Already in the list.
     continue
-  fi
+  esac
 
   # Report each name as we discover it, so there is no long pause in output.
   echo $ac_n "$name $ac_c" >&AC_FD_MSG
@@ -260,9 +260,6 @@ while test $# -gt 0; do
 
   # Add NAME to the list of names.
   names="$names $name"
-  # We maintain a parallel newline-separated list for the fgrep check above.
-  seen="$seen
-$name"
 
   # Find the parent of NAME, using the empty string if it has none.
 changequote(,)dnl