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