Some translation was missing
[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(compiler.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 case "$host_cpu" in
15 alpha* )
16         SYSDEP_DIR="alpha" 
17         CFLAGS="-ieee -O2 -g3"
18         COMPILER_SOURCES="compiler.h compiler.c" 
19         COMPILER_OBJECTS="compiler.o"
20         AC_DEFINE(OLD_COMPILER)
21         ;;
22
23 mips* )
24         SYSDEP_DIR="mips" 
25         CFLAGS="-64 -g -DMAP_ANONYMOUS=0 -woff 1048,1110,1164,1515"
26         LIBS="-lelfutil" 
27         COMPILER_SOURCES=""
28         COMPILER_OBJECTS=""
29         ;;
30
31 i386* | i486* | i586* | i686* )
32         SYSDEP_DIR="i386" 
33         CFLAGS="-O0 -g3 -D__I386__"
34         COMPILER_SOURCES="compiler.h compiler.c" 
35         COMPILER_OBJECTS="compiler.o"
36         ;;
37
38 sparc* | powerpc* | ppc* | * )
39         AC_MSG_ERROR($host-cpu systems are not supported at this time) ;;
40
41 esac
42
43 AC_SUBST(COMPILER_SOURCES)
44 AC_SUBST(COMPILER_OBJECTS)
45
46 AC_DEFINE_UNQUOTED(SYSDEP_DIR, "$SYSDEP_DIR")
47 AC_SUBST(SYSDEP_DIR)
48
49 dnl Checks for programs.
50 AC_PROG_CC
51 AC_PROG_RANLIB
52
53 dnl Checks for libraries.
54 AC_CHECK_LIB(m, sin)
55
56 dnl Checks for header files.
57 AC_HEADER_DIRENT
58 AC_HEADER_STDC
59 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h)
60
61 dnl Checks for typedefs, structures, and compiler characteristics.
62 AC_C_CONST
63 AC_C_INLINE
64 AC_TYPE_OFF_T
65 AC_TYPE_SIZE_T
66 AC_HEADER_TIME
67 AC_STRUCT_TM
68
69 dnl Checks for library functions.
70 AC_PROG_GCC_TRADITIONAL
71 AC_FUNC_MEMCMP
72 AC_FUNC_MMAP
73 AC_TYPE_SIGNAL
74 AC_CHECK_FUNCS(getcwd gettimeofday mkdir mktime select socket)
75
76 dnl Check for mmap header anomalies (missing MAP_FAILED, etc.)
77 if test $ac_cv_func_mmap_fixed_mapped = yes; then
78         AC_CACHE_CHECK(whether MAP_FAILED is defined,
79                        ac_cv_map_failed,
80                        AC_EGREP_CPP(yes, 
81                                     [#include <sys/mman.h>
82                                      #ifdef MAP_FAILED
83                                         yes
84                                      #endif],
85                                     ac_cv_map_failed=yes,
86                                     ac_cv_map_failed=no))
87
88         AC_CACHE_CHECK(whether MAP_ANONYMOUS is defined,
89                        ac_cv_map_anonymous,
90                        AC_EGREP_CPP(yes, 
91                                     [#include <sys/mman.h>
92                                      #ifdef MAP_ANONYMOUS
93                                         yes
94                                      #endif],
95                                     ac_cv_map_anonymous=yes,
96                                     ac_cv_map_anonymous=no))
97
98         if test $ac_cv_map_failed = yes; then
99                 AC_DEFINE(HAVE_MAP_FAILED) 
100         fi
101
102         if test $ac_cv_map_anonymous = yes; then
103                 AC_DEFINE(HAVE_MAP_ANONYMOUS) 
104         fi
105 fi
106
107
108 dnl Features
109
110 dnl check arguments
111 AC_ARG_ENABLE(threads, [  --enable-threads        enable threads support])
112 AC_ARG_ENABLE(gc2, [  --enable-gc2            enable new garbage collector])
113
114 dnl threads
115 AC_MSG_CHECKING(whether to include threads support)
116 if test x"$enable_threads" = "xno"; then
117         AC_MSG_RESULT(no)
118 else
119         AC_MSG_RESULT(yes)
120
121         AC_DEFINE(USE_THREADS)
122         AC_DEFINE(EXTERNAL_OVERFLOW)
123         AC_DEFINE(DONT_FREE_FIRST)
124
125         LIBTHREAD="libthreads.a"
126         THREAD_OBJ="threads/libthreads.a"
127         AC_SUBST(LIBTHREAD)
128         AC_SUBST(THREAD_OBJ)
129 fi
130
131 dnl garbage collector version
132 AC_MSG_CHECKING(which garbage collector to use)
133 if test x"$enable_gc2" = "xno"; then
134         AC_MSG_RESULT(old garbage collector)
135         GC_OBJ="mm/libmm_old.a"
136 else
137         AC_MSG_RESULT(new garbage collector)
138         GC_OBJ="mm/libmm_new.a"
139 fi
140 AC_SUBST(GC_OBJ)
141
142
143 AC_OUTPUT(Makefile \
144           toolbox/Makefile \
145           mm/Makefile \
146           threads/Makefile \
147           jit/Makefile \
148           alpha/Makefile \
149           mips/Makefile \
150           i386/Makefile \
151           nat/Makefile \
152           doc/Makefile \
153           comp/Makefile \
154           narray/Makefile \
155           tst/Makefile \
156           jvmtst/Makefile )