This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove trailing whitespace on meta-lines in unit files
[metaconfig.git] / dist / U / d_gethname.U
CommitLineData
33a01fd2 1?RCS: $Id$
d8875586
MBT
2?RCS:
3?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
cf39bd7e 4?RCS:
33a01fd2 5?RCS: You may redistribute only under the terms of the Artistic License,
d8875586
MBT
6?RCS: as specified in the README file that comes with the distribution.
7?RCS: You may reuse parts of this distribution only within the terms of
33a01fd2 8?RCS: that same Artistic License; a copy of which may be found at the root
d8875586
MBT
9?RCS: of the source tree for dist 4.0.
10?RCS:
11?RCS: $Log: d_gethname.U,v $
12?RCS: Revision 3.0.1.1 1994/10/29 16:13:00 ram
33a01fd2 13?RCS: patch36: call ./xenix explicitely instead of relying on PATH
d8875586
MBT
14?RCS:
15?RCS: Revision 3.0 1993/08/18 12:06:11 ram
16?RCS: Baseline for dist 3.0 netwide release.
17?RCS:
18?MAKE:d_gethname d_uname d_phostname aphostname: phostname cat \
19 myhostname package d_portable Loc echo n c +i_whoami +usrinc \
20 Myread Guess Oldconfig Csym
21?MAKE: -pick add $@ %<
22?S:d_gethname:
23?S: This variable conditionally defines the HAS_GETHOSTNAME symbol, which
24?S: indicates to the C program that the gethostname() routine may be
25?S: used to derive the host name.
26?S:.
27?S:d_uname:
28?S: This variable conditionally defines the HAS_UNAME symbol, which
29?S: indicates to the C program that the uname() routine may be
30?S: used to derive the host name.
31?S:.
32?S:d_phostname:
33?S: This variable conditionally defines the PHOSTNAME symbol, which
34?S: contains the shell command which, when fed to popen(), may be
35?S: used to derive the host name.
36?S:.
37?S:aphostname:
38?S: Thie variable contains the command which can be used to compute the
39?S: host name. The command is fully qualified by its absolute path, to make
40?S: it safe when used by a process with super-user privileges.
41?S:.
42?C:HAS_GETHOSTNAME (GETHOSTNAME):
43?C: This symbol, if defined, indicates that the C program may use the
44?C: gethostname() routine to derive the host name. See also HAS_UNAME
45?C: and PHOSTNAME.
46?C:.
47?C:HAS_UNAME (UNAME):
48?C: This symbol, if defined, indicates that the C program may use the
49?C: uname() routine to derive the host name. See also HAS_GETHOSTNAME
50?C: and PHOSTNAME.
51?C:.
52?C:PHOSTNAME:
53?C: This symbol, if defined, indicates that the C program may use the
54?C: contents of PHOSTNAME as a command to feed to the popen() routine
55?C: to derive the host name. See also HAS_GETHOSTNAME and HAS_UNAME.
56?C: Note that the command uses a fully qualified path, so that it is safe
57?C: even if used by a process with super-user privileges.
58?C:.
59?H:#$d_gethname HAS_GETHOSTNAME /**/
60?H:#$d_uname HAS_UNAME /**/
61?H:#$d_phostname PHOSTNAME "$aphostname" /* How to get the host name */
62?H:.
63?T:file val call
64?LINT:change i_whoami
65: see how we will look up host name
66echo " "
67if false; then
68 : dummy stub to allow use of elif
69@if HAS_GETHOSTNAME
70elif set gethostname val -f d_gethname; eval $csym; $val; then
71 echo 'gethostname() found.' >&4
72 d_gethname="$define"
73 call=gethostname
74@end
75@if HAS_UNAME
76elif set uname val -f d_uname; eval $csym; $val; then
77 if ./xenix; then
78 $cat <<'EOM'
79uname() was found, but you're running xenix, and older versions of xenix
80have a broken uname(). If you don't really know whether your xenix is old
81enough to have a broken system call, use the default answer.
82
83EOM
84 dflt=y
85 case "$d_uname" in
86 "$define") dflt=n;;
87 esac
88 rp='Is your uname() broken?'
89 . ./myread
90 case "$ans" in
91 n*) d_uname="$define"; call=uname;;
92 esac
93 else
94 echo 'uname() found.' >&4
95 d_uname="$define"
96 call=uname
97 fi
98@end
99fi
100case "$d_gethname" in
101'') d_gethname="$undef";;
102esac
103case "$d_uname" in
104'') d_uname="$undef";;
105esac
106@if PHOSTNAME || MYHOSTNAME
107case "$d_uname$d_gethname" in
108*define*)
109 dflt=n
110 cat <<EOM
7bfb7bd7 111
d8875586
MBT
112Every now and then someone has a $call() that lies about the hostname
113but can't be fixed for political or economic reasons. If you wish, I can
114@if MYHOSTNAME && PHOSTNAME
115pretend $call() isn't there and maybe compile in the hostname or
116compute it from the '$phostname' command at run-time.
117@elsif MYHOSTNAME
118pretend $call() isn't there and maybe compile in the hostname.
119@elsif PHOSTNAME
120pretend $call() isn't there and maybe compute hostname at run-time
121thanks to the '$phostname' command.
122@elsif WHOAMI
123get the hostname from whomai.h (provided you have one).
124@else
125simply ignore your host name and use someting like "noname" instead.
126@end
127
128EOM
129 rp="Shall I ignore $call() from now on?"
130 . ./myread
131 case "$ans" in
132 y*) d_uname="$undef" d_gethname="$undef"; $echo $n "Okay...$c";;
133 esac;;
134esac
135@end
136@if PHOSTNAME || aphostname
137?X: Compute the full path name for the command
138case "$phostname" in
139'') aphostname='';;
140*) case "$aphostname" in
141 /*) ;;
142 *) set X $phostname
143 shift
144 file=$1
145 shift
146 file=`./loc $file $file $pth`
147 aphostname=`echo $file $*`
148 ;;
149 esac
150 ;;
151esac
152@end
153@if PHOSTNAME && MYHOSTNAME
154case "$d_uname$d_gethname" in
155*define*) ;;
156*)
157 case "$phostname" in
158 '') ;;
159 *)
160 $cat <<EOT
161
162There is no gethostname() or uname() on this system. You have two
163possibilities at this point:
164
1651) You can have your host name ($myhostname) compiled into $package, which
166 lets $package start up faster, but makes your binaries non-portable, or
1672) you can have $package use a
7bfb7bd7 168
d8875586
MBT
169 popen("$aphostname","r")
170
171 which will start slower but be more portable.
172
173@ if WHOAMI
174Option 1 will give you the option of using whoami.h if you have one.
175@ end
176If you want option 2 but with a different command, you can edit config.sh at
177the end of this shell script.
178
179EOT
180 case "$d_phostname" in
181 "$define") dflt=n;;
182 "$undef") dflt=y;;
183 '')
184 case "$d_portable" in
185 "$define") dflt=n ;;
186 *) dflt=y ;;
187 esac;;
188 esac
189 rp="Do you want your host name compiled in?"
190 . ./myread
191 case "$ans" in
192 n*) d_phostname="$define" ;;
193 *) aphostname=''; d_phostname="$undef";;
194 esac;;
195 esac
196 case "$aphostname" in
197 '')
198@ if WHOAMI
199 case "$i_whoami" in
200 "$define")
201 dflt=y
202 $cat <<EOM
7bfb7bd7 203
d8875586
MBT
204No hostname function--you can either use the whoami.h file, which has this line:
205
206 `grep sysname $usrinc/whoami.h`
207
208or you can have the name we came up with earlier ($myhostname) hardwired in.
209EOM
210 rp="Use whoami.h to get hostname?"
211 . ./myread
212 case "$ans" in
213 n*) i_whoami="$undef";;
214 esac
215 ;;
216 "$undef")
217 $cat <<EOM
218No hostname function and no whoami.h -- hardwiring "$myhostname".
219EOM
220 ;;
221 esac;;
222@ else
223 echo 'No hostname function -- hardwiring "'$myhostname'".' >&4;;
224@ end
225 esac;;
226esac
227@elsif PHOSTNAME
228case "$d_uname$d_gethname" in
229*define*) ;;
230*)
231 case "$phostname" in
232 '')
233@ if WHOAMI
234 case "$i_whoami" in
235 "$define")
236 $cat <<EOM
237
238No hostname function--we'll use the whoami.h file, which has this line:
239
240 `grep sysname $usrinc/whoami.h`
241
242EOM
243 ;;
244 *) echo "There will be no way for $package to get your hostname." >&4;;
245 esac;;
246@ else
247 echo "There will be no way for $package to get your hostname." >&4;;
248@ end
249 *)
250 echo "I'll use 'popen("'"'$aphostname'", "r")'"' to get your hostname." >&4
251 ;;
252 esac;;
253esac
254@elsif MYHOSTNAME
255case "$d_uname$d_gethname" in
256*define*) ;;
257*)
258@ if WHOAMI
259 case "$i_whoami" in
260 "$define")
261 dflt=y
262 $cat <<EOM
7bfb7bd7 263
d8875586
MBT
264No hostname function--you can either use the whoami.h file, which has this line:
265
266 `grep sysname $usrinc/whoami.h`
267
268or you can have the name we came up with earlier ($myhostname) hardwired in.
269EOM
270 rp="Use whoami.h to get hostname?"
271 . ./myread
272 case "$ans" in
273 n*) i_whoami="$undef";;
274 esac
275 ;;
276 "$undef")
277 echo 'No whoami.h--hardwiring "'$myhostname'".' >&4;;
278 esac;;
279@ else
280 echo 'Hardwiring "'$myhostname'".' >&4;;
281@ end
282esac
283@end
284case "$d_phostname" in
285'') d_phostname="$undef";;
286esac
287