forked from xythian/wp-lambdamoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure.in
586 lines (556 loc) · 19.2 KB
/
configure.in
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
dnl Process this file with `autoconf' to create `configure'.
dnl
dnl Copyright (c) 1992, 1995, 1996 Xerox Corporation. All rights reserved.
dnl Portions of this code were written by Stephen White, aka ghond.
dnl Use and copying of this software and preparation of derivative works based
dnl upon this software are permitted. Any distribution of this software or
dnl derivative works must comply with all applicable United States export
dnl control laws. This software is made available AS IS, and Xerox Corporation
dnl makes no warranty about the software, its performance or its conformity to
dnl any specification. Any person obtaining a copy of this software is
dnl requested to send their name and post office or electronic mail address to:
dnl Pavel Curtis
dnl Xerox PARC
dnl 3333 Coyote Hill Rd.
dnl Palo Alto, CA 94304
dnl Pavel@Xerox.Com
dnl
AC_INIT(Makefile.in)
AC_CONFIG_HEADER(config.h)
dnl ***************************************************************************
dnl MOO_AUX
dnl Defines _POSIX_SOURCE if this machine is running A/UX; this appears to be
dnl necessary in order to get declarations of POSIX functions.
define(MOO_AUX, [
echo checking for A/UX
AC_PROGRAM_EGREP(yes, [
#if defined(AUX)
yes
#endif
], AC_DEFINE(_POSIX_SOURCE))])
dnl ***************************************************************************
dnl MOO_HPUX
dnl Defines _HPUX_SOURCE if this machine is running HP/UX; this appears to be
dnl necessary in order to get declarations of POSIX functions.
define(MOO_HPUX, [
echo checking for HP/UX
AC_PROGRAM_EGREP(yes, [
#if defined(__hpux)
yes
#endif
], AC_DEFINE(_HPUX_SOURCE))])
dnl ***************************************************************************
dnl MOO_ALPHA
dnl If this machine is a DEC Alpha running OSF/1, and we're not using GCC, then
dnl add `-Olimit 1000' to the `cc' switches, to allow the compiler to run the
dnl optimizer over large functions, like the main MOO interpreter loop.
define(MOO_ALPHA, [
echo checking for the DEC Alpha running OSF/1
AC_PROGRAM_EGREP(yes, [
#if defined(__osf__) && defined(__alpha) && !defined(__GNUC__)
yes
#endif
], CC="$CC -Olimit 2500")])
dnl ***************************************************************************
dnl MOO_SGI
dnl If this machine is an SGI running IRIX, and we're not using GCC, then
dnl add `-Olimit 2500' to the `cc' switches, to allow the compiler to run the
dnl optimizer over large functions, like the main MOO interpreter loop. Also,
dnl even if we are using GCC, undefine __EXTENSIONS__ to keep from seeing a
dnl bunch of interfering declarations.
define(MOO_SGI, [
echo checking for the SGI compiler
AC_PROGRAM_EGREP(yes, [
#if defined(sgi) && !defined(__GNUC__)
yes
#endif
], CC="$CC -Olimit 2500")
AC_PROGRAM_EGREP(yes, [
#if defined(sgi)
yes
#endif
], CC="$CC -U__EXTENSIONS__")])
dnl ***************************************************************************
dnl MOO_NEXT
dnl On NeXT, we need to make sure that _NEXT_SOURCE and _POSIX_SOURCE are
dnl defined.
define(MOO_NEXT, [
echo checking for NeXT
AC_PROGRAM_EGREP(yes, [
#ifdef NeXT
yes
#endif
], AC_DEFINE(_NEXT_SOURCE)
AC_DEFINE(_POSIX_SOURCE))])
dnl ***************************************************************************
dnl MOO_MALLOC_H
dnl Define NEED_MALLOC_H if `malloc()' is not declared in <stdlib.h> and
dnl <malloc.h> exists.
define(MOO_MALLOC_H, [
echo checking whether stdlib.h declares malloc and friends
MOO_FUNC_DECL_CHECK(stdlib.h, malloc, ,
[AC_HEADER_CHECK(malloc.h, AC_DEFINE(NEED_MALLOC_H))])])
dnl ***************************************************************************
dnl MOO_FUNC_DECL_CHECK(header, func,
dnl if-declared [, if-not-declared[, extra-hdr]])
dnl Do `if-declared' is `func' is declared in `header', and if-not-declared
dnl otherwise. If `extra-hdr' is provided, it is added after the #include of
dnl `header'.
define(MOO_FUNC_DECL_CHECK, [
changequote(,)dnl
pattern="[^_a-zA-Z0-9]$2 *\("
changequote([,])dnl
AC_PROGRAM_EGREP($pattern, [
#include <$1>
$5
], [$3], [$4])])
dnl ***************************************************************************
dnl MOO_NDECL_FUNCS(header, func1 func2 ...[, extra-hdr])
dnl Defines NDECL_func1, NDECL_func2, ... if they are not declared in header.
dnl
define(MOO_NDECL_FUNCS, [
changequote(,)dnl
trfrom='[a-z]' trto='[A-Z]'
changequote([,])dnl
for func in $2
do
echo "checking whether $func is declared in $1"
MOO_FUNC_DECL_CHECK($1, $func, ,
AC_DEFINE(NDECL_`echo $func | tr "$trfrom" "$trto"`), $3)
done
])
dnl ***************************************************************************
dnl MOO_VAR_DECL_CHECK(header, variable,
dnl if-declared [, if-not-declared[, extra-hdr]])
dnl Do `if-declared' is `variable' is declared in `header', and if-not-declared
dnl otherwise. If `extra-hdr' is provided, it is added after the #include of
dnl `header'.
define(MOO_VAR_DECL_CHECK, [
changequote(,)dnl
pattern="[^_a-zA-Z0-9]$2"
changequote([,])dnl
AC_PROGRAM_EGREP($pattern, [
#include <$1>
$5
], $3, $4)])
dnl ***************************************************************************
dnl MOO_NDECL_VARS(header, var1 var2 ...[, extra-hdr])
dnl Defines NDECL_var1, NDECL_var2, ... if they are not declared in header.
dnl
define(MOO_NDECL_VARS, [
changequote(,)dnl
trfrom='[a-z]' trto='[A-Z]'
changequote([,])dnl
for var in $2
do
echo "checking whether $var is declared in $1"
MOO_VAR_DECL_CHECK($1, $var, ,
AC_DEFINE(NDECL_`echo $var | tr "$trfrom" "$trto"`), $3)
done
])
dnl ***************************************************************************
dnl MOO_HEADER_STANDS_ALONE(header [, extra-code])
dnl Defines header_NEEDS_HELP if can't be compiled all by itself.
define(MOO_HEADER_STANDS_ALONE, [
changequote(,)dnl
trfrom='[a-z]./' trto='[A-Z]__'
changequote([,])dnl
AC_COMPILE_CHECK(self-sufficiency of $1, [
#include <$1>
$2
], , , AC_DEFINE(`echo $1 | tr "$trfrom" "$trto"`_NEEDS_HELP))
])
dnl ***************************************************************************
dnl MOO_HAVE_FUNC_LIBS(func1 func2 ..., lib1 "lib2a lib2b" lib3 ...)
dnl For each `func' in turn, if `func' is defined using the current LIBS value,
dnl leave LIBS alone. Otherwise, try adding each of the given libs to LIBS in
dnl turn, stopping when one of them succeeds in providing `func'. Define
dnl HAVE_func if `func' is eventually found.
define(MOO_HAVE_FUNC_LIBS, [
for func in $1
do
changequote(,)dnl
trfrom='[a-z]' trto='[A-Z]'
var=HAVE_`echo $func | tr "$trfrom" "$trto"`
changequote([,])dnl
AC_FUNC_CHECK($func, AC_DEFINE_UNQUOTED($var), [
SAVELIBS="$LIBS"
for lib in $2
do
LIBS="$LIBS $lib"
AC_FUNC_CHECK($func, [AC_DEFINE_UNQUOTED($var)
break],
LIBS="$SAVELIBS")
done
])
done
])
dnl ***************************************************************************
dnl MOO_HAVE_HEADER_DIRS(header1 header2 ..., dir1 dir2 ...)
dnl For each `header' in turn, if `header' is found using the current CC value
dnl leave CC alone. Otherwise, try adding each of the given `dir's to CC in
dnl turn, stopping when one of them succeeds in providing `header'. Define
dnl HAVE_header if `header' is eventually found.
define(MOO_HAVE_HEADER_DIRS, [
for hdr in $1
do
changequote(,)dnl
trfrom='[a-z]./' trto='[A-Z]__'
var=HAVE_`echo $hdr | tr "$trfrom" "$trto"`
changequote([,])dnl
AC_HEADER_CHECK($hdr, AC_DEFINE($var), [
SAVECC="$CC"
for dir in $2
do
CC="$CC $dir"
AC_HEADER_CHECK($hdr, [AC_DEFINE($var)
break],
CC="$SAVECC")
done
])
done
])
dnl ***************************************************************************
dnl MOO_CONST
dnl Check whether or not the C compiler can cope with simple uses of the ANSI C
dnl `const' keyword, defining `const' as the empty string if it can't.
define(MOO_CONST, [
echo checking for a working const keyword
cat << EOF > conftest.c
#ifdef __GNUC__
#define const __const__
#endif
int foo(const char *x) { return 17 + (x - x); }
int bar() { int x = foo("foo"); return x; }
EOF
if $CC -c conftest.c > conftest.out 2>&1; then
if test -s conftest.out; then
AC_DEFINE(const,)
fi
else
AC_DEFINE(const,)
fi
rm -f conftest*
])
dnl ***************************************************************************
dnl MOO_ANSI_C
dnl Check whether or not the C compiler handles ANSI C (i.e., allows function
dnl prototypes and the `void *' type) and try to make it do so by adding
dnl command-line options like -Aa and -Xa, which some compilers require. If
dnl nothing works, abort configuration.
define(MOO_ANSI_C, [
echo "checking that the C compiler handles important ANSI C constructs"
for opt in "" -Aa -Xa -ansi
do
SAVECC="$CC"
CC="$CC $opt"
AC_TEST_PROGRAM([
int main(int argc, char *argv) { void *ptr; exit(0); }
],
[have_ansi=1
break],
[CC="$SAVECC"])
done
if test -z "$have_ansi"; then
echo ""
echo "*** Sorry, but I can't figure out how to find an ANSI C compiler here."
echo "*** Compiling this program requires such a compiler."
exit 1
fi
])
dnl ***************************************************************************
dnl Start of actual configuration tests
dnl ***************************************************************************
AC_PROG_YACC
AC_PROG_CC
AC_GCC_TRADITIONAL
AC_PROGRAM_EGREP(yes, [
#if __GNUC__==2
yes
#endif
], [CC="$CC -Wall -Wwrite-strings"])
test -n "$GCC" && CC="$CC -g"
AC_PROG_CPP
MOO_NEXT
MOO_ALPHA
MOO_SGI
AC_AIX
AC_ISC_POSIX
AC_MINIX
AC_SCO_INTL
MOO_AUX
MOO_HPUX
MOO_ANSI_C
MOO_CONST
CPP=""
AC_PROG_CPP
MOO_MALLOC_H
AC_HEADER_CHECK(sys/bsdtypes.h, AC_DEFINE(NEED_BSDTYPES_H))
AC_HEADER_CHECK(sys/select.h, AC_DEFINE(NEED_SELECT_H))
AC_HEADER_CHECK(memory.h, AC_DEFINE(NEED_MEMORY_H))
AC_PID_T
AC_MODE_T
AC_SIZE_T
AC_STRUCT_TM
AC_TIMEZONE
MOO_HAVE_FUNC_LIBS(sqrt, -lm /lib/libm.a "-static -lm")
MOO_HAVE_FUNC_LIBS(mkfifo waitpid sigemptyset, -lposix /lib/libposix.a)
MOO_HAVE_FUNC_LIBS(accept, "-lsocket -lnsl" -lsocket -linet)
MOO_HAVE_FUNC_LIBS(t_open, -lnsl -lnsl_s)
MOO_HAVE_FUNC_LIBS(crypt, -lcrypt -lcrypt_d)
AC_HAVE_HEADERS(unistd.h sys/cdefs.h stdlib.h tiuser.h machine/endian.h)
AC_HAVE_FUNCS(remove rename poll select strerror strftime strtoul matherr)
AC_HAVE_FUNCS(random lrand48 wait3 wait2 sigsetmask sigprocmask sigrelse)
MOO_NDECL_FUNCS(ctype.h, tolower)
MOO_NDECL_FUNCS(fcntl.h, fcntl)
MOO_NDECL_FUNCS(netinet/in.h, htonl)
dnl *** this next should really be some variety of AC_CHECK_TYPE
dnl *** but this is just a grep test anyway --wrog
MOO_NDECL_VARS(netinet/in.h, in_addr_t)
MOO_NDECL_FUNCS(sys/ioctl.h, ioctl)
MOO_NDECL_FUNCS(poll.h, poll)
MOO_NDECL_FUNCS(signal.h, kill sigemptyset sigprocmask sigrelse)
MOO_NDECL_FUNCS(sys/socket.h, accept bind shutdown)
MOO_NDECL_FUNCS(sys/stat.h, fstat)
MOO_NDECL_FUNCS(stdio.h, fclose perror remove vfprintf)
MOO_NDECL_FUNCS(stdlib.h, random srandom strtod strtol strtoul)
MOO_NDECL_FUNCS(string.h, bzero memcpy memset strerror, [
#if NEED_MEMORY_H
#include <memory.h>
#endif
])
echo checking for bzero being declared in stdlib.h
MOO_FUNC_DECL_CHECK(stdlib.h, bzero, AC_DEFINE(BZERO_IN_STDLIB_H))
MOO_NDECL_FUNCS(sys/time.h, getitimer setitimer select, [
#if NEED_SELECT_H
#include <sys/types.h>
#include <sys/select.h>
#endif
])
MOO_NDECL_FUNCS(time.h, strftime time)
MOO_NDECL_VARS(time.h, tzname)
MOO_NDECL_FUNCS(tiuser.h, t_open)
MOO_NDECL_VARS(tiuser.h, t_errlist)
MOO_NDECL_FUNCS(unistd.h, fork)
MOO_NDECL_FUNCS(sys/wait.h, waitpid)
MOO_HEADER_STANDS_ALONE(arpa/inet.h, [struct in_addr foo;])
MOO_HEADER_STANDS_ALONE(signal.h)
MOO_HEADER_STANDS_ALONE(sys/socket.h)
MOO_HEADER_STANDS_ALONE(sys/stat.h)
MOO_HEADER_STANDS_ALONE(time.h)
dnl ***************************************************************************
echo checking for string.h declaring some functions incorrectly
echo "
#include <sys/types.h>
#include <string.h>
#if NEED_MEMORY_H
#include <memory.h>
#endif
" > conftest.c
$CC $DEFS conftest.c -o conftest $LIBS > conftest.out 2>&1
if grep "conflicting types for built-in function" conftest.out >/dev/null; then
AC_DEFINE(USE_OWN_STRING_H)
fi
rm -f conftest*
dnl ***************************************************************************
echo "checking for incompatibility between <sys/ioctl.h> and <stropts.h>"
AC_TEST_CPP([
#include <sys/ioctl.h>
#include <stropts.h>
], , AC_DEFINE(UNDEF_IO_IN_STROPTS_H))
dnl ***************************************************************************
echo "checking whether or not fstat() can tell how much data is in a FIFO"
AC_TEST_PROGRAM([#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
main()
{
#ifdef NeXT
/* The NeXT claims to have FIFOs, but using them panics the kernel... */
exit(-1);
#endif
int rfd, wfd, result; struct stat st;
unlink("/tmp/conftest-fifo");
result = (mknod("/tmp/conftest-fifo", 0666 | S_IFIFO, 0) < 0
|| (rfd = open("/tmp/conftest-fifo", O_RDONLY | O_NDELAY)) < 0
|| (wfd = open("/tmp/conftest-fifo", O_WRONLY)) < 0
|| write(wfd, "foo", 3) != 3
|| fstat(rfd, &st) < 0
|| st.st_size != 3);
unlink("/tmp/conftest-fifo");
exit(result);
}
], AC_DEFINE(FSTAT_WORKS_ON_FIFOS))
dnl ***************************************************************************
echo "checking whether or not select() can be used on FIFOs"
AC_TEST_PROGRAM([#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <fcntl.h>
#ifndef FD_ZERO
#define NFDBITS (sizeof(fd_set)*8)
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#define FD_SET(n, p) ((p)->fds_bits[0] |= (1L<<((n)%NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[0] & (1L<<((n)%NFDBITS)))
#endif /* FD_ZERO */
main()
{
#ifdef NeXT
/* The NeXT claims to have FIFOs, but using them panics the kernel... */
exit(-1);
#endif
int rfd, wfd, result; fd_set input; struct timeval tv;
tv.tv_sec = 2;
tv.tv_usec = 0;
unlink("/tmp/conftest-fifo");
result = (mknod("/tmp/conftest-fifo", 0666 | S_IFIFO, 0) < 0
|| (rfd = open("/tmp/conftest-fifo", O_RDONLY | O_NDELAY)) < 0
|| (wfd = open("/tmp/conftest-fifo", O_WRONLY)) < 0
|| (FD_ZERO(&input), FD_SET(rfd, &input),
select(rfd + 1, &input, 0, 0, &tv) != 0)
|| write(wfd, "foo", 3) != 3
|| (FD_ZERO(&input), FD_SET(rfd, &input),
select(rfd + 1, &input, 0, 0, &tv) != 1)
|| !FD_ISSET(rfd, &input));
unlink("/tmp/conftest-fifo");
exit(result);
}
], AC_DEFINE(SELECT_WORKS_ON_FIFOS))
dnl ***************************************************************************
echo "checking whether or not poll() can be used on FIFOs"
AC_TEST_PROGRAM([#include <sys/types.h>
#include <poll.h>
#include <sys/stat.h>
#include <fcntl.h>
main()
{
int rfd, wfd, result; struct pollfd fds[1];
unlink("/tmp/conftest-fifo");
result = (mknod("/tmp/conftest-fifo", 0666 | S_IFIFO, 0) < 0
|| (rfd = open("/tmp/conftest-fifo", O_RDONLY | O_NDELAY)) < 0
|| (wfd = open("/tmp/conftest-fifo", O_WRONLY)) < 0
|| write(wfd, "foo", 3) != 3
|| (fds[0].fd = rfd, fds[0].events = POLLIN, poll(fds, 1, 1) != 1)
|| (fds[0].revents & POLLIN) == 0);
unlink("/tmp/conftest-fifo");
exit(result);
}
], AC_DEFINE(POLL_WORKS_ON_FIFOS))
dnl ***************************************************************************
echo checking whether POSIX-style non-blocking I/O works
AC_TEST_PROGRAM([#include <sys/types.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
handler(int sig) { }
main ()
{ /* Testing a POSIX feature, so assume FIFOs */
#ifdef NeXT
/* The NeXT claims to have FIFOs, but using them panics the kernel... */
exit(-1);
#endif
int rfd, wfd, flags, result; char buffer[10];
unlink("/tmp/conftest-fifo");
signal(SIGALRM, handler);
result = (mknod("/tmp/conftest-fifo", 0666 | S_IFIFO, 0) < 0
|| (rfd = open("/tmp/conftest-fifo", O_RDONLY | O_NONBLOCK)) < 0
|| (wfd = open("/tmp/conftest-fifo", O_WRONLY)) < 0
|| (flags = fcntl(rfd, F_GETFL, 0)) < 0
|| fcntl(rfd, F_SETFL, flags | O_NONBLOCK) < 0
|| (alarm(3), read(rfd, buffer, 10) >= 0)
|| (alarm(0), errno != EAGAIN));
unlink("/tmp/conftest-fifo");
exit(result);
}
], AC_DEFINE(POSIX_NONBLOCKING_WORKS))
dnl ***************************************************************************
echo checking which MOO networking configurations are likely to work...
define(MOO_ADD_NET_CONFIG,[
NETWORK_CONFIGURATIONS="$NETWORK_CONFIGURATIONS $1"])
NETWORK_CONFIGURATIONS="NP_SINGLE"
AC_HEADER_CHECK(sys/socket.h, [
MOO_ADD_NET_CONFIG(NS_BSD/NP_LOCAL)
AC_PROGRAM_CHECK(have_telnet, telnet, yes, no)
test x$have_telnet = xyes && MOO_ADD_NET_CONFIG(NS_BSD/NP_TCP)])
AC_PROGRAM_EGREP(yes-there-are-FIFOs, [#include <sys/stat.h>
#if defined(S_IFIFO) && !defined(NeXT) && \
(SELECT_WORKS_ON_FIFOS || POLL_WORKS_ON_FIFOS || FSTAT_WORKS_ON_FIFOS)
yes-there-are-FIFOs
#endif
], MOO_ADD_NET_CONFIG(NS_SYSV/NP_LOCAL))
AC_PROGRAM_EGREP(yes, [
#if HAVE_TIUSER_H && HAVE_T_OPEN && HAVE_POLL
yes
#endif
], test -r /dev/tcp && MOO_ADD_NET_CONFIG(NS_SYSV/NP_TCP))
echo "----------------------------------------------------------------------"
echo "| The following networking configurations will probably work on your"
echo "| system; any configuration *not* listed here almost certainly will"
echo "| *not* work on your system:"
echo "|"
echo "| $NETWORK_CONFIGURATIONS"
echo "----------------------------------------------------------------------"
AC_OUTPUT(Makefile)
# $Log$
# Revision 1.1.1.1.4.1 2005/09/29 06:56:18 bjj
# Merge HEAD onto WAIF, bringing it approximately to 1.8.2
#
# Revision 1.2 2004/05/22 01:25:43 wrog
# merging in WROGUE changes (W_SRCIP, W_STARTUP, W_OOB)
#
# Revision 1.1.1.1.12.1 2003/06/01 12:39:27 wrog
# ensure definitions for in_addr_t, INADDR_NONE
#
# Revision 1.1.1.1 1997/03/03 03:45:05 nop
# LambdaMOO 1.8.0p5
#
# Revision 2.8 1996/03/19 07:16:46 pavel
# Added one more option for trying to enable ANSI C compilation.
# Release 1.8.0p2.
#
# Revision 2.7 1996/03/10 01:21:41 pavel
# Increased DEC Alpha -Olimit to 2500 from 1000. Release 1.8.0.
#
# Revision 2.6 1996/02/11 00:43:22 pavel
# Added check for matherr(). Release 1.8.0beta2.
#
# Revision 2.5 1996/02/08 07:22:30 pavel
# Added checks for SGI machines and for strtod() being undeclared. Updated
# copyright notice for 1996. Release 1.8.0beta1.
#
# Revision 2.4 1996/01/11 07:47:54 pavel
# Added a handy form-feed between the macro definitions and the main script,
# to make it easier to navigate with Emacs. Release 1.8.0alpha5.
#
# Revision 2.3 1995/12/31 03:17:07 pavel
# Added test for <sys/stat.h> needing help. Release 1.8.0alpha4.
#
# Revision 2.2 1995/12/28 00:49:41 pavel
# On NeXT, we now define _POSIX_SOURCE too. Release 1.8.0alpha3.
#
# Revision 2.1 1995/12/11 08:05:45 pavel
# Added support for finding `crypt()' in `-lcrypt'. Release 1.8.0alpha2.
#
# Revision 2.0 1995/11/30 05:09:41 pavel
# New baseline version, corresponding to release 1.8.0alpha1.
#
# Revision 1.5 1992/10/28 01:56:41 pavel
# Fixed NDECL test to look for `vfprintf' instead of the unused `vprintf'...
#
# Revision 1.4 1992/10/23 23:13:18 pavel
# Added copyright notice.
#
# Revision 1.3 1992/10/23 19:23:52 pavel
# Added MOO_AUX, MOO_MALLOC_H, MOO_FUNC_DECL_CHECK.
# Generalized MOO_HAVE_FUNC_LIBS to take multiple function names.
# Refined MOO_CONST to check for warnings about `reserved' keywords.
# Added MOO_NDECL_FUNCS checks for sigemptyset, perror, remove, vprintf,
# bzero, memset, fork, fstat, and waitpid.
# Simplified test for conflicting built-in function declarations.
# Added SELECT_WORKS_ON_FIFOS and POSIX_NONBLOCKING_WORKS tests.
#
# Revision 1.2 1992/10/21 03:09:41 pavel
# Added this log.
# Local Variables:
# mode: c
# End: