make C system primitives throw exceptions
[bpt/guile.git] / libguile / configure.in
CommitLineData
0f2d19dd
JB
1AC_INIT(eval.c)
2AC_CONFIG_HEADER(scmconfig.h)
3
4. $srcdir/../GUILE-VERSION
5
6test -z "$CFLAGS" && CFLAGS=-g
7test -z "$LDFLAGS" && LDFLAGS=-g
8
9AC_PROG_CC
10AC_PROG_CPP
11AC_PROG_RANLIB
12
13AC_AIX
14AC_ISC_POSIX
15AC_MINIX
16
17AC_C_CONST
18
19AC_HEADER_STDC
20AC_HEADER_DIRENT
21AC_HEADER_TIME
22AC_HEADER_SYS_WAIT
23AC_CHECK_HEADERS(unistd.h string.h malloc.h memory.h limits.h time.h sys/types.h sys/select.h sys/time.h sys/timeb.h sys/times.h)
24
25AC_TYPE_GETGROUPS
26AC_TYPE_SIGNAL
27
28AC_CHECK_FUNCS(ftime times geteuid seteuid setegid select uname mkdir rmdir getcwd rename putenv setlocale strftime strptime mknod nice lstat readlink symlink sync)
29
30AC_REPLACE_FUNCS(inet_aton)
31
32AC_STRUCT_ST_RDEV
33AC_STRUCT_ST_BLKSIZE
34AC_STRUCT_ST_BLOCKS
35
36#--------------------------------------------------------------------
37#
38# Which way does the stack grow?
39#
40#--------------------------------------------------------------------
41
42AC_TRY_RUN(aux (l) unsigned long l;
43 { int x; exit (l >= ((unsigned long)&x)); }
44 main () { int q; aux((unsigned long)&q); },
45 AC_DEFINE(SCM_STACK_GROWS_UP),,AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h.in))
46
47
48AC_TRY_RUN(main () { exit (sizeof(float) != sizeof(long)); },
49 AC_DEFINE(SCM_SINGLES),,AC_DEFINE(SCM_SINGLES)
50 AC_MSG_WARN(Guessing that sizeof(long) == sizeof(float) -- see scmconfig.h.in))
51
52
53
54
55#--------------------------------------------------------------------
56#
57# How can you violate a stdio abstraction by setting a stream's fd?
58#
59#--------------------------------------------------------------------
60
61FD_SETTER=""
62
63if test "x$FD_SETTER" = x; then
64 AC_TRY_COMPILE(#include <stdio.h>
65, stdout->_file = 1,
66 FD_SETTER="((F)->_file = (D))")
67fi
68
69if test "x$FD_SETTER" = x; then
70 AC_TRY_COMPILE(#include <stdio.h>
71, stdout->_fileno,
72 FD_SETTER="((F)->_fileno = (D))")
73fi
74
75dnl
76dnl Add FD_SETTER tests for other systems here. Your test should
77dnl try a particular style of assigning to the descriptor
78dnl field(s) of a FILE* and define FD_SETTER accordingly.
79dnl
80dnl The value of FD_SETTER is used as a macro body, as in:
81dnl
82dnl #define SET_FILE_FD_FIELD(F,D) @FD_SETTER@
83dnl
84dnl F is a FILE* and D a descriptor (int).
85dnl
86
87test "x$FD_SETTER" != x && AC_DEFINE(HAVE_FD_SETTER)
88
89
90
91AC_SUBST(CFLAGS)
92AC_SUBST(LDFLAGS)
93AC_SUBST(LIBOBJS)
94AC_SUBST(FD_SETTER)
95AC_SUBST(TCL_SRC_DIR)
96AC_SUBST(TK_SRC_DIR)
97AC_SUBST(XINCLUDES)
98AC_SUBST(GUILE_MAJOR_VERSION)
99AC_SUBST(GUILE_MINOR_VERSION)
100AC_SUBST(GUILE_VERSION)
101AC_OUTPUT(Makefile fd.h)
102
103dnl Local Variables:
104dnl comment-start: "dnl "
105dnl comment-end: ""
106dnl comment-start-skip: "\\bdnl\\b\\s *"
107dnl End: