1998-11-19  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Add comment to all-subdirs definition.
	Add rule to generate sysd-sorted.  Include this file and and set
	subdirs value to $(sorted-subdirs).
	* scripts/gen-sorted.awk: New file.
	* Make-dist (+tsrcs): Add Depend.
	* nscd/Depend: New file.
	* nss/Depend: New file.
	* rt/Depend: New file.

	* manual/errno.texi> Change the short text for ENODEV to
	"No such device".
This commit is contained in:
Ulrich Drepper 1998-11-19 11:23:37 +00:00
parent 97dac76c11
commit bb41a976a3
7 changed files with 95 additions and 4 deletions

View File

@ -1,3 +1,14 @@
1998-11-19 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig: Add comment to all-subdirs definition.
Add rule to generate sysd-sorted. Include this file and and set
subdirs value to $(sorted-subdirs).
* scripts/gen-sorted.awk: New file.
* Make-dist (+tsrcs): Add Depend.
* nscd/Depend: New file.
* nss/Depend: New file.
* rt/Depend: New file.
1998-11-18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/bsd/poll.c (__poll): Add code to extend sets if any
@ -15,6 +26,9 @@
* io/Makefile (CFLAGS-ftw.c): Removed.
* manual/errno.texi> Change the short text for ENODEV to
"No such device".
1998-11-18 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* io/Makefile (tests): Make sure that the test program has an

View File

@ -147,7 +147,7 @@ ifdef subdir
foo:=$(shell echo subdir foo >&2)
+tsrcs := Makefile $(wildcard Versions) $(+tsrcs) \
+tsrcs := Makefile $(wildcard Versions) $(wildcard Depend) $(+tsrcs) \
$(addsuffix .c,$(others) $(tests) $(tests-static) $(test-srcs)) \
$(wildcard $(addsuffix .input,$(tests) (tests-static) $(test-srcs)) \
$(addsuffix .args,$(tests) $(tests-static) $(test-srcs)))

View File

@ -750,7 +750,10 @@ sysdep-subdirs := $(subst $(\n), ,$(sysdep-subdirs))
sysdep-inhibit-subdirs := $(subst $(\n), ,$(sysdep-inhibit-subdirs))
endif
# These are the subdirectories containing the library source.
# These are the subdirectories containing the library source. The order
# is more or less arbitrary. The sorting step will take care of the
# dependencies. Only the $(binfmt-subdir) should always be kept at the
# end of the list.
all-subdirs = csu assert ctype db db2 locale intl catgets math setjmp signal\
stdlib stdio-common $(stdio) malloc string wcsmbs time dirent \
grp pwd posix io termios resource misc socket sysvipc gmon \
@ -758,7 +761,9 @@ all-subdirs = csu assert ctype db db2 locale intl catgets math setjmp signal\
$(add-ons) nss localedata timezone rt debug $(sysdep-subdirs) \
$(binfmt-subdir)
all-subdirs := $(filter-out $(sysdep-inhibit-subdirs),$(all-subdirs))
subdirs = $(all-subdirs)
-include $(common-objpfx)sysd-sorted
subdirs = $(sorted-subdirs)
# The mach and hurd subdirectories have many generated header files which
# much of the rest of the library depends on, so it is best to build them
@ -775,10 +780,27 @@ $(common-objpfx)sysd-dirs: $(common-objpfx)config.make $(all-Subdirs-files)
sed 's/[#-].*$$//' $(all-Subdirs-files) /dev/null; \
echo endef; \
echo define sysdep-inhibit-subdirs; \
sed '/-.*$$/!d;s/^-//' $(all-Subdirs-files) /dev/null; \
sed '/-.*$$/!d;s/^-//' $(all-Subdirs-files) /dev/null; \
echo endef; \
echo 'sysd-dirs-done = t'; \
) > $@-tmp
mv -f $@-tmp $@
all-Depend-files = $(wildcard $(..)*/Depend)
$(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \
$(common-objpfx)sysd-dirs $(..)Makeconfig
(if test "$(all-Depend-files)"; then \
for f in $(all-Depend-files); do \
dir=$${f%%/*}; \
while read on; do \
echo "depend $$dir $$on"; \
done < $$f; \
done; \
fi; \
for f in $(all-subdirs); do \
echo $$f; \
done \
) | $(AWK) -f $(..)scripts/gen-sorted.awk > $@-tmp
mv -f $@-tmp $@
endif # Makeconfig not yet included

1
nscd/Depend Normal file
View File

@ -0,0 +1 @@
linuxthreads

1
nss/Depend Normal file
View File

@ -0,0 +1 @@
db2

1
rt/Depend Normal file
View File

@ -0,0 +1 @@
linuxthreads

52
scripts/gen-sorted.awk Executable file
View File

@ -0,0 +1,52 @@
#! /usr/bin/awk -f
# Generate sorted list of directories. The sorting is stable but with
# dependencies between directories resolved by moving dependees in front.
# (C) Copyright 1998 Free Software Foundation, Inc.
# Written by Ulrich Drepper <drepper@cygnus.com>, 1998.
BEGIN {
cnt = 0
dnt = 0
}
{
if ($1 ~ /depend/) {
from[dnt] = $2
to[dnt] = $3
++dnt
} else {
all[cnt++] = $1
}
}
END {
do {
moved = 0
for (i = 0; i < dnt; ++i) {
for (j = 0; j < cnt; ++j) {
if (all[j] == from[i]) {
for (k = j + 1; k < cnt; ++k) {
if (all[k] == to[i]) {
break;
}
}
if (k < cnt) {
for (l = k - 1; l >= j; --l) {
all[l + 1] = all[l]
}
all[j] = to[i]
break;
}
}
}
if (j < cnt) {
moved = 1
break
}
}
} while (moved)
printf "sorted-subdirs = "
for (i = 0; i < cnt; ++i) {
printf "%s ", all[i];
}
printf "\n"
}