X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=32b90969338e1189492e17bae12ce6aa843b05a8;hb=65df5e08b13883344eea8e0caf1c52b151229c5b;hp=087e43f3b1f92178ef1eafab8d525ef81ed78822;hpb=1a923407a3df8b65f485a9ea6346ee9a21e2ac40;p=cacao.git diff --git a/configure.ac b/configure.ac index 087e43f3b..32b909693 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, 0.99rc7, 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,19 @@ 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" ;; *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* ) @@ -152,35 +152,36 @@ case "$host_os" in *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" + 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" ;; 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" ;; * ) @@ -195,12 +196,6 @@ CFLAGS="$ARCH_CFLAGS $OPT_CFLAGS" dnl set interpreter flags AC_SUBST(INTRP_CFLAGS) -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, "$OPT_CFLAGS $ARCH_CFLAGS", [CFLAGS used]) - - 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]) @@ -223,12 +218,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]) @@ -244,7 +245,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]) @@ -264,7 +264,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 @@ -273,6 +272,7 @@ 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]) @@ -323,9 +323,12 @@ AC_CHECK_FUNCS([setsockopt]) AC_CHECK_FUNCS([shutdown]) AC_CHECK_FUNCS([socket]) AC_CHECK_FUNCS([stat]) +AC_CHECK_FUNCS([strcat]) AC_CHECK_FUNCS([strchr]) +AC_CHECK_FUNCS([strcpy]) AC_CHECK_FUNCS([strdup]) AC_CHECK_FUNCS([strerror]) +AC_CHECK_FUNCS([strlen]) AC_CHECK_FUNCS([strncmp]) AC_CHECK_FUNCS([strstr]) AC_CHECK_FUNCS([time]) @@ -360,8 +363,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 @@ -667,9 +669,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 @@ -696,7 +702,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], @@ -765,25 +770,44 @@ 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 +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_ENABLE_JRE_LAYOUT + +AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_PREFIX +AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_CLASSES +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 @@ -813,10 +837,18 @@ AZ_PYTHON_CSPEC AZ_PYTHON_LSPEC +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, "$OPT_CFLAGS $ARCH_CFLAGS $CPPFLAGS", [CFLAGS used]) + + dnl finally pass CFLAGS to Makefiles via AM_CFLAGS -CFLAGS=$OPT_CFLAGS +CFLAGS="$OPT_CFLAGS" AM_CFLAGS=$ARCH_CFLAGS +AM_CPPFLAGS="$CPPFLAGS" AC_SUBST(AM_CFLAGS) +AC_SUBST(AM_CPPFLAGS) AC_CONFIG_FILES([Makefile] @@ -826,13 +858,14 @@ AC_CONFIG_FILES([Makefile] [contrib/vmlog/Makefile] [contrib/vmlog/t/Makefile] [doc/Makefile] + [doc/doxygen/Makefile] [doc/handbook/Makefile] [man/Makefile] [src/Makefile] [src/cacao/Makefile] [src/cacaoh/Makefile] + [src/classes/Makefile] [src/fdlibm/Makefile] - [src/lib/Makefile] [src/mm/Makefile] [src/mm/cacao-gc/Makefile] [src/native/Makefile] @@ -840,13 +873,13 @@ 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] - [src/threads/native/Makefile] [src/threads/none/Makefile] + [src/threads/posix/Makefile] [src/toolbox/Makefile] [src/vm/Makefile] [src/vm/jit/Makefile] @@ -892,7 +925,9 @@ AC_CONFIG_FILES([Makefile] [src/vmcore/Makefile] [tests/Makefile] [tests/regression/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] @@ -905,6 +940,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)