Raymond Toy pushed to branch issue-386-generate-def-unix-error at cmucl / cmucl
Commits:
-
5611669b
by Raymond Toy at 2025-02-27T18:34:54-08:00
3 changed files:
Changes:
... | ... | @@ -157,14 +157,8 @@ buildit () |
157 | 157 | fi
|
158 | 158 | }
|
159 | 159 | |
160 | -# Create src/code/errno.lisp by reading the errno definitions from the
|
|
161 | -# header files.
|
|
162 | -case `uname -s` in
|
|
163 | - Linux) ERRNO_FILES=/usr/include/asm-generic/errno*.h
|
|
164 | - ;;
|
|
165 | -esac
|
|
166 | - |
|
167 | -bin/create-errno.sh ${ERRNO_FILES} > src/code/errno.lisp
|
|
160 | +# Create the errno file containing all the def-unix-error forms.
|
|
161 | +bin/create-errno.sh
|
|
168 | 162 | |
169 | 163 | BUILDWORLD="$TOOLDIR/build-world.sh"
|
170 | 164 | BUILD_POT="yes"
|
... | ... | @@ -5,11 +5,14 @@ |
5 | 5 | # definitions of all the Unix errno values.
|
6 | 6 | #
|
7 | 7 | |
8 | +# Where the output should go.
|
|
9 | +OUTPUT="src/code/errno.lisp"
|
|
10 | + |
|
8 | 11 | # The header was copied from code/unix.lisp. This includes all the
|
9 | 12 | # support code for DEF-UNIX-ERROR and for all OSes that don't use the
|
10 | 13 | # awk script to create the DEF-UNIX-ERROR forms.
|
11 | 14 | #
|
12 | -cat <<EOF
|
|
15 | +cat > $OUTPUT <<EOF
|
|
13 | 16 | ;;; -*- Package: ERRNO -*-
|
14 | 17 | ;;;
|
15 | 18 | ;;; **********************************************************************
|
... | ... | @@ -51,7 +54,11 @@ cat <<EOF |
51 | 54 | (declaim (simple-vector *unix-errors*)))))
|
52 | 55 | |
53 | 56 | ) ;eval-when
|
57 | +EOF
|
|
54 | 58 | |
59 | +# Output the default def-unix-error forms for the OSes where we don't
|
|
60 | +# grovel the include files to get the errno definitions.
|
|
61 | +cat >> $OUTPUT <<EOF
|
|
55 | 62 | ;;;
|
56 | 63 | ;;; From <errno.h>
|
57 | 64 | ;;;
|
... | ... | @@ -249,13 +256,20 @@ EOF |
249 | 256 | |
250 | 257 | # Create appropriate DEF-UNIX-ERROR forms by reading header files
|
251 | 258 | # containing the C definitions.
|
259 | + |
|
260 | +# Set ERRNO_FILES to the files where we can find errno definitions.
|
|
261 | +case `uname -s` in
|
|
262 | + Linux) ERRNO_FILES=/usr/include/asm-generic/errno*.h
|
|
263 | + ;;
|
|
264 | +esac
|
|
265 | + |
|
252 | 266 | awk '/^#define[ \t]+(E[A-Z0-9]+)[ \t]+([A-Z0-9]+).*$/ {
|
253 | 267 | printf "(def-unix-error %s %s)\n", $2, $3;
|
254 | -}' "$@"
|
|
268 | +}' "$@" ${ERRNO_FILES} >> $OUTPUT
|
|
255 | 269 | |
256 | 270 | # The tail was also copied from code/unix.lisp. It's needed to tell
|
257 | 271 | # Lisp about the errno values.
|
258 | -cat <<EOF
|
|
272 | +cat >>$OUTPUT <<EOF
|
|
259 | 273 | ;;; End auto-generated forms, if any.
|
260 | 274 | |
261 | 275 | ;;;
|
... | ... | @@ -84,13 +84,8 @@ then |
84 | 84 | sed "s:^src:$CROSS:g" | xargs mkdir
|
85 | 85 | fi
|
86 | 86 | |
87 | -# Create unix-errno.lisp
|
|
88 | -case `uname -s` in
|
|
89 | - Linux) ERRNO_FILES=/usr/include/asm-generic/errno*.h
|
|
90 | - ;;
|
|
91 | -esac
|
|
92 | - |
|
93 | -bin/create-errno.sh ${ERRNO_FILES} > src/code/errno.lisp
|
|
87 | +# Create the errno file containing all the def-unix-error forms.
|
|
88 | +bin/create-errno.sh
|
|
94 | 89 | |
95 | 90 | echo cross boot = $CROSSBOOT
|
96 | 91 | $LISP "$@" -noinit -nositeinit <<EOF
|