* options.h, options.c: Options now have documentation strings.
[bpt/guile.git] / libguile / configure.in
1 AC_INIT(eval.c)
2 AC_CONFIG_HEADER(scmconfig.h)
3
4 . $srcdir/../GUILE-VERSION
5
6 #--------------------------------------------------------------------
7 #
8 # User options
9 #
10 #--------------------------------------------------------------------
11
12 AC_ARG_ENABLE(debug,
13 [ --disable-debug Don't include debugging support])
14 if test "$enableval" != n && test "$enableval" != no; then
15 AC_DEFINE(DEBUG_EXTENSIONS)
16 AC_DEFINE(READER_EXTENSIONS)
17 LIBOBJS="debug.o srcprop.o $LIBOBJS"
18 fi
19
20 #--------------------------------------------------------------------
21
22 test -z "$CFLAGS" && CFLAGS=-g
23 test -z "$LDFLAGS" && LDFLAGS=-g
24
25 AC_PROG_CC
26 AC_PROG_CPP
27 AC_PROG_RANLIB
28
29 AC_AIX
30 AC_ISC_POSIX
31 AC_MINIX
32
33 AC_C_CONST
34
35 AC_HEADER_STDC
36 AC_HEADER_DIRENT
37 AC_HEADER_TIME
38 AC_HEADER_SYS_WAIT
39 AC_CHECK_HEADERS(libc.h limits.h malloc.h memory.h string.h sys/ioctl.h sys/select.h sys/time.h sys/timeb.h sys/times.h sys/types.h time.h unistd.h)
40
41 AC_TYPE_GETGROUPS
42 AC_TYPE_SIGNAL
43 AC_TYPE_MODE_T
44
45 AC_CHECK_FUNCS(ctermid ftime getcwd geteuid lstat mkdir mknod nice putenv readlink rename rmdir select setegid seteuid setlocale setpgid setsid strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid)
46
47 AC_REPLACE_FUNCS(inet_aton)
48
49 AC_STRUCT_ST_RDEV
50 AC_STRUCT_ST_BLKSIZE
51 AC_STRUCT_ST_BLOCKS
52
53 #--------------------------------------------------------------------
54 #
55 # Which way does the stack grow?
56 #
57 #--------------------------------------------------------------------
58
59 AC_TRY_RUN(aux (l) unsigned long l;
60 { int x; exit (l >= ((unsigned long)&x)); }
61 main () { int q; aux((unsigned long)&q); },
62 AC_DEFINE(SCM_STACK_GROWS_UP),,AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h.in))
63
64
65 AC_TRY_RUN(main () { exit (sizeof(float) != sizeof(long)); },
66 AC_DEFINE(SCM_SINGLES),,AC_DEFINE(SCM_SINGLES)
67 AC_MSG_WARN(Guessing that sizeof(long) == sizeof(float) -- see scmconfig.h.in))
68
69 AC_MSG_CHECKING(for struct linger)
70 AC_CACHE_VAL(scm_cv_struct_linger,
71 AC_TRY_COMPILE([#include <sys/socket.h>],
72 [struct linger lgr; lgr.l_linger = 100],
73 scm_cv_struct_linger="yes",
74 scm_cv_struct_linger="no"))
75 AC_MSG_RESULT($scm_cv_struct_linger)
76 if test $scm_cv_struct_linger = yes; then
77 AC_DEFINE(HAVE_STRUCT_LINGER)
78 fi
79
80 #--------------------------------------------------------------------
81 #
82 # How can you violate a stdio abstraction by setting a stream's fd?
83 #
84 #--------------------------------------------------------------------
85
86 FD_SETTER=""
87
88 if test "x$FD_SETTER" = x; then
89 AC_TRY_COMPILE(#include <stdio.h>
90 , stdout->_file = 1,
91 FD_SETTER="((F)->_file = (D))")
92 fi
93
94 if test "x$FD_SETTER" = x; then
95 AC_TRY_COMPILE(#include <stdio.h>
96 , stdout->_fileno,
97 FD_SETTER="((F)->_fileno = (D))")
98 fi
99
100 dnl
101 dnl Add FD_SETTER tests for other systems here. Your test should
102 dnl try a particular style of assigning to the descriptor
103 dnl field(s) of a FILE* and define FD_SETTER accordingly.
104 dnl
105 dnl The value of FD_SETTER is used as a macro body, as in:
106 dnl
107 dnl #define SET_FILE_FD_FIELD(F,D) @FD_SETTER@
108 dnl
109 dnl F is a FILE* and D a descriptor (int).
110 dnl
111
112 test "x$FD_SETTER" != x && AC_DEFINE(HAVE_FD_SETTER)
113
114
115
116 AC_SUBST(CFLAGS)
117 AC_SUBST(LDFLAGS)
118 AC_SUBST(LIBOBJS)
119 AC_SUBST(FD_SETTER)
120 AC_SUBST(TCL_SRC_DIR)
121 AC_SUBST(TK_SRC_DIR)
122 AC_SUBST(XINCLUDES)
123 AC_SUBST(GUILE_MAJOR_VERSION)
124 AC_SUBST(GUILE_MINOR_VERSION)
125 AC_SUBST(GUILE_VERSION)
126 AC_OUTPUT(Makefile fd.h)
127
128 dnl Local Variables:
129 dnl comment-start: "dnl "
130 dnl comment-end: ""
131 dnl comment-start-skip: "\\bdnl\\b\\s *"
132 dnl End: