X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=8eadbef6ad72dd83a4e9bcba3a8e9771f8f4e4ac;hb=46f51d89cbc58071ac3410de45b6432a2177ec8b;hp=8bafe9fe5b51fd4de588adfe082459067d3ce2e3;hpb=6f0eb911708dc3622e7f9d97049f80aa5ad81039;p=cacao.git diff --git a/configure.ac b/configure.ac index 8bafe9fe5..8eadbef6a 100644 --- a/configure.ac +++ b/configure.ac @@ -23,11 +23,11 @@ dnl 02110-1301, USA. dnl Process this file with autoconf to produce a configure script. -AC_INIT(cacao, 0.98+svn, cacao@cacaojvm.org) +AC_INIT(cacao, 1.1.0pre, cacao@cacaojvm.org) AC_CONFIG_SRCDIR(src/cacao/cacao.c) AC_CANONICAL_HOST AC_PREREQ(2.59) -AM_INIT_AUTOMAKE([1.9.0 dist-bzip2]) +AM_INIT_AUTOMAKE([1.9.0 dist-bzip2 tar-ustar]) AM_MAINTAINER_MODE AM_CONFIG_HEADER([config.h]) @@ -37,7 +37,7 @@ AC_PREFIX_DEFAULT(/usr/local/cacao) dnl set optimization and debugging for all architectures and systems if test x"$CFLAGS" = "x"; then - OPT_CFLAGS="-O0 -g3" + OPT_CFLAGS="-O0 -g" else OPT_CFLAGS=$CFLAGS fi @@ -129,19 +129,26 @@ case "$host_os" in *cygwin* ) OS_DIR="cygwin" INTRP_CFLAGS="$ARCH_CFLAGS -D__WINDOWS__ -D__CYGWIN__ -Wall -Wno-long-long" - ARCH_CFLAGS="$ARCH_CFLAGS -D__WINDOWS__ -D__CYGWIN__ -ansi -pedantic -Wall -Wno-long-long" + ARCH_CFLAGS="$ARCH_CFLAGS -D__WINDOWS__ -D__CYGWIN__ -std=c99 -pedantic -Wall -Wno-long-long" ;; *darwin* ) OS_DIR="darwin" INTRP_CFLAGS="$ARCH_CFLAGS -D__DARWIN__ -Wall -Wno-long-long" - ARCH_CFLAGS="$ARCH_CFLAGS -D__DARWIN__ -ansi -pedantic -Wall -Wno-long-long" + ARCH_CFLAGS="$ARCH_CFLAGS -D__DARWIN__ -std=c99 -pedantic -Wall -Wno-long-long" + ;; + +dnl Must be BEFORE *freebsd*. +*kfreebsd*-gnu) + OS_DIR="freebsd" + INTRP_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" + ARCH_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" ;; *freebsd* ) OS_DIR="freebsd" INTRP_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -Wall -Wno-long-long -D_XOPEN_SOURCE_EXTENDED" - ARCH_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -ansi -pedantic -Wall -Wno-long-long -D_XOPEN_SOURCE_EXTENDED" + ARCH_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -std=c99 -pedantic -Wall -Wno-long-long -D_XOPEN_SOURCE_EXTENDED" ;; *irix* ) @@ -150,37 +157,32 @@ case "$host_os" in ARCH_CFLAGS="$ARCH_CFLAGS -D__IRIX__" ;; -*kfreebsd*-gnu) - OS_DIR="freebsd" - INTRP_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" - ARCH_CFLAGS="$ARCH_CFLAGS -D__FREEBSD__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" - ;; - -dnl must be before *linux* +dnl Must be BEFORE *linux*. *uclinux | *elf ) OS_DIR="uclinux" - INTRP_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" - ARCH_CFLAGS="$ARCH_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" + INTRP_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" + ARCH_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" ;; *linux* | *Linux* ) OS_DIR="linux" - INTRP_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" - ARCH_CFLAGS="$ARCH_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" + INTRP_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" + ARCH_CFLAGS="$ARCH_CFLAGS -D__LINUX__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" ;; *netbsd* ) OS_DIR="netbsd" - INTRP_CFLAGS="$ARCH_CFLAGS -D__NETBSD__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" - ARCH_CFLAGS="$ARCH_CFLAGS -D__NETBSD__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" + INTRP_CFLAGS="$ARCH_CFLAGS -D__NETBSD__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" + ARCH_CFLAGS="$ARCH_CFLAGS -D__NETBSD__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE" ;; *solaris* ) OS_DIR="solaris" - dnl on solaris the architecture defines 'sparc','sun','unix' are not set when cpp is called with -ansi - dnl therefore we add them here - INTRP_CFLAGS="$ARCH_CFLAGS -D__SOLARIS__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -D_BSD_SOURCE -Dsparc -Dsun -Dunix" - ARCH_CFLAGS="$ARCH_CFLAGS -D__SOLARIS__ -ansi -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -D_BSD_SOURCE -Dsparc -Dsun -Dunix" + dnl On solaris the architecture defines 'sparc', 'sun', 'unix' are + dnl not set when cpp is called with -std=c99, therefore we add them + dnl here. + INTRP_CFLAGS="$ARCH_CFLAGS -D__SOLARIS__ -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ -D_BSD_SOURCE -Dsparc -Dsun -Dunix" + ARCH_CFLAGS="$ARCH_CFLAGS -D__SOLARIS__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ -D_BSD_SOURCE -Dsparc -Dsun -Dunix" ;; * ) @@ -199,6 +201,7 @@ dnl define and substitute some architecture specific variables AC_DEFINE_UNQUOTED([ARCH_DIR], "${ARCH_DIR}", [architecture directory]) AC_DEFINE_UNQUOTED([JAVA_ARCH], "${JAVA_ARCH}", [Java architecture name]) AC_SUBST(ARCH_DIR) +AC_SUBST(JAVA_ARCH) AC_SUBST(OS_DIR) AC_SUBST(USE_SCHEDULER) @@ -208,7 +211,6 @@ AC_PROG_CC AM_PROG_AS AC_PROG_LD AC_PROG_LD_GNU -AC_PROG_RANLIB AC_PROG_LN_S AC_PROG_MAKE_SET AM_PROG_MKDIR_P @@ -217,12 +219,18 @@ dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC +dnl Crucial header files. +AC_CHECK_HEADERS([stdbool.h],, [AC_MSG_ERROR(cannot find stdbool.h)]) +AC_CHECK_HEADERS([stdint.h],, [AC_MSG_ERROR(cannot find stdint.h)]) + 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([stdint.h]) +AC_CHECK_HEADERS([stdio.h]) AC_CHECK_HEADERS([stdlib.h]) AC_CHECK_HEADERS([string.h]) AC_CHECK_HEADERS([time.h]) @@ -238,7 +246,6 @@ AC_CHECK_HEADERS([sys/time.h]) AC_CHECK_HEADERS([sys/types.h]) dnl this is for fdlibm -AC_CHECK_HEADERS([stdint.h]) AC_CHECK_HEADERS([inttypes.h]) AC_CHECK_HEADERS([sys/config.h]) AC_CHECK_HEADERS([sys/types.h]) @@ -258,7 +265,6 @@ AC_STRUCT_TM dnl Checks for libraries (NOTE: Should be done before function checks, dnl as some functions may be in libraries we check for). -AC_CHECK_LIB(dl, dlopen,,) dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL @@ -358,8 +364,7 @@ AC_DEFINE_UNQUOTED([CACAO_LIBDIR], "${CACAO_LIBDIR}", [library installation pref AC_SUBST(CACAO_LIBDIR) -AC_CHECK_ENABLE_LTDL - +AC_CHECK_ENABLE_DL AC_CHECK_ENABLE_JAVA AC_CHECK_ENABLE_JIT @@ -665,9 +670,13 @@ AC_ARG_ENABLE([ssa], [ENABLE_SSA=no]) AC_MSG_RESULT(${ENABLE_SSA}) AM_CONDITIONAL([ENABLE_SSA], test x"${ENABLE_SSA}" = "xyes") +AM_CONDITIONAL([ENABLE_ESCAPE], test x"${ENABLE_SSA}" = "xyes") +AM_CONDITIONAL([ENABLE_ESCAPE_CHECK], test x"${ENABLE_SSA}" = "xyes") if test x"${ENABLE_SSA}" = "xyes"; then AC_DEFINE([ENABLE_SSA], 1, [enable lsra with ssa]) + AC_DEFINE([ENABLE_ESCAPE], 1, [enable escape analysis with ssa]) + AC_DEFINE([ENABLE_ESCAPE_CHECK], 1, [enable generating code to validate escape analysis results]) ENABLE_LSRA="no" fi @@ -694,7 +703,6 @@ if test x"${ENABLE_LSRA}" = "xyes"; then AC_DEFINE([ENABLE_LSRA], 1, [enable lsra]) fi - dnl check if profiling should be supported AC_MSG_CHECKING(whether profiling should be supported) AC_ARG_ENABLE([profiling], @@ -763,38 +771,49 @@ AC_SUBST(CACAO_VM_ZIP) AC_CHECK_WITH_CACAOH -AC_CHECK_WITH_CLASSPATH +AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY dnl Now we check for jre-layout so we can skip some checks that are dnl not required. -AC_CHECK_WITH_JRE_LAYOUT +AC_CHECK_ENABLE_JRE_LAYOUT -AC_CHECK_WITH_CLASSPATH_PREFIX -AC_CHECK_WITH_CLASSPATH_CLASSES +AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_PREFIX +AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_CLASSES -if test x"${WITH_JRE_LAYOUT}" = "xno"; then - AC_CHECK_WITH_CLASSPATH_LIBDIR +if test x"${ENABLE_JRE_LAYOUT}" = "xno"; then + AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR fi dnl The check for jni_md.h must be before jni.h. AC_CHECK_WITH_JNI_MD_H AC_CHECK_WITH_JNI_H +dnl HPI is only required for OpenJDK +case "${WITH_JAVA_RUNTIME_LIBRARY}" in + openjdk) + AC_CHECK_WITH_HPI_MD_H + AC_CHECK_WITH_HPI_H + ;; + *) + ;; +esac dnl check for some programs we need -case "${WITH_CLASSPATH}" in - cldc1.1 | gnu) +case "${WITH_JAVA_RUNTIME_LIBRARY}" in + cldc1.1 | gnuclasspath) AC_PROG_JAVAC AC_PROG_JAR ;; - sun) + openjdk) ;; *) - AC_MSG_ERROR(unknown classpath configuration ${WITH_CLASSPATH}) + AC_MSG_ERROR(unknown classpath configuration ${WITH_JAVA_RUNTIME_LIBRARY}) ;; esac +AC_CHECK_WITH_JASMIN_JAR +AC_CHECK_WITH_JUNIT_JAR AC_CHECK_HEADERS( [regex.h], @@ -842,6 +861,7 @@ AC_CONFIG_FILES([Makefile] [contrib/vmlog/Makefile] [contrib/vmlog/t/Makefile] [doc/Makefile] + [doc/doxygen/Makefile] [doc/handbook/Makefile] [man/Makefile] [src/Makefile] @@ -856,8 +876,8 @@ AC_CONFIG_FILES([Makefile] [src/native/jvmti/Makefile] [src/native/vm/Makefile] [src/native/vm/cldc1.1/Makefile] - [src/native/vm/gnu/Makefile] - [src/native/vm/sun/Makefile] + [src/native/vm/gnuclasspath/Makefile] + [src/native/vm/openjdk/Makefile] [src/scripts/Makefile] [src/scripts/java] [src/threads/Makefile] @@ -908,9 +928,9 @@ AC_CONFIG_FILES([Makefile] [src/vmcore/Makefile] [tests/Makefile] [tests/regression/Makefile] - [tests/regression/bugzilla/Makefile] - [tests/regression/codepatching/Makefile] [tests/regression/assertion/Makefile] + [tests/regression/base/Makefile] + [tests/regression/bugzilla/Makefile] [tests/regression/jasmin/Makefile] [tests/regression/native/Makefile] [tests/regression/resolving/Makefile] @@ -923,6 +943,9 @@ AC_CONFIG_FILES([Makefile] dnl now configure subpackages with OPT_CFLAGS and ARCH_CFLAGS export OPT_CFLAGS export ARCH_CFLAGS +dnl We only build the shared library objects but we use it as +dnl noinst_LTLIBRARIES +ac_configure_args="$ac_configure_args --disable-static" AC_CONFIG_SUBDIRS(src/mm/boehm-gc)