Commit | Line | Data |
---|---|---|
0f2d19dd JB |
1 | AC_INIT(eval.c) |
2 | AC_CONFIG_HEADER(scmconfig.h) | |
3 | ||
4 | . $srcdir/../GUILE-VERSION | |
5 | ||
074657b0 MD |
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 | ||
0f2d19dd JB |
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 | ||
027fde39 MD |
33 | builtin(sinclude, ../aclocal.m4) |
34 | CY_AC_WITH_THREADS | |
35 | CFLAGS="$CPPFLAGS $CFLAGS" | |
36 | ||
0f2d19dd JB |
37 | AC_C_CONST |
38 | ||
39 | AC_HEADER_STDC | |
40 | AC_HEADER_DIRENT | |
41 | AC_HEADER_TIME | |
42 | AC_HEADER_SYS_WAIT | |
2170fce3 | 43 | 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 sys/utime.h time.h unistd.h utime.h) |
0f2d19dd JB |
44 | |
45 | AC_TYPE_GETGROUPS | |
46 | AC_TYPE_SIGNAL | |
b09ca643 | 47 | AC_TYPE_MODE_T |
0f2d19dd | 48 | |
1fd838af | 49 | 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) |
0f2d19dd | 50 | |
14a7e04c | 51 | AC_REPLACE_FUNCS(inet_aton strerror) |
0f2d19dd JB |
52 | |
53 | AC_STRUCT_ST_RDEV | |
54 | AC_STRUCT_ST_BLKSIZE | |
55 | AC_STRUCT_ST_BLOCKS | |
2170fce3 | 56 | GUILE_STRUCT_UTIMBUF |
0f2d19dd JB |
57 | |
58 | #-------------------------------------------------------------------- | |
59 | # | |
60 | # Which way does the stack grow? | |
61 | # | |
62 | #-------------------------------------------------------------------- | |
63 | ||
64 | AC_TRY_RUN(aux (l) unsigned long l; | |
65 | { int x; exit (l >= ((unsigned long)&x)); } | |
66 | main () { int q; aux((unsigned long)&q); }, | |
67 | AC_DEFINE(SCM_STACK_GROWS_UP),,AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h.in)) | |
68 | ||
69 | ||
70 | AC_TRY_RUN(main () { exit (sizeof(float) != sizeof(long)); }, | |
71 | AC_DEFINE(SCM_SINGLES),,AC_DEFINE(SCM_SINGLES) | |
72 | AC_MSG_WARN(Guessing that sizeof(long) == sizeof(float) -- see scmconfig.h.in)) | |
73 | ||
2e18892a GH |
74 | AC_MSG_CHECKING(for struct linger) |
75 | AC_CACHE_VAL(scm_cv_struct_linger, | |
76 | AC_TRY_COMPILE([#include <sys/socket.h>], | |
77 | [struct linger lgr; lgr.l_linger = 100], | |
78 | scm_cv_struct_linger="yes", | |
79 | scm_cv_struct_linger="no")) | |
80 | AC_MSG_RESULT($scm_cv_struct_linger) | |
81 | if test $scm_cv_struct_linger = yes; then | |
82 | AC_DEFINE(HAVE_STRUCT_LINGER) | |
83 | fi | |
84 | ||
0f2d19dd JB |
85 | #-------------------------------------------------------------------- |
86 | # | |
87 | # How can you violate a stdio abstraction by setting a stream's fd? | |
88 | # | |
89 | #-------------------------------------------------------------------- | |
90 | ||
91 | FD_SETTER="" | |
92 | ||
93 | if test "x$FD_SETTER" = x; then | |
94 | AC_TRY_COMPILE(#include <stdio.h> | |
95 | , stdout->_file = 1, | |
96 | FD_SETTER="((F)->_file = (D))") | |
97 | fi | |
98 | ||
99 | if test "x$FD_SETTER" = x; then | |
100 | AC_TRY_COMPILE(#include <stdio.h> | |
101 | , stdout->_fileno, | |
102 | FD_SETTER="((F)->_fileno = (D))") | |
103 | fi | |
104 | ||
105 | dnl | |
106 | dnl Add FD_SETTER tests for other systems here. Your test should | |
107 | dnl try a particular style of assigning to the descriptor | |
108 | dnl field(s) of a FILE* and define FD_SETTER accordingly. | |
109 | dnl | |
110 | dnl The value of FD_SETTER is used as a macro body, as in: | |
111 | dnl | |
112 | dnl #define SET_FILE_FD_FIELD(F,D) @FD_SETTER@ | |
113 | dnl | |
114 | dnl F is a FILE* and D a descriptor (int). | |
115 | dnl | |
116 | ||
117 | test "x$FD_SETTER" != x && AC_DEFINE(HAVE_FD_SETTER) | |
118 | ||
027fde39 MD |
119 | #-------------------------------------------------------------------- |
120 | # | |
121 | # Flags for thread support | |
122 | # | |
123 | #-------------------------------------------------------------------- | |
124 | ||
125 | dnl | |
126 | dnl Set the appropriate flags! | |
127 | dnl | |
128 | if test "$cy_cv_threads_package" = FSU; then | |
129 | AC_DEFINE(USE_FSU_PTHREADS, 1) | |
130 | else if test "$cy_cv_threads_package" = COOP; then | |
131 | AC_DEFINE(USE_COOP_THREADS, 1) | |
132 | else if test "$cy_cv_threads_package" = MIT; then | |
133 | AC_DEFINE(USE_MIT_PTHREADS, 1) | |
134 | else if test "$cy_cv_threads_package" = PCthreads; then | |
135 | AC_DEFINE(USE_PCTHREADS_PTHREADS, 1) | |
136 | else if test "$cy_cv_threads_package" = unknown; then | |
137 | AC_MSG_ERROR("cannot find threads installation") | |
138 | fi | |
139 | fi | |
140 | fi | |
141 | fi | |
142 | fi | |
143 | ||
144 | if test "$cy_cv_threads_package" != ""; then | |
145 | AC_DEFINE(USE_THREADS) | |
146 | fi | |
147 | ||
d9098516 JB |
148 | ## If we're using GCC, ask for aggressive warnings. |
149 | case "$GCC" in | |
150 | yes ) CFLAGS="$CFLAGS -Wall -Wpointer-arith" ;; | |
151 | esac | |
0f2d19dd | 152 | |
9d7e1edf JB |
153 | AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, "$GUILE_MAJOR_VERSION") |
154 | AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, "$GUILE_MINOR_VERSION") | |
155 | AC_DEFINE_UNQUOTED(GUILE_VERSION, "$GUILE_VERSION") | |
0f2d19dd JB |
156 | |
157 | AC_SUBST(CFLAGS) | |
158 | AC_SUBST(LDFLAGS) | |
159 | AC_SUBST(LIBOBJS) | |
160 | AC_SUBST(FD_SETTER) | |
0f2d19dd JB |
161 | AC_SUBST(XINCLUDES) |
162 | AC_SUBST(GUILE_MAJOR_VERSION) | |
163 | AC_SUBST(GUILE_MINOR_VERSION) | |
164 | AC_SUBST(GUILE_VERSION) | |
165 | AC_OUTPUT(Makefile fd.h) | |
166 | ||
167 | dnl Local Variables: | |
168 | dnl comment-start: "dnl " | |
169 | dnl comment-end: "" | |
170 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
171 | dnl End: |