-
Notifications
You must be signed in to change notification settings - Fork 1
/
configure.in
170 lines (145 loc) · 4.6 KB
/
configure.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
dnl Process this file with autoconf to produce a configure script.
AC_REVISION($Revision: 1.2.4.13 $)dnl
AC_INIT(Include/object.h)
AC_PREFIX(python)
AC_CONFIG_HEADER(config.h)dnl
# checks for alternative programs
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_SUBST(AR)
AC_PROGRAMS_CHECK(AR, ar aal, ar)
# checks for UNIX variants that set C preprocessor variables
AC_AIX
AC_ISC_POSIX
AC_MINIX
dnl DYNIX test runs compile so must be last
AC_DYNIX_SEQ
echo checking for NeXT
AC_TEST_PROGRAM([
#ifdef _NEXT_SOURCE
main() { exit(0); }
#endif
], AC_DEFINE(_POSIX_SOURCE))
# checks for header files
AC_STDC_HEADERS
AC_HAVE_HEADERS(dlfcn.h fcntl.h signal.h stdarg.h stdlib.h thread.h unistd.h utime.h sys/audioio.h sys/param.h sys/select.h sys/time.h sys/times.h sys/un.h sys/utsname.h)
AC_DIR_HEADER
# checks for typedefs
AC_MODE_T
AC_OFF_T
AC_PID_T
AC_RETSIGTYPE
AC_SIZE_T
AC_UID_T
# checks for libraries
AC_HAVE_LIBRARY(dl)
echo checking for --with-svr4
AC_WITH(svr4, [
AC_HAVE_LIBRARY(socket)
AC_HAVE_LIBRARY(inet)
AC_HAVE_LIBRARY(nsl)
])
echo checking for --with-readline
AC_WITH(readline, [AC_DEFINE(WITH_READLINE)
if test -d "$withval"
then LIBS="$LIBS -L$withval"
else echo proper usage is --with-readline=DIRECTORY 1>&2; exit 1
fi
termcap=
AC_HAVE_LIBRARY(termcap, [termcap=termcap], [AC_HAVE_LIBRARY(termlib, [termcap=termlib])])
if test ! -z "$termcap"
then LIBS="$LIBS -lreadline -l$termcap"
else echo no working termcap/termlib, do not use --with-readline 1>&2; exit 1
fi])
echo checking for --with-thread
AC_WITH(thread, [
AC_HAVE_LIBRARY(mpc, [AC_DEFINE(WITH_THREAD)
LIBS="$LIBS -lmpc"
LIBOBJS="$LIBOBJS thread.o"])
AC_HAVE_LIBRARY(thread, [AC_DEFINE(WITH_THREAD)
LIBS="$LIBS -lthread"
LIBOBJS="$LIBOBJS thread.o"])
])
# -I${DLINCLDIR} is added to the compile rule for import.o
AC_SUBST(DLINCLDIR)
DLINCLDIR=/
echo checking for --with-sgi-dl
AC_WITH(sgi-dl, [AC_DEFINE(WITH_SGI_DL)
dldir=$withval
if test -d "$dldir"
then LIBS="$LIBS -L$dldir"
else echo proper usage is --with-sgi-dl=DIRECTORY 1>&2; exit 1
fi
DLINCLDIR=${dldir}
LIBS="$LIBS -ldl -lmld"])
echo checking for --with-dl-dld
AC_WITH(dl-dld, [AC_DEFINE(WITH_DL_DLD)
dldir=`echo "$withval" | sed 's/,.*//'`
dlddir=`echo "$withval" | sed 's/.*,//'`
if test -d "$dldir" -a -d "$dlddir"
then LIBS="$LIBS -L$dldir -L$dlddir"
else echo proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY 1>&2; exit 1
fi
DLINCLDIR=${dldir}
LIBS="$LIBS -ldl -ldld"])
# checks for library functions
AC_HAVE_FUNCS(clock dlopen ftime gettimeofday getpeername getpgrp getpid getwd lstat nice readlink select setsid setpgid setpgrp siginterrupt symlink tcgetpgrp tcsetpgrp times uname waitpid)
AC_REPLACE_FUNCS(dup2 getcwd strerror strtod memmove)
AC_FUNC_CHECK(getpgrp, AC_COMPILE_CHECK([argument to getpgrp], [#include <unistd.h>], [getpgrp(0);], AC_DEFINE(GETPGRP_HAVE_ARG)))
# checks for structures
AC_TIME_WITH_SYS_TIME
AC_STRUCT_TM
AC_TIMEZONE
AC_COMPILE_CHECK([whether we have altzone], [#include <time.h>], [return altzone;], AC_DEFINE(HAVE_ALTZONE))
AC_COMPILE_CHECK([whether sys/select.h and sys/time.h may both be included], [
#include <sys/types.h>
#include <sys/select.h>
#include <sys/time.h>
], [;], [AC_DEFINE(SYS_SELECT_WITH_SYS_TIME)])
# checks for compiler characteristics
AC_CHAR_UNSIGNED
AC_CONST
AC_COMPILE_CHECK([wheter we have signed char], [], [signed char c;], [], AC_DEFINE(signed, []))
echo checking for prototypes
AC_TEST_PROGRAM([
int foo(int x) { return 0; }
int main() { return foo(10); }
], AC_DEFINE(HAVE_PROTOTYPES) have_prototypes=1)
echo checking for variable length prototypes and stdarg.h
AC_TEST_PROGRAM([
#include <stdarg.h>
int foo(int x, ...) { return 0; }
int main() { return foo(10, 11, 12); }
], AC_DEFINE(HAVE_STDARG_PROTOTYPES) have_prototypes=1)
if test "$have_prototypes"; then
AC_COMPILE_CHECK(["bad exec* prototypes"], [#include <unistd.h>], [char **t;execve("@",t,t);], , AC_DEFINE(BAD_EXEC_PROTOTYPES))
fi
echo checking for bad static forward
AC_TEST_PROGRAM([
struct s { int a; int b; };
static struct s foo;
int foobar() { return !foo.a; }
static struct s foo = { 1, 2 };
main() { exit(foobar()); }
], , AC_DEFINE(BAD_STATIC_FORWARD))
# checks for system services
# (none yet)
# other checks for UNIX variants
AC_IRIX_SUN
AC_XENIX_DIR
# check for --with-libm=...
AC_SUBST(LIBM)
LIBM=-lm
AC_WITH(libm, [if test "$withval" != 1
then LIBM=$withval
else echo proper usage is --with-libm=STRING 1>&2; exit 1
fi])
# check for --with-libc=...
AC_SUBST(LIBC)
AC_WITH(libc, [if test "$withval" != 1
then LIBC=$withval
else echo proper usage is --with-libc=STRING 1>&2; exit 1
fi])
# generate output files
AC_OUTPUT(Makefile Objects/Makefile Parser/Makefile Python/Makefile Modules/Makefile.pre)