1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
/* Copy config.h-dist to config.h and edit config.h, don't edit this file */
/*
* Configuration parameters for rc. Suggested defaults are at the bottom
* of this file (you should probably look at those first to see if your
* system matches one of them; you can search for the beginning of the
* defaults section by looking for the string "#ifndef CUSTOM"). If you
* want to override the suggested defaults, define the macro CUSTOM.
#define CUSTOM
*/
/*
* (Note that certain default settings redefine this macro)
* DEFAULTPATH the default search path that rc uses when it is started
* without either a $PATH or $path environment variable. You must pick
* something sensible for your system if you don't like the path shown
* below.
*/
#define DEFAULTPATH "/usr/ucb", "/usr/bin", "/bin", "."
/*
* Define the macro NODIRENT if your system has <sys/dir.h> but not
* <dirent.h>. (e.g., NeXT-OS and RISCos)
#define NODIRENT
*/
/*
* Define the macro SVSIGS if your system has System V signal semantics,
* i.e., if "slow" system calls are interrupted rather than resumed
* after returning from an interrupt handler. (If you are not sure what
* this means, see the man page for signal(2). In any case, it is probably
* safe to leave this macro undefined.)
#define SVSIGS
*/
/*
* Define the macro NOCMDARG if you do not have /dev/fd or fifos on your
* system. You may also want to define this if you have broken fifos.
#define NOCMDARG
*/
/*
* Define TMPDIR if you need to have rc create its fifos in a directory
* other than /tmp. For example, if you have a Sun with /tmp mounted
* as a ramdisk (type "tmpfs") then you cannot use fifos in /tmp (sigh).
#define TMPDIR "/var/tmp"
*/
/*
* Define the macro DEVFD if your system supports /dev/fd.
#define DEVFD
*/
/*
* Define the macro NOLIMITS if your system does not support Berkeley
* limits.
#define NOLIMITS
*/
/*
* Define the macro NOSIGCLD if your system uses SIGCLD in the System
* V way. (e.g., sgi's Irix)
#define NOSIGCLD
*/
/*
* Define the macro READLINE if you want rc to call GNU readline
* instead of read(2) on interactive shells.
#define READLINE
*/
/*
* Define the macro NOEXECVE if your Unix does not interpret #! in the
* kernel, and uncomment the EXECVE variable in the Makefile.
#define NOEXECVE
*/
/*
* If you want rc to default to some interpreter for files which don't
* have a legal #! on the first line, define the macro DEFAULTINTERP.
#define DEFAULTINTERP "/bin/sh"
*/
/*
* If your /bin/sh (or another program you care about) rejects environment
* variables with special characters in them (such as ':' or '-'), rc can
* put out ugly variable names using [_0-9a-zA-Z] that encode the real name;
* define PROTECT_ENV for this hack. (Known offenders: every sh I have tried;
* SunOS (silently discards), NeXT (aborts with error), SGI (aborts with
* error), Ultrix (sh seems to work, sh5 aborts with error))
#define PROTECT_ENV
*/
/*
* Define the macro NOECHO if you wish to omit rc's echo builtin from the
* compile.
#define NOECHO
*/
/*
* Define the NOJOB if you do *not* wish rc to perform backgrounding
* as if it were a job-control shell; that is, if you do *not* wish
* it to put a command spawned in the background into a new process
* group. Since most systems support job control and since there are
* many broken programs that do not behave correctly when backgrounded
* in a v7 non-job-control fashion, rc by default performs a job-
* control-like backgrounding.
#define NOJOB
*/
/* Beginning of defaults section: */
#ifndef CUSTOM
/*
* Suggested settings for Sun, NeXT and sgi (machines here at TAMU):
*/
#ifdef NeXT /* Used on NextOS 2.1 */
#define NODIRENT
#define PROTECT_ENV
#define NOCMDARG
#endif
#ifdef sgi /* Used on Irix 3.3.[12] */
#define SVSIGS
#define NOSIGCLD
#define PROTECT_ENV
#undef DEFAULTPATH
#define DEFAULTPATH "/usr/bsd", "/usr/sbin", "/usr/bin", "/bin", "."
#endif
#ifdef sun /* Used on SunOS 4.1.1 */
#define PROTECT_ENV
#undef DEFAULTPATH
#define DEFAULTPATH "/usr/ucb", "/usr/bin", "."
#endif
/*
* Suggested settings for HP300 running 4.3BSD-utah (DWS):
*/
#if defined(hp300) && !defined(hpux)
#define NODIRENT
#define NOCMDARG
#define DEFAULTINTERP "/bin/sh"
#define PROTECT_ENV
#endif
/*
* Suggested settings for Ultrix
*/
#ifdef ultrix
#define PROTECT_ENV
#define DEFAULTINTERP "/bin/sh" /* so /bin/true can work */
#endif
/*
* Suggested settings for RISCos 4.52
*/
/*
This doesn't work without interfering with other MIPS-based
systems' configuration. Please do it by hand.
*/
#if defined(host_mips) && defined(MIPSEB) && defined(SYSTYPE_BSD43)
#define NODIRENT
#define PROTECT_ENV
#endif
/*
* Suggested settings for AIX
*/
#ifdef _AIX
#define PROTECT_ENV
#endif
/*
* Suggested settings for OSF/1 1.0
*/
#ifdef OSF1
#define PROTECT_ENV
#endif
/*
* Suggested settings for Unicos XXX
*/
#ifdef cray
#define PROTECT_ENV
#define NOLIMITS
#define word _word
#define DEFAULTINTERP "/bin/sh"
#endif
#endif /* CUSTOM */
#ifndef TMPDIR
#define TMPDIR "/tmp"
#endif
|