X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=60d461a75b1ca6f9f82c36e452da59f039702ca7;hb=4eeda22a7c35565197f681f8b8eef4d5fc70aacd;hp=034213bf2f051b783fbcbba9166fbe6e4351c334;hpb=b093929cdd4aff5e63b77ebc5d6e31c48aa94591;p=cacao.git diff --git a/configure.ac b/configure.ac index 034213bf2..60d461a75 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,7 @@ dnl configure.ac dnl -dnl Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel, -dnl C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring, -dnl E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, -dnl J. Wenninger, Institut f. Computersprachen - TU Wien +dnl Copyright (C) 1996-2005, 2006, 2007, 2008 +dnl CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO dnl dnl This file is part of CACAO. dnl @@ -21,8 +19,6 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA dnl 02110-1301, USA. -dnl -dnl $Id: configure.ac 8375 2007-08-21 11:04:23Z twisti $ dnl Process this file with autoconf to produce a configure script. @@ -228,7 +224,10 @@ AC_HEADER_DIRENT AC_HEADER_STDC dnl keep them alpha-sorted! +AC_CHECK_HEADERS([assert.h]) +AC_CHECK_HEADERS([errno.h]) AC_CHECK_HEADERS([fcntl.h]) +AC_CHECK_HEADERS([libgen.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([stdlib.h]) AC_CHECK_HEADERS([string.h]) @@ -274,24 +273,32 @@ AC_FUNC_MEMCMP AC_FUNC_MMAP dnl keep them alpha-sorted! +AC_CHECK_FUNCS([abort]) AC_CHECK_FUNCS([accept]) +AC_CHECK_FUNCS([access]) AC_CHECK_FUNCS([atoi]) AC_CHECK_FUNCS([atol]) AC_CHECK_FUNCS([calloc]) AC_CHECK_FUNCS([close]) AC_CHECK_FUNCS([confstr]) AC_CHECK_FUNCS([connect]) +AC_CHECK_FUNCS([dirname]) +AC_CHECK_FUNCS([fclose]) AC_CHECK_FUNCS([fflush]) AC_CHECK_FUNCS([fopen]) AC_CHECK_FUNCS([fprintf]) +AC_CHECK_FUNCS([fread]) AC_CHECK_FUNCS([free]) AC_CHECK_FUNCS([fstat]) +AC_CHECK_FUNCS([fsync]) +AC_CHECK_FUNCS([ftruncate]) AC_CHECK_FUNCS([getcwd]) AC_CHECK_FUNCS([gethostbyname]) AC_CHECK_FUNCS([gethostname]) AC_CHECK_FUNCS([getpagesize]) AC_CHECK_FUNCS([getrusage]) AC_CHECK_FUNCS([getsockname]) +AC_CHECK_FUNCS([getsockopt]) AC_CHECK_FUNCS([gettimeofday]) AC_CHECK_FUNCS([htons]) AC_CHECK_FUNCS([ioctl]) @@ -301,9 +308,14 @@ AC_CHECK_FUNCS([localtime]) AC_CHECK_FUNCS([localtime_r]) AC_CHECK_FUNCS([lseek]) AC_CHECK_FUNCS([malloc]) +AC_CHECK_FUNCS([memcpy]) +AC_CHECK_FUNCS([memset]) AC_CHECK_FUNCS([mmap]) AC_CHECK_FUNCS([mprotect]) AC_CHECK_FUNCS([open]) +AC_CHECK_FUNCS([read]) +AC_CHECK_FUNCS([readlink]) +AC_CHECK_FUNCS([realloc]) AC_CHECK_FUNCS([recv]) AC_CHECK_FUNCS([scandir]) AC_CHECK_FUNCS([select]) @@ -311,12 +323,15 @@ AC_CHECK_FUNCS([send]) AC_CHECK_FUNCS([setsockopt]) AC_CHECK_FUNCS([shutdown]) AC_CHECK_FUNCS([socket]) +AC_CHECK_FUNCS([stat]) AC_CHECK_FUNCS([strchr]) AC_CHECK_FUNCS([strdup]) AC_CHECK_FUNCS([strerror]) +AC_CHECK_FUNCS([strlen]) AC_CHECK_FUNCS([strncmp]) AC_CHECK_FUNCS([strstr]) AC_CHECK_FUNCS([time]) +AC_CHECK_FUNCS([write]) dnl Checks for libraries. @@ -347,135 +362,24 @@ AC_DEFINE_UNQUOTED([CACAO_LIBDIR], "${CACAO_LIBDIR}", [library installation pref AC_SUBST(CACAO_LIBDIR) -dnl Features +AC_CHECK_ENABLE_LTDL AC_CHECK_ENABLE_JAVA -AC_CHECK_ENABLE_JIT - -dnl with-options -AC_CHECK_WITH_CACAOH - -dnl check for stuff that should be done in software -AC_CHECK_SOFTFLOAT -AC_CHECK_SOFT_FLOAT_CMP -AC_CHECK_SOFT_DOUBLE_CMP - -dnl check for interpreter -AC_ARG_ENABLE([intrp], [AS_HELP_STRING(--enable-intrp,enable interpreter [[default=no]])]) - -AC_MSG_CHECKING(whether interpreter should be compiled) -if test x"$enable_intrp" = "xyes"; then - AC_MSG_RESULT(yes) - AC_DEFINE([ENABLE_INTRP], 1, [enable interpreter]) - AM_CONDITIONAL([ENABLE_INTRP], [true]) - ENABLE_INTRP=yes - - AC_ASM_SKIP16 - - dnl check for libffi - AC_ARG_WITH([ffi], - [AS_HELP_STRING(--with-ffi,use libffi to call native functions)], - [WITH_FFI=yes - AC_CHECK_HEADERS([ffi.h],, [AC_MSG_ERROR(cannot find ffi.h)]) - AC_CHECK_LIB(ffi, ffi_call,, [AC_MSG_ERROR(cannot find libffi)]) - AC_DEFINE([WITH_FFI], 1, [use libffi])], - [WITH_FFI=no]) - - dnl check for libffcall - AC_ARG_WITH([ffcall], - [AS_HELP_STRING(--with-ffcall,use libffcall to call native functions)], - [WITH_FFCALL=yes - AC_CHECK_HEADERS([avcall.h],, [AC_MSG_ERROR(cannot find avcall.h)]) - AC_CHECK_LIB(avcall, __builtin_avcall,, [AC_MSG_ERROR(cannot find libavcall (from libffcall))]) - AC_DEFINE([WITH_FFCALL], 1, [use libffcall])], - [WITH_FFCALL=no]) - - dnl check for libffi or libffcall - if test x"${WITH_FFI}" = "xyes" -a x"${WITH_FFCALL}" = "xyes"; then - AC_ERROR(Enable only libffi or libffcall.) - fi - if test x"${WITH_FFI}" = "xno" -a x"${WITH_FFCALL}" = "xno"; then - AC_ERROR(Enable one of libffi or libffcall.) - fi - -else - AC_MSG_RESULT(no) - AM_CONDITIONAL([ENABLE_INTRP], [false]) - ENABLE_INTRP="no" -fi +AC_CHECK_ENABLE_JIT +AC_CHECK_ENABLE_INTRP if test x"${ENABLE_JIT}" = "xno" -a x"${ENABLE_INTRP}" = "xno"; then AC_ERROR(You have to enable at least the JIT or the interpreter.) fi +AC_CHECK_SOFTFLOAT +AC_CHECK_SOFT_FLOAT_CMP +AC_CHECK_SOFT_DOUBLE_CMP -dnl check for garbage collector usage -AC_ARG_ENABLE([gc], [AS_HELP_STRING(--enable-gc,enable garbage collector support (none,boehm,cacao) [[default=boehm]])]) -AC_MSG_CHECKING(whether GC should be enabled) -enable_gc=${enable_gc:-boehm} -case "$enable_gc" in -no | none) - AC_DEFINE([DISABLE_GC], 1, [disable garbage collector]) - ENABLE_GC=none - AC_MSG_RESULT(no) - ;; - -boehm) - AC_DEFINE([ENABLE_GC_BOEHM], 1, [enable conservative boehm-gc]) - ENABLE_GC=boehm - AC_MSG_RESULT(yes, boehm-gc) - ;; - -cacao) - AC_DEFINE([ENABLE_GC_CACAO], 1, [enable exact cacao-gc]) - ENABLE_GC=cacao - AC_MSG_RESULT(yes, cacao-gc) - ;; - -*) - AC_MSG_ERROR($enable_gc is an unknown garbage collector package) - ;; -esac -AM_CONDITIONAL([DISABLE_GC], test x"${ENABLE_GC}" = "xnone") -AM_CONDITIONAL([ENABLE_GC_BOEHM], test x"${ENABLE_GC}" = "xboehm") -AM_CONDITIONAL([ENABLE_GC_CACAO], test x"${ENABLE_GC}" = "xcacao") - - - -dnl check for dump memory usage -AC_MSG_CHECKING(whether dump memory should be disabled) -AC_ARG_ENABLE([dump], - [AS_HELP_STRING(--disable-dump,disable dump memory (for debugging only!) [[default=yes]])], - [case "${enableval}" in - no) - DISABLE_DUMP=yes - AC_DEFINE([DISABLE_DUMP], 1, [disable dump memory]) - ;; - *) DISABLE_DUMP=no;; - esac], - [DISABLE_DUMP=no]) -AC_MSG_RESULT(${DISABLE_DUMP}) - - -dnl check for debug -AC_MSG_CHECKING(whether debug code generation should be enabled) -AC_ARG_ENABLE([debug], - [AS_HELP_STRING(--disable-debug,disable debug code generation [[default=yes]])], - [case "${enableval}" in - no) NDEBUG=yes - AC_DEFINE([NDEBUG], 1, [disable debug code]) - ;; - *) NDEBUG=no;; - esac], - [NDEBUG=no]) - -if test x"${NDEBUG}" = "xno"; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi -AM_CONDITIONAL([NDEBUG], test x"${NDEBUG}" = "xyes") +AC_CHECK_ENABLE_GC +AC_CHECK_ENABLE_DEBUG +AC_CHECK_ENABLE_DUMP dnl check for memcheck support @@ -495,6 +399,23 @@ if test x"${ENABLE_MEMCHECK}" = "xyes"; then fi +dnl check for handles (indirection cells) support +AC_MSG_CHECKING(whether handles (indirection cells) should be enabled) +AC_ARG_ENABLE([handles], + [AS_HELP_STRING(--enable-handles,enable handles (indirection cells) [[default=no]])], + [case "${enableval}" in + yes) ENABLE_HANDLES=yes;; + *) ENABLE_HANDLES=no;; + esac], + [ENABLE_HANDLES=no]) +AC_MSG_RESULT(${ENABLE_HANDLES}) +AM_CONDITIONAL([ENABLE_HANDLES], test x"${ENABLE_HANDLES}" = "xyes") + +if test x"${ENABLE_HANDLES}" = "xyes"; then + AC_DEFINE([ENABLE_HANDLES], 1, [enable handles (indirection cells)]) +fi + + dnl check for vmlog support AC_MSG_CHECKING(whether vmlog tracing should be enabled) AC_ARG_ENABLE([vmlog], @@ -584,7 +505,7 @@ fi dnl check for verifier AC_MSG_CHECKING(whether classfile verification should be enabled) AC_ARG_ENABLE([verifier], - [AS_HELP_STRING(--disable-verifier,disable classfile verification [[default=yes]])], + [AS_HELP_STRING(--disable-verifier,disable classfile verification [[default=enabled]])], [case "${enableval}" in no) ENABLE_VERIFIER=no;; *) ENABLE_VERIFIER=yes;; @@ -655,7 +576,7 @@ AC_CHECK_ENABLE_THREADS dnl check if if-conversion should be supported AC_MSG_CHECKING(whether if-conversion should be supported) AC_ARG_ENABLE([ifconv], - [AS_HELP_STRING(--disable-ifconv,disable if-conversion [[default=yes]])], + [AS_HELP_STRING(--disable-ifconv,disable if-conversion [[default=enabled]])], [case "${enableval}" in no) ENABLE_IFCONV=no;; *) ENABLE_IFCONV=yes;; @@ -740,7 +661,7 @@ fi dnl check if linear scan register allocator(lsra) with SSA should be used AC_MSG_CHECKING(whether lsra with ssa should be supported) AC_ARG_ENABLE([ssa], - [AS_HELP_STRING(--disable-ssa,disable ssa [[default=no]])], + [AS_HELP_STRING(--disable-ssa,disable ssa [[default=disabled]])], [case "${enableval}" in no) ENABLE_SSA=no;; *) ENABLE_SSA=yes;; @@ -831,6 +752,7 @@ AC_PROG_LIBTOOL AC_CHECK_ENABLE_STATICVM AC_CHECK_ENABLE_ANNOTATIONS +AC_CHECK_ENABLE_ASSERTION dnl where is CACAO's vm.zip @@ -844,38 +766,15 @@ AC_DEFINE_UNQUOTED([CACAO_VM_ZIP], "${CACAO_VM_ZIP}", [CACAO's vm.zip]) AC_SUBST(CACAO_VM_ZIP) +AC_CHECK_WITH_CACAOH AC_CHECK_WITH_CLASSPATH AC_CHECK_WITH_CLASSPATH_PREFIX AC_CHECK_WITH_CLASSPATH_CLASSES AC_CHECK_WITH_CLASSPATH_LIBDIR AC_CHECK_WITH_CLASSPATH_INCLUDEDIR - AC_CHECK_WITH_JRE_LAYOUT -dnl check if GNU Classpath should be linked statically into CACAO -AC_MSG_CHECKING(whether to link GNU Classpath native libraries statically into CACAO) -AC_ARG_WITH([static-classpath], - [AS_HELP_STRING(--with-static-classpath,link GNU classpath native libraries statically into CACAO [[default=no]])], - [case "${enableval}" in - yes) WITH_STATIC_CLASSPATH=yes;; - *) WITH_STATIC_CLASSPATH=no;; - esac], - [WITH_STATIC_CLASSPATH=no]) -AC_MSG_RESULT(${WITH_STATIC_CLASSPATH}) - -if test x"${WITH_STATIC_CLASSPATH}" = "xyes"; then - AC_DEFINE([WITH_STATIC_CLASSPATH], 1, [link GNU classpath native libraries statically into CACAO]) - - dnl check for some classpath related stuff when we link statically - AM_ICONV_LINK -else - AC_CHECK_ENABLE_LTDL -fi -AM_CONDITIONAL([WITH_STATIC_CLASSPATH], test x"${WITH_STATIC_CLASSPATH}" = "xyes") -AC_SUBST(WITH_STATIC_CLASSPATH) - - dnl check for some programs we need case "${WITH_CLASSPATH}" in @@ -906,6 +805,16 @@ AC_CHECK_HEADERS( ] ) +dnl python + +AZ_PYTHON_DEFAULT +AZ_PYTHON_ENABLE +AZ_PYTHON_WITH +AZ_PYTHON_VERSION_ENSURE( [2.4] ) +AZ_PYTHON_CSPEC +AZ_PYTHON_LSPEC + + dnl finally pass CFLAGS to Makefiles via AM_CFLAGS CFLAGS=$OPT_CFLAGS AM_CFLAGS=$ARCH_CFLAGS @@ -931,7 +840,6 @@ AC_CONFIG_FILES([Makefile] [src/native/Makefile] [src/native/include/Makefile] [src/native/jvmti/Makefile] - [src/native/tools/Makefile] [src/native/vm/Makefile] [src/native/vm/cldc1.1/Makefile] [src/native/vm/gnu/Makefile] @@ -957,6 +865,7 @@ AC_CONFIG_FILES([Makefile] [src/vm/jit/i386/linux/Makefile] [src/vm/jit/intrp/Makefile] [src/vm/jit/inline/Makefile] + [src/vm/jit/ir/Makefile] [src/vm/jit/loop/Makefile] [src/vm/jit/m68k/Makefile] [src/vm/jit/m68k/linux/Makefile] @@ -986,6 +895,7 @@ AC_CONFIG_FILES([Makefile] [tests/Makefile] [tests/regression/Makefile] [tests/regression/codepatching/Makefile] + [tests/regression/assertion/Makefile] [tests/regression/jasmin/Makefile] [tests/regression/native/Makefile] [tests/regression/resolving/Makefile]