Mercurial > hg > octave-kai > gnulib-hg
annotate lib/gen-uio @ 3523:cbdd97be643e
(USE_UNLOCKED_IO): Define to 1 if not already defined.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Wed, 26 Sep 2001 08:27:42 +0000 |
parents | 9f9c75a46e41 |
children |
rev | line source |
---|---|
3517 | 1 #!/bin/sh |
2 | |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
3 fail=0 |
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
4 cat <<\EOF || fail=1 |
3517 | 5 #ifndef UNLOCKED_IO_H |
6 # define UNLOCKED_IO_H 1 | |
7 | |
3523
cbdd97be643e
(USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents:
3520
diff
changeset
|
8 # ifndef USE_UNLOCKED_IO |
cbdd97be643e
(USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents:
3520
diff
changeset
|
9 # define USE_UNLOCKED_IO 1 |
cbdd97be643e
(USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents:
3520
diff
changeset
|
10 # endif |
cbdd97be643e
(USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents:
3520
diff
changeset
|
11 |
3517 | 12 # if USE_UNLOCKED_IO |
13 | |
14 /* These are wrappers for functions/macros from GNU libc. | |
3518 | 15 The standard I/O functions are thread-safe. These *_unlocked ones are |
16 more efficient but not thread-safe. That they're not thread-safe is | |
17 fine since all of the applications in this package are single threaded. */ | |
3517 | 18 |
19 EOF | |
20 | |
21 for f in $@; do | |
22 u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` | |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
23 cat <<EOF || fail=1 |
3518 | 24 # if HAVE_${u}_UNLOCKED |
25 # undef $f | |
26 EOF | |
3517 | 27 case $f in |
28 getchar) | |
29 params=;; | |
30 putchar | clearerr | feof | ferror | fflush | getc ) | |
31 params=x;; | |
32 putc | fputc | fputs ) | |
33 params=x,y;; | |
34 fgets ) | |
35 params=x,y,z;; | |
36 fread | fwrite ) | |
37 params=w,x,y,z;; | |
38 *) | |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
39 echo $0: missing case for $f 2>&1; fail=1;; |
3517 | 40 esac |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
41 cat <<EOF || fail=1 |
3518 | 42 # define $f($params) ${f}_unlocked ($params) |
43 # endif | |
44 EOF | |
3517 | 45 done |
46 | |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
47 cat <<\EOF || fail=1 |
3517 | 48 |
49 # endif /* USE_UNLOCKED_IO */ | |
50 #endif /* UNLOCKED_IO_H */ | |
51 EOF | |
3518 | 52 |
3519
31b2363641c0
exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents:
3518
diff
changeset
|
53 (exit $fail); exit |