1 dnl autoconf; autoheader; automake
3 dnl Process this file with autoconf to produce a configure script.
7 AM_INIT_AUTOMAKE(cacao, 0.40)
8 AM_CONFIG_HEADER(config.h)
10 AC_PREFIX_DEFAULT(/usr/local/cacao)
18 CFLAGS="-mieee -O0 -g3 -D__ALPHA__"
20 AC_DEFINE(TRACE_ARGS_NUM, 6)
21 AC_DEFINE(USE_CODEMMAP)
27 CFLAGS="-64 -O2 -OPT:Olimit=0 -g -DMAP_ANONYMOUS=0 -woff 1110,1164,1515 -D__MIPS__"
30 AC_DEFINE(TRACE_ARGS_NUM, 8)
33 i386* | i486* | i586* | i686* )
35 CFLAGS="-O0 -g3 -D__I386__"
36 COMPILER_OBJECTS="i386/libdisass.a"
37 AC_DEFINE(TRACE_ARGS_NUM, 8)
38 AC_DEFINE(USE_CODEMMAP)
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)
51 CFLAGS="-O2 -g -DMAP_ANONYMOUS=0 -no-cpp-precomp"
52 COMPILER_OBJECTS="powerpc/libdisass.a"
53 AC_DEFINE(TRACE_ARGS_NUM, 8)
57 AC_MSG_ERROR($target systems are not supported at this time)
61 AC_SUBST(COMPILER_OBJECTS)
64 AC_DEFINE_UNQUOTED(SYSDEP_DIR, "$SYSDEP_DIR")
67 dnl Checks for programs.
72 dnl Checks for libraries.
75 dnl Checks for header files.
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])
83 dnl Checks for typedefs, structures, and compiler characteristics.
91 dnl Checks for library functions.
92 AC_PROG_GCC_TRADITIONAL
96 AC_CHECK_FUNCS(getcwd gettimeofday mkdir mktime select socket)
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,
103 [#include <sys/mman.h>
107 ac_cv_map_failed=yes,
108 ac_cv_map_failed=no))
110 AC_CACHE_CHECK(whether MAP_ANONYMOUS is defined,
113 [#include <sys/mman.h>
117 ac_cv_map_anonymous=yes,
118 ac_cv_map_anonymous=no))
120 if test $ac_cv_map_failed = yes; then
121 AC_DEFINE(HAVE_MAP_FAILED)
124 if test $ac_cv_map_anonymous = yes; then
125 AC_DEFINE(HAVE_MAP_ANONYMOUS)
133 AC_ARG_ENABLE(threads, [ --enable-threads enable threads support])
134 AC_ARG_WITH(gc, [ --with-gc[=ARG] use garbage collector [gc2,gc1,boehm]])
137 AC_MSG_CHECKING(whether to include threads support)
138 if test x"$enable_threads" = "xno"; then
143 AC_DEFINE(USE_THREADS)
144 AC_DEFINE(EXTERNAL_OVERFLOW)
145 AC_DEFINE(DONT_FREE_FIRST)
147 LIBTHREAD="libthreads.a"
148 THREAD_OBJ="threads/libthreads.a"
153 dnl garbage collector version
154 AC_MSG_CHECKING(which garbage collector to use)
157 AC_MSG_RESULT(old garbage collector)
158 GC_OBJ="mm/libmm_old.a"
161 AC_MSG_RESULT(new garbage collector)
162 GC_OBJ="mm/libmm_new.a"
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])
171 BOEHM_LIB="libboehm.a"
174 AC_MSG_ERROR(Invalid GC)