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="-ieee -O2 -g3 -D__ALPHA__"
19 COMPILER_OBJECTS="compiler.o"
20 AC_DEFINE(OLD_COMPILER)
21 AC_DEFINE(TRACE_ARGS_NUM, 6)
22 AC_DEFINE(USE_CODEMMAP)
28 CFLAGS="-64 -g -DMAP_ANONYMOUS=0 -woff 1048,1110,1164,1515 -D__MIPS__"
31 AC_DEFINE(TRACE_ARGS_NUM, 8)
34 i386* | i486* | i586* | i686* )
36 CFLAGS="-O0 -g3 -D__I386__"
37 COMPILER_OBJECTS="i386/libdisass.a"
38 AC_DEFINE(TRACE_ARGS_NUM, 8)
39 AC_DEFINE(USE_CODEMMAP)
44 CFLAGS="-O0 -g3 -D__X86_64__"
45 COMPILER_OBJECTS="x86_64/libdisass.a"
46 AC_DEFINE(TRACE_ARGS_NUM, 6)
47 AC_DEFINE(USE_CODEMMAP)
52 CFLAGS="-O0 -g -DMAP_ANONYMOUS=0 -no-cpp-precomp"
53 COMPILER_OBJECTS="powerpc/libdisass.a"
54 AC_DEFINE(TRACE_ARGS_NUM, 8)
58 AC_MSG_ERROR($target systems are not supported at this time) ;;
62 AC_SUBST(COMPILER_OBJECTS)
65 AC_DEFINE_UNQUOTED(SYSDEP_DIR, "$SYSDEP_DIR")
68 dnl Checks for programs.
73 dnl Checks for libraries.
76 dnl Checks for header files.
79 AC_CHECK_HEADERS([fcntl.h])
80 AC_CHECK_HEADERS([sys/time.h])
81 AC_CHECK_HEADERS([unistd.h])
82 AC_CHECK_HEADERS([sys/ioctl.h])
84 dnl Checks for typedefs, structures, and compiler characteristics.
92 dnl Checks for library functions.
93 AC_PROG_GCC_TRADITIONAL
97 AC_CHECK_FUNCS(getcwd gettimeofday mkdir mktime select socket)
99 dnl Check for mmap header anomalies (missing MAP_FAILED, etc.)
100 if test $ac_cv_func_mmap_fixed_mapped = yes; then
101 AC_CACHE_CHECK(whether MAP_FAILED is defined,
104 [#include <sys/mman.h>
108 ac_cv_map_failed=yes,
109 ac_cv_map_failed=no))
111 AC_CACHE_CHECK(whether MAP_ANONYMOUS is defined,
114 [#include <sys/mman.h>
118 ac_cv_map_anonymous=yes,
119 ac_cv_map_anonymous=no))
121 if test $ac_cv_map_failed = yes; then
122 AC_DEFINE(HAVE_MAP_FAILED)
125 if test $ac_cv_map_anonymous = yes; then
126 AC_DEFINE(HAVE_MAP_ANONYMOUS)
134 AC_ARG_ENABLE(threads, [ --enable-threads enable threads support])
135 AC_ARG_WITH(gc, [ --with-gc[=ARG] use garbage collector [gc2,gc1,boehm]])
138 AC_MSG_CHECKING(whether to include threads support)
139 if test x"$enable_threads" = "xno"; then
144 AC_DEFINE(USE_THREADS)
145 AC_DEFINE(EXTERNAL_OVERFLOW)
146 AC_DEFINE(DONT_FREE_FIRST)
148 LIBTHREAD="libthreads.a"
149 THREAD_OBJ="threads/libthreads.a"
154 dnl garbage collector version
155 AC_MSG_CHECKING(which garbage collector to use)
158 AC_MSG_RESULT(Boehm garbage collector)
159 GC_OBJ="mm/libboehm.a libgc.a"
160 if test ! -e libgc.a; then
161 AC_MSG_ERROR([libgc.a not found, see README.boehm])
167 AC_MSG_RESULT(old garbage collector)
168 GC_OBJ="mm/libmm_old.a"
171 AC_MSG_RESULT(new garbage collector)
172 GC_OBJ="mm/libmm_new.a"
175 AC_MSG_ERROR(Invalid GC)