Commit | Line | Data |
---|---|---|
0f2d19dd JB |
1 | AC_INIT(eval.c) |
2 | AC_CONFIG_HEADER(scmconfig.h) | |
3 | ||
4 | . $srcdir/../GUILE-VERSION | |
5 | ||
6 | test -z "$CFLAGS" && CFLAGS=-g | |
7 | test -z "$LDFLAGS" && LDFLAGS=-g | |
8 | ||
9 | AC_PROG_CC | |
10 | AC_PROG_CPP | |
11 | AC_PROG_RANLIB | |
12 | ||
13 | AC_AIX | |
14 | AC_ISC_POSIX | |
15 | AC_MINIX | |
16 | ||
17 | AC_C_CONST | |
18 | ||
19 | AC_HEADER_STDC | |
20 | AC_HEADER_DIRENT | |
21 | AC_HEADER_TIME | |
22 | AC_HEADER_SYS_WAIT | |
95b88819 | 23 | 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) |
0f2d19dd JB |
24 | |
25 | AC_TYPE_GETGROUPS | |
26 | AC_TYPE_SIGNAL | |
b09ca643 | 27 | AC_TYPE_MODE_T |
0f2d19dd | 28 | |
1fd838af | 29 | 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 JB |
30 | |
31 | AC_REPLACE_FUNCS(inet_aton) | |
32 | ||
33 | AC_STRUCT_ST_RDEV | |
34 | AC_STRUCT_ST_BLKSIZE | |
35 | AC_STRUCT_ST_BLOCKS | |
36 | ||
37 | #-------------------------------------------------------------------- | |
38 | # | |
39 | # Which way does the stack grow? | |
40 | # | |
41 | #-------------------------------------------------------------------- | |
42 | ||
43 | AC_TRY_RUN(aux (l) unsigned long l; | |
44 | { int x; exit (l >= ((unsigned long)&x)); } | |
45 | main () { int q; aux((unsigned long)&q); }, | |
46 | AC_DEFINE(SCM_STACK_GROWS_UP),,AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h.in)) | |
47 | ||
48 | ||
49 | AC_TRY_RUN(main () { exit (sizeof(float) != sizeof(long)); }, | |
50 | AC_DEFINE(SCM_SINGLES),,AC_DEFINE(SCM_SINGLES) | |
51 | AC_MSG_WARN(Guessing that sizeof(long) == sizeof(float) -- see scmconfig.h.in)) | |
52 | ||
2e18892a GH |
53 | AC_MSG_CHECKING(for struct linger) |
54 | AC_CACHE_VAL(scm_cv_struct_linger, | |
55 | AC_TRY_COMPILE([#include <sys/socket.h>], | |
56 | [struct linger lgr; lgr.l_linger = 100], | |
57 | scm_cv_struct_linger="yes", | |
58 | scm_cv_struct_linger="no")) | |
59 | AC_MSG_RESULT($scm_cv_struct_linger) | |
60 | if test $scm_cv_struct_linger = yes; then | |
61 | AC_DEFINE(HAVE_STRUCT_LINGER) | |
62 | fi | |
63 | ||
0f2d19dd JB |
64 | #-------------------------------------------------------------------- |
65 | # | |
66 | # How can you violate a stdio abstraction by setting a stream's fd? | |
67 | # | |
68 | #-------------------------------------------------------------------- | |
69 | ||
70 | FD_SETTER="" | |
71 | ||
72 | if test "x$FD_SETTER" = x; then | |
73 | AC_TRY_COMPILE(#include <stdio.h> | |
74 | , stdout->_file = 1, | |
75 | FD_SETTER="((F)->_file = (D))") | |
76 | fi | |
77 | ||
78 | if test "x$FD_SETTER" = x; then | |
79 | AC_TRY_COMPILE(#include <stdio.h> | |
80 | , stdout->_fileno, | |
81 | FD_SETTER="((F)->_fileno = (D))") | |
82 | fi | |
83 | ||
84 | dnl | |
85 | dnl Add FD_SETTER tests for other systems here. Your test should | |
86 | dnl try a particular style of assigning to the descriptor | |
87 | dnl field(s) of a FILE* and define FD_SETTER accordingly. | |
88 | dnl | |
89 | dnl The value of FD_SETTER is used as a macro body, as in: | |
90 | dnl | |
91 | dnl #define SET_FILE_FD_FIELD(F,D) @FD_SETTER@ | |
92 | dnl | |
93 | dnl F is a FILE* and D a descriptor (int). | |
94 | dnl | |
95 | ||
96 | test "x$FD_SETTER" != x && AC_DEFINE(HAVE_FD_SETTER) | |
97 | ||
98 | ||
99 | ||
100 | AC_SUBST(CFLAGS) | |
101 | AC_SUBST(LDFLAGS) | |
102 | AC_SUBST(LIBOBJS) | |
103 | AC_SUBST(FD_SETTER) | |
104 | AC_SUBST(TCL_SRC_DIR) | |
105 | AC_SUBST(TK_SRC_DIR) | |
106 | AC_SUBST(XINCLUDES) | |
107 | AC_SUBST(GUILE_MAJOR_VERSION) | |
108 | AC_SUBST(GUILE_MINOR_VERSION) | |
109 | AC_SUBST(GUILE_VERSION) | |
110 | AC_OUTPUT(Makefile fd.h) | |
111 | ||
112 | dnl Local Variables: | |
113 | dnl comment-start: "dnl " | |
114 | dnl comment-end: "" | |
115 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
116 | dnl End: |