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