* src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
[cacao.git] / configure.ac
index 7a392c1a023a1c17e160e7c646ecc3f94d882d95..838852633be06afa6a0eb5dc8ab284e79b64c43c 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(cacao, 0.94+cvs, cacao@cacaojvm.org)
+AC_INIT(cacao, 0.95+cvs, cacao@cacaojvm.org)
 AC_CONFIG_SRCDIR(src/cacao/cacao.c)
 AC_CANONICAL_HOST
 AC_PREREQ(2.59)
@@ -14,80 +14,91 @@ AC_PREFIX_DEFAULT(/usr/local/cacao)
 
 dnl set optimization and debugging for all architectures and systems
 if test x"$CFLAGS" = "x"; then
-       CFLAGS="-O0 -g3"
+    CFLAGS="-O0 -g3"
 fi
 
 dnl system type
 case "$host_cpu" in
 alpha | alphaev56 | alphapca56 )
-       ARCH_DIR="alpha"
-       CFLAGS="$CFLAGS -mieee -D__ALPHA__"
-       ;;
+    ARCH_DIR="alpha"
+    CFLAGS="$CFLAGS -mieee -D__ALPHA__"
+    ;;
 
 arm | armv4tl | armv5b )
-       ARCH_DIR="arm"
-       CFLAGS="$CFLAGS -D__ARM__"
-       ;;
+    ARCH_DIR="arm"
+    CFLAGS="$CFLAGS -D__ARM__"
+    ;;
 
 i386 | i486 | i586 | i686 )
-       ARCH_DIR="i386"
-       CFLAGS="$CFLAGS -D__I386__"
-       ;;
+    ARCH_DIR="i386"
+    CFLAGS="$CFLAGS -D__I386__"
+    ;;
 
 mips )
-       ARCH_DIR="mips"
-       CFLAGS="$CFLAGS -D__MIPS__"
-       ;;
+    ARCH_DIR="mips"
+    CFLAGS="$CFLAGS -D__MIPS__"
+    ;;
 
 powerpc )
-       ARCH_DIR="powerpc"
-       CFLAGS="$CFLAGS -D__POWERPC__"
-       ;;
+    ARCH_DIR="powerpc"
+    CFLAGS="$CFLAGS -D__POWERPC__"
+    ;;
 
 powerpc64 )
-       ARCH_DIR="powerpc64"
-       CFLAGS="$CFLAGS -D__POWERPC64__"
-       ;;
+    ARCH_DIR="powerpc64"
+    CFLAGS="$CFLAGS -D__POWERPC64__"
+    ;;
 
 x86_64 )
-       ARCH_DIR="x86_64"
-       CFLAGS="$CFLAGS -D__X86_64__"
-       ;;
+    ARCH_DIR="x86_64"
+    CFLAGS="$CFLAGS -D__X86_64__"
+    ;;
 
 xdspcore )
-       ARCH_DIR="xdspcore"
-       ENABLE_STATICVM="yes"
-       CFLAGS="$CFLAGS -D__XDSPCORE__"
-       USE_SCHEDULER="1"
-       ;;
+    ARCH_DIR="xdspcore"
+    ENABLE_STATICVM="yes"
+    CFLAGS="$CFLAGS -D__XDSPCORE__"
+    USE_SCHEDULER="1"
+    ;;
+
 * )
-       AC_MSG_ERROR($host_cpu systems are not supported at this time)
-        ;;
+    AC_MSG_ERROR($host_cpu systems are not supported at this time)
+    ;;
 esac
 
 dnl host type
 case "$host_os" in
-*linux* | *Linux* )
-       OS_DIR="linux"
-        CFLAGS="$CFLAGS -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
-       ;;
 *darwin* )
-       OS_DIR="darwin"
-        CFLAGS="$CFLAGS -D__DARWIN__ -ansi -pedantic -Wall -Wno-long-long"
-        ;;
+    OS_DIR="darwin"
+    CFLAGS="$CFLAGS -D__DARWIN__ -ansi -pedantic -Wall -Wno-long-long"
+    ;;
+
 *freebsd* )
-       OS_DIR="freebsd"
-       CFLAGS="$CFLAGS -D__FREEBSD__ -ansi -pedantic -Wall -Wno-long-long -D_XOPEN_SOURCE_EXTENDED"
-       ;;
+    OS_DIR="freebsd"
+    CFLAGS="$CFLAGS -D__FREEBSD__ -ansi -pedantic -Wall -Wno-long-long -D_XOPEN_SOURCE_EXTENDED"
+    ;;
+
 *irix* )
-       OS_DIR="irix"
-        CFLAGS="$CFLAGS -D__IRIX__"
-        ;;
+    OS_DIR="irix"
+    CFLAGS="$CFLAGS -D__IRIX__"
+    ;;
+
+*linux* | *Linux* )
+    OS_DIR="linux"
+    CFLAGS="$CFLAGS -D__LINUX__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
+    ;;
+
 * )
-       ;;
+    ;;
 esac
 
 
+dnl define some stuff required for --fullversion
+AC_DEFINE_UNQUOTED(VERSION_CONFIGURE_ARGS, "$ac_configure_args", [configure arguments])
+AC_DEFINE_UNQUOTED(VERSION_CC, "$CC", [CC used])
+AC_DEFINE_UNQUOTED(VERSION_CFLAGS, "$CFLAGS", [CFLAGS used])
+
+
 dnl define and substitute some architecture specific variables
 AC_DEFINE_UNQUOTED([ARCH_DIR], "${ARCH_DIR}", [architecture directory])
 AC_SUBST(ARCH_DIR)
@@ -101,11 +112,13 @@ AM_PROG_AS
 AC_PROG_LD
 AC_PROG_LD_GNU
 AC_PROG_RANLIB
-AC_DISABLE_SHARED
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AM_PROG_MKDIR_P
 
+AC_ENABLE_SHARED
+AC_DISABLE_STATIC
+
 dnl libtool stuff
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
@@ -194,6 +207,22 @@ if test x"${ENABLE_JIT}" = "xyes"; then
 fi
 
 
+dnl check if softfloat should be used
+AC_MSG_CHECKING(whether softfloat should be used)
+AC_ARG_ENABLE([softfloat],
+              [AS_HELP_STRING(--enable-softfloat,use softfloat [[default=no]])],
+              [case "${enableval}" in
+                  yes) ENABLE_SOFTFLOAT=yes;;
+                  *) ENABLE_SOFTFLOAT=no;;
+               esac],
+              [ENABLE_SOFTFLOAT=no])
+AC_MSG_RESULT(${ENABLE_SOFTFLOAT})
+
+if test x"${ENABLE_SOFTFLOAT}" = "xyes"; then
+    AC_DEFINE([ENABLE_SOFTFLOAT], 1, [enable softfloat])
+fi
+
+
 dnl check for interpreter
 AC_ARG_ENABLE([intrp], [AS_HELP_STRING(--enable-intrp,enable interpreter [[default=no]])])
 
@@ -318,7 +347,7 @@ else
     AC_MSG_RESULT(no)
     AM_CONDITIONAL([WITH_BINUTILS_DISASSEMBLER], [false])
 fi
-AM_CONDITIONAL([NDEBUG], test x"${NDEBUG}" = "xno")
+AM_CONDITIONAL([NDEBUG], test x"${NDEBUG}" = "xyes")
 
 
 dnl check for statistics
@@ -420,10 +449,27 @@ else
 fi
 
 
+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]])],
+              [case "${enableval}" in
+                   no) ENABLE_IFCONV=no;;
+                   *) ENABLE_IFCONV=yes;;
+               esac],
+              [ENABLE_IFCONV=yes])
+AC_MSG_RESULT(${ENABLE_IFCONV})
+AM_CONDITIONAL([ENABLE_IFCONV], test x"${ENABLE_IFCONV}" = "xyes")
+   
+if test x"${ENABLE_IFCONV}" = "xyes"; then
+    AC_DEFINE([ENABLE_IFCONV], 1, [enable if-conversion])
+fi
+
+
 dnl check if linear scan register allocator(lsra) should be used
 AC_MSG_CHECKING(whether lsra should be supported)
 AC_ARG_ENABLE([lsra],
-              [AS_HELP_STRING(--enable-lsra,enable linear scan register allocator [[default=yes]])],
+              [AS_HELP_STRING(--disable-lsra,disable linear scan register allocator [[default=yes]])],
               [case "${enableval}" in
                    no) ENABLE_LSRA=no;;
                    *) ENABLE_LSRA=yes;;
@@ -489,14 +535,19 @@ if test x"${ENABLE_ZLIB}" = "xyes"; then
     AC_CHECK_HEADERS([zlib.h],, [AC_MSG_ERROR(cannot find zlib.h)])
     AC_CHECK_LIB(z, inflate,, [AC_MSG_ERROR(cannot find libz)])
     AC_DEFINE([ENABLE_ZLIB], 1, [use zlib])
+    VM_ZIP_STRING=vm.zip
+else
+    VM_ZIP_STRING=classes/
 fi
+AC_DEFINE_UNQUOTED(VM_ZIP_STRING, "${VM_ZIP_STRING}", [define to the string base name of the VM zip file])
+AC_SUBST(VM_ZIP_STRING)
 AM_CONDITIONAL([ENABLE_ZLIB], test x"${ENABLE_ZLIB}" = "xyes")
 
 
 dnl check if CACAO should be linked statically
-AC_MSG_CHECKING(whether to link GNU classpath native libraries statically into CACAO)
+AC_MSG_CHECKING(whether to link CACAO statically)
 AC_ARG_ENABLE([staticvm],
-              [AS_HELP_STRING(--enable-staticvm, link GNU classpath native libraries statically into CACAO [[default=no]])],
+              [AS_HELP_STRING(--enable-staticvm,link CACAO statically [[default=no]])],
               [case "${enableval}" in
                   yes) ENABLE_STATICVM=yes;;
                   *) ENABLE_STATICVM=no;;
@@ -506,12 +557,6 @@ AC_MSG_RESULT(${ENABLE_STATICVM})
 
 if test x"${ENABLE_STATICVM}" = "xyes"; then
     AC_DEFINE([ENABLE_STATICVM], 1, [link CACAO statically])
-
-    dnl check for some classpath related stuff when we link statically
-    AM_ICONV_LINK
-else
-    AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)])
-    AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)])
 fi
 AM_CONDITIONAL([ENABLE_STATICVM], test x"${ENABLE_STATICVM}" = "xyes")
 AC_SUBST(ENABLE_STATICVM)
@@ -537,20 +582,46 @@ AC_MSG_RESULT(${CLASSPATH_LIBDIR})
 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [GNU Classpath libraries installation directory])
-
 AC_SUBST(CLASSPATH_LIBDIR)
 
+AC_CHECK_HEADER([${CLASSPATH_PREFIX}/include/jni.h],
+                [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_H], "${CLASSPATH_PREFIX}/include/jni.h", [GNU Classpath jni.h header])],
+                [AC_MSG_ERROR(cannot find jni.h)])
+
+
+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_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)])
+    AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)])
+fi
+AM_CONDITIONAL([WITH_STATIC_CLASSPATH], test x"${WITH_STATIC_CLASSPATH}" = "xyes")
+AC_SUBST(WITH_STATIC_CLASSPATH)
 
 
 dnl Maybe the user has Classpath installed 'flat'.
 AC_ARG_WITH([flat-classpath], [AS_HELP_STRING(--with-flat-classpath, GNU Classpath is not zipped in the install directory)])
 if test x"$with_flat_classpath" = "x"; then
-       GLIBJZ=glibj.zip
+       GLIBJ_ZIP_STRING=glibj.zip
 else
-       GLIBJZ=
+       GLIBJ_ZIP_STRING=
 fi
-AC_SUBST(GLIBJZ)
-AC_DEFINE_UNQUOTED(GLIBJZ_STRING, "$GLIBJZ", [define to the string base name of the classpath zip file])
+AC_SUBST(GLIBJ_ZIP_STRING)
+AC_DEFINE_UNQUOTED(GLIBJ_ZIP_STRING, "$GLIBJ_ZIP_STRING", [define to the string base name of the classpath zip file])
 
 
 dnl check for some programs we need
@@ -563,6 +634,7 @@ dnl the export is not my favorite (is there another way?)
 export CFLAGS
 AC_CONFIG_SUBDIRS(src/boehm-gc)
 
+
 AC_CONFIG_FILES([Makefile]
                [contrib/Makefile]
                [contrib/setenvinstalled]
@@ -606,6 +678,7 @@ AC_CONFIG_FILES([Makefile]
                [src/vm/jit/powerpc/Makefile]
                [src/vm/jit/powerpc/darwin/Makefile]
                [src/vm/jit/powerpc/linux/Makefile]
+               [src/vm/jit/profile/Makefile]
                [src/vm/jit/schedule/Makefile]
                [src/vm/jit/tools/Makefile]
                [src/vm/jit/verify/Makefile]