mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
hurd: Rework generating errno.h
We only need to give to gawk the headers that actually define error numbers, so let's rather filter out the other included headers early.
This commit is contained in:
parent
41d8c3bc33
commit
53850f044f
3 changed files with 19 additions and 41 deletions
|
@ -66,26 +66,32 @@ errno.texinfo = $(..)manual/errno.texi
|
|||
|
||||
hurd = $(..)sysdeps/mach/hurd
|
||||
|
||||
define mach-errno-h
|
||||
($(foreach h,mach/message.h \
|
||||
mach-errno-h = \
|
||||
mach/message.h \
|
||||
mach/kern_return.h \
|
||||
mach/mig_errors.h \
|
||||
device/device_types.h,\
|
||||
echo '#include <$h>';\
|
||||
))
|
||||
endef
|
||||
device/device_types.h
|
||||
|
||||
# We use the compiler to generate a list of absolute file names for
|
||||
# the headers we want to search for Mach error codes, listed above (and
|
||||
# incidentally, all other headers those include).
|
||||
-include $(common-objpfx)errnos.d
|
||||
$(common-objpfx)errnos.d: $(mach-errnos-deps)
|
||||
$(mach-errno-h) | \
|
||||
$(CC) $(CFLAGS) \
|
||||
$(subst -include $(common-objpfx)libc-modules.h,,$(CPPFLAGS)) \
|
||||
-M -x c - | \
|
||||
sed $(sed-remove-objpfx) -e 's,- *:,mach-errnos-deps :=,' \
|
||||
-e 's, \.\./, $(..),g' > $@t
|
||||
echo -n "mach-errnos-deps := " > $@t
|
||||
for h in $(mach-errno-h) ; do \
|
||||
echo "#include <$$h>" \
|
||||
| $(CC) $(CFLAGS) \
|
||||
$(subst -include $(common-objpfx)libc-modules.h,,$(CPPFLAGS)) \
|
||||
-M -x c - \
|
||||
| sed $(sed-remove-objpfx) \
|
||||
-e 's, \.\./, $(..),g' \
|
||||
-e 's,\\$$,,g' \
|
||||
-e 's, ,\n,g' \
|
||||
| grep "$$h$$" \
|
||||
| tr '\n' ' ' \
|
||||
>> $@t ; \
|
||||
done
|
||||
echo >> $@t
|
||||
mv -f $@t $@
|
||||
|
||||
$(hurd)/bits/errno.h: $(common-objpfx)stamp-errnos ;
|
||||
|
|
|
@ -1,33 +1,9 @@
|
|||
/* This file generated by errnos.awk from
|
||||
errno.texi
|
||||
stdc-predef.h
|
||||
libc-symbols.h
|
||||
mach/message.h
|
||||
mach/kern_return.h
|
||||
mach/port.h
|
||||
mach/boolean.h
|
||||
stdint.h
|
||||
../stdlib/stdint.h
|
||||
../bits/libc-header-start.h
|
||||
features.h
|
||||
features-time64.h
|
||||
../sysdeps/generic/features-time64.h
|
||||
sys/cdefs.h
|
||||
../misc/sys/cdefs.h
|
||||
../sysdeps/x86/bits/wordsize.h
|
||||
../sysdeps/ieee754/ldbl-96/bits/long-double.h
|
||||
gnu/stubs.h
|
||||
bits/types.h
|
||||
../posix/bits/types.h
|
||||
../sysdeps/mach/hurd/bits/timesize.h
|
||||
../sysdeps/mach/hurd/bits/typesizes.h
|
||||
../bits/time64.h
|
||||
../bits/wchar.h
|
||||
../bits/stdint-intn.h
|
||||
../bits/stdint-uintn.h
|
||||
mach/mig_errors.h
|
||||
device/device_types.h
|
||||
mach/std_types.h
|
||||
Do not edit this file; edit errnos.awk and regenerate it. */
|
||||
|
||||
#ifndef _BITS_ERRNO_H
|
||||
|
|
|
@ -23,12 +23,8 @@ BEGIN {
|
|||
for (i = 1; i < ARGC; i++)
|
||||
{
|
||||
arg = ARGV[i];
|
||||
sub(/.*(manual|include)\//, "", arg);
|
||||
sub(/.*(manual|include|-gnu)\//, "", arg);
|
||||
if (arg ~ /.*errnos.d/) continue;
|
||||
# Those not not actually define anything for errno.h
|
||||
if (arg ~ /mach\/.*\/kern_return.h/) continue;
|
||||
if (arg ~ /mach\/.*\/boolean.h/) continue;
|
||||
if (arg ~ /mach\/.*\/vm_types.h/) continue;
|
||||
print " " arg;
|
||||
}
|
||||
print " Do not edit this file; edit errnos.awk and regenerate it. */";
|
||||
|
|
Loading…
Add table
Reference in a new issue