Removed old alpha compiler stuff.
[cacao.git] / configure.in
1 dnl autoconf; autoheader; automake
2
3 dnl Process this file with autoconf to produce a configure script.
4 AC_INIT(jit.c)
5 AC_CANONICAL_HOST
6
7 AM_INIT_AUTOMAKE(cacao, 0.40)
8 AM_CONFIG_HEADER(config.h)
9
10 AC_PREFIX_DEFAULT(/usr/local/cacao)
11
12 dnl system type
13
14 ASMPART="asmpart.S"
15 case "$host_cpu" in
16 alpha* )
17         SYSDEP_DIR="alpha"
18         CFLAGS="-mieee -O0 -g3 -D__ALPHA__"
19         COMPILER_OBJECTS=""
20         AC_DEFINE(TRACE_ARGS_NUM, 6)
21         AC_DEFINE(USE_CODEMMAP)
22         ;;
23
24 mips* )
25         SYSDEP_DIR="mips"
26         ASMPART="asmpart.s"
27         CFLAGS="-64 -O2 -OPT:Olimit=0 -g -DMAP_ANONYMOUS=0 -woff 1110,1164,1515 -D__MIPS__"
28         LIBS="-lelfutil"
29         COMPILER_OBJECTS=""
30         AC_DEFINE(TRACE_ARGS_NUM, 8)
31         ;;
32
33 i386* | i486* | i586* | i686* )
34         SYSDEP_DIR="i386"
35         CFLAGS="-O0 -g3 -D__I386__"
36         COMPILER_OBJECTS="i386/libdisass.a"
37         AC_DEFINE(TRACE_ARGS_NUM, 8)
38         AC_DEFINE(USE_CODEMMAP)
39         ;;
40
41 x86_64* )
42         SYSDEP_DIR="x86_64"
43         CFLAGS="-O0 -g3 -D__X86_64__"
44         COMPILER_OBJECTS="x86_64/libdisass.a"
45         AC_DEFINE(TRACE_ARGS_NUM, 6)
46         AC_DEFINE(USE_CODEMMAP)
47         ;;
48
49 powerpc* | ppc* )
50         SYSDEP_DIR="powerpc"
51         CFLAGS="-O2 -g -DMAP_ANONYMOUS=0 -no-cpp-precomp"
52         COMPILER_OBJECTS="powerpc/libdisass.a"
53         AC_DEFINE(TRACE_ARGS_NUM, 8)
54         ;;
55
56 sparc* | * )
57         AC_MSG_ERROR($target systems are not supported at this time)
58         ;;
59 esac
60
61 AC_SUBST(COMPILER_OBJECTS)
62 AC_SUBST(ASMPART)
63
64 AC_DEFINE_UNQUOTED(SYSDEP_DIR, "$SYSDEP_DIR")
65 AC_SUBST(SYSDEP_DIR)
66
67 dnl Checks for programs.
68 AC_PROG_CC
69 AC_PROG_RANLIB
70 AC_PROG_MAKE_SET
71
72 dnl Checks for libraries.
73 AC_CHECK_LIB(m, sin)
74
75 dnl Checks for header files.
76 AC_HEADER_DIRENT
77 AC_HEADER_STDC
78 AC_CHECK_HEADERS([fcntl.h])
79 AC_CHECK_HEADERS([sys/time.h])
80 AC_CHECK_HEADERS([unistd.h])
81 AC_CHECK_HEADERS([sys/ioctl.h])
82
83 dnl Checks for typedefs, structures, and compiler characteristics.
84 AC_C_CONST
85 AC_C_INLINE
86 AC_TYPE_OFF_T
87 AC_TYPE_SIZE_T
88 AC_HEADER_TIME
89 AC_STRUCT_TM
90
91 dnl Checks for library functions.
92 AC_PROG_GCC_TRADITIONAL
93 AC_FUNC_MEMCMP
94 AC_FUNC_MMAP
95 AC_TYPE_SIGNAL
96 AC_CHECK_FUNCS(getcwd gettimeofday mkdir mktime select socket)
97
98 dnl Check for mmap header anomalies (missing MAP_FAILED, etc.)
99 if test $ac_cv_func_mmap_fixed_mapped = yes; then
100         AC_CACHE_CHECK(whether MAP_FAILED is defined,
101                        ac_cv_map_failed,
102                        AC_EGREP_CPP(yes, 
103                                     [#include <sys/mman.h>
104                                      #ifdef MAP_FAILED
105                                         yes
106                                      #endif],
107                                     ac_cv_map_failed=yes,
108                                     ac_cv_map_failed=no))
109
110         AC_CACHE_CHECK(whether MAP_ANONYMOUS is defined,
111                        ac_cv_map_anonymous,
112                        AC_EGREP_CPP(yes, 
113                                     [#include <sys/mman.h>
114                                      #ifdef MAP_ANONYMOUS
115                                         yes
116                                      #endif],
117                                     ac_cv_map_anonymous=yes,
118                                     ac_cv_map_anonymous=no))
119
120         if test $ac_cv_map_failed = yes; then
121                 AC_DEFINE(HAVE_MAP_FAILED) 
122         fi
123
124         if test $ac_cv_map_anonymous = yes; then
125                 AC_DEFINE(HAVE_MAP_ANONYMOUS) 
126         fi
127 fi
128
129
130 dnl Features
131
132 dnl check arguments
133 AC_ARG_ENABLE(threads, [  --enable-threads        enable threads support])
134 AC_ARG_WITH(gc, [  --with-gc[=ARG]         use garbage collector [gc2,gc1,boehm]])
135
136 dnl threads
137 AC_MSG_CHECKING(whether to include threads support)
138 if test x"$enable_threads" = "xno"; then
139         AC_MSG_RESULT(no)
140 else
141         AC_MSG_RESULT(yes)
142
143         AC_DEFINE(USE_THREADS)
144         AC_DEFINE(EXTERNAL_OVERFLOW)
145         AC_DEFINE(DONT_FREE_FIRST)
146
147         LIBTHREAD="libthreads.a"
148         THREAD_OBJ="threads/libthreads.a"
149         AC_SUBST(LIBTHREAD)
150         AC_SUBST(THREAD_OBJ)
151 fi
152
153 dnl garbage collector version
154 AC_MSG_CHECKING(which garbage collector to use)
155 case "$with_gc" in
156 gc1 )
157         AC_MSG_RESULT(old garbage collector)
158         GC_OBJ="mm/libmm_old.a"
159         ;;
160 gc2 )
161         AC_MSG_RESULT(new garbage collector)
162         GC_OBJ="mm/libmm_new.a"
163         ;;
164 boehm | "" )
165         AC_MSG_RESULT(Boehm garbage collector)
166         GC_OBJ="mm/libboehm.a libgc.a"
167         if test ! -e libgc.a; then
168                 AC_MSG_ERROR([libgc.a not found, see README.boehm])
169         fi
170         AC_DEFINE(USE_BOEHM)
171         BOEHM_LIB="libboehm.a"
172         ;;
173 * )
174         AC_MSG_ERROR(Invalid GC)
175         ;;
176 esac
177 AC_SUBST(GC_OBJ)
178 AC_SUBST(BOEHM_LIB)
179
180 AC_OUTPUT(Makefile \
181           toolbox/Makefile \
182           mm/Makefile \
183           threads/Makefile \
184           jit/Makefile \
185           alpha/Makefile \
186           mips/Makefile \
187           i386/Makefile \
188           x86_64/Makefile \
189           powerpc/Makefile \
190           nat/Makefile \
191           doc/Makefile \
192           narray/Makefile \
193           tst/Makefile \
194           tst/kaffe/Makefile \
195           jvmtst/Makefile )