1 # Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
4 # The GNU C Library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Library General Public License
6 # as published by the Free Software Foundation; either version 2 of
7 # the License, or (at your option) any later version.
9 # The GNU C Library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Library General Public License for more details.
14 # You should have received a copy of the GNU Library General Public
15 # License along with the GNU C Library; see the file COPYING.LIB. If
16 # not, write to the Free Software Foundation, Inc., 675 Mass Ave,
17 # Cambridge, MA 02139, USA.
19 # errno.texinfo contains lines like:
21 # @comment POSIX.1: Function not implemented
22 # @deftypevr Macro int ENOSYS
26 print "/* This file is generated from errno.texi by errlist.awk. */"
28 print "#ifndef HAVE_GNU_LD"
29 print "#define _sys_nerr sys_nerr"
30 print "#define _sys_errlist sys_errlist"
33 print "const char *_sys_errlist[] =";
38 $
1 ==
"@comment" && $
2 ==
"errno.h" { errnoh=
1; next }
39 errnoh ==
1 && $
1 ==
"@comment" \
43 for (i =
4; i
<=
NF; ++i
)
47 errnoh ==
2 && $
1 ==
"@deftypevr" && $
2 ==
"Macro" && $
3 ==
"int" \
49 e = $
4; errnoh
++; next;
51 errnoh ==
3 && $
1 ==
"@comment" && $
2 ==
"errno" \
56 if (errno > maxerrno
) maxerrno =
errno;
61 for (i =
1; i
<= maxerrno
; ++i
)
64 print " \"Reserved error " i
"\",";
66 printf "%-40s/* %d = %s */\n", " \"" msgs
[i
] "\",", i
, names
[i
];
70 print "#include <errno.h>";
71 printf "#if _HURD_ERRNOS != %d\n", maxerrno
+1;
72 print "#error errlist/errnos generation bug";
74 printf "const int _sys_nerr = %d;\n", maxerrno
+1;
75 print "weak_alias (_sys_errlist, sys_errlist)"
76 print "weak_alias (_sys_nerr, sys_nerr)"