X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=blobdiff_plain;f=configure.ac;h=7fe231168a3ca119817ff9f5c3336cac8d34be6a;hp=9312ab4e99ee8d68aba26d7d9d9e85bcd8e1dda0;hb=HEAD;hpb=3f7fc9ef4a2ffb2bf1db679a69999a60af0832b3 diff --git a/configure.ac b/configure.ac index 9312ab4e9..7fe231168 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl configure.ac dnl -dnl Copyright (C) 1996-2005, 2006, 2007, 2008 +dnl Copyright (C) 1996-2012 dnl CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO dnl dnl This file is part of CACAO. @@ -23,8 +23,9 @@ dnl 02110-1301, USA. dnl Process this file with autoconf to produce a configure script. -AC_INIT(cacao, 1.1.0pre, cacao@cacaojvm.org) +AC_INIT(cacao, 1.1.0pre2, cacao@cacaojvm.org) AC_CONFIG_SRCDIR(src/cacao/cacao.cpp) +AC_CONFIG_AUX_DIR([.]) AC_CANONICAL_HOST AC_PREREQ(2.59) AM_INIT_AUTOMAKE([1.9.0 dist-bzip2 tar-ustar]) @@ -43,7 +44,7 @@ alpha | alphaev56 | alphapca56 ) JAVA_ARCH="alpha" ;; -arm | armv4 | armv4tl | armv5b | armv5l | armv5tel | armv5tejl ) +arm | armv4* | armv5* | armv6* | armv7* ) ARCH_DIR="arm" ARCH_FLAGS="-D__ARM__" JAVA_ARCH="arm" @@ -133,7 +134,7 @@ case "$host_os" in *darwin* ) OS_DIR="darwin" - OS_FLAGS="-D__DARWIN__" + OS_FLAGS="-D__DARWIN__ -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE" INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS" ;; @@ -192,19 +193,41 @@ dnl Must be BEFORE *linux*. esac +AC_MSG_CHECKING(whether to disable optimizations and build with -g -O0) +AC_ARG_ENABLE([optimizations], + [AS_HELP_STRING(--disable-optimizations,build with -g -O0 [[default=no]])], + [case "${enableval}" in + no) disable_optimizations=yes;; + *) disable_optimizations=no;; + esac], + [disable_optimizations=no]) +AC_MSG_RESULT(${disable_optimizations}) + dnl Set optimization and debugging for all architectures and systems. dnl NOTE: Setting the CFLAGS/CXXFLAGS only works before calling AC_PROG_CC/AC_PROG_CXX. if test x"$CFLAGS" = "x"; then - OPT_CFLAGS="-g -O0" + OPT_CFLAGS="-g" else OPT_CFLAGS=$CFLAGS fi +if test x"${disable_optimizations}" = "xyes"; then + OPT_CFLAGS="$OPT_CFLAGS -O0" +else + OPT_CFLAGS="$OPT_CFLAGS -O2" +fi +OPT_CFLAGS="$OPT_CFLAGS -fno-strict-aliasing" if test x"$CXXFLAGS" = "x"; then - OPT_CXXFLAGS="-g -O0" + OPT_CXXFLAGS="-g" else OPT_CXXFLAGS=$CXXFLAGS fi +if test x"${disable_optimizations}" = "xyes"; then + OPT_CXXFLAGS="$OPT_CXXFLAGS -O0" +else + OPT_CXXFLAGS="$OPT_CXXFLAGS -O2" +fi +OPT_CXXFLAGS="$OPT_CXXFLAGS -fno-strict-aliasing" dnl Check for compiler. AC_PROG_CC @@ -275,6 +298,7 @@ AC_CHECK_HEADERS([errno.h]) AC_CHECK_HEADERS([execinfo.h]) AC_CHECK_HEADERS([fcntl.h]) AC_CHECK_HEADERS([libgen.h]) +AC_CHECK_HEADERS([locale.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([signal.h]) AC_CHECK_HEADERS([stdarg.h]) @@ -285,7 +309,9 @@ AC_CHECK_HEADERS([string.h]) AC_CHECK_HEADERS([time.h]) AC_CHECK_HEADERS([ucontext.h]) AC_CHECK_HEADERS([unistd.h]) +AC_CHECK_HEADERS([mach/mach.h]) AC_CHECK_HEADERS([sys/ioctl.h]) +AC_CHECK_HEADERS([sys/loadavg.h]) AC_CHECK_HEADERS([sys/mman.h]) AC_CHECK_HEADERS([sys/resource.h]) AC_CHECK_HEADERS([sys/select.h]) @@ -293,6 +319,7 @@ AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([sys/stat.h]) AC_CHECK_HEADERS([sys/time.h]) AC_CHECK_HEADERS([sys/types.h]) +AC_CHECK_HEADERS([sys/utsname.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -334,6 +361,7 @@ AC_CHECK_FUNCS([fclose]) AC_CHECK_FUNCS([fflush]) AC_CHECK_FUNCS([fopen]) AC_CHECK_FUNCS([fprintf]) +AC_CHECK_FUNCS([vfprintf]) AC_CHECK_FUNCS([fread]) AC_CHECK_FUNCS([free]) AC_CHECK_FUNCS([fstat]) @@ -343,7 +371,9 @@ AC_CHECK_FUNCS([getcwd]) AC_CHECK_FUNCS([getenv]) AC_CHECK_FUNCS([gethostbyname]) AC_CHECK_FUNCS([gethostname]) +AC_CHECK_FUNCS([getloadavg]) AC_CHECK_FUNCS([getpagesize]) +AC_CHECK_FUNCS([getpid]) AC_CHECK_FUNCS([getrusage]) AC_CHECK_FUNCS([getsockname]) AC_CHECK_FUNCS([getsockopt]) @@ -369,6 +399,7 @@ AC_CHECK_FUNCS([recv]) AC_CHECK_FUNCS([scandir]) AC_CHECK_FUNCS([select]) AC_CHECK_FUNCS([send]) +AC_CHECK_FUNCS([setlocale]) AC_CHECK_FUNCS([setsockopt]) AC_CHECK_FUNCS([shutdown]) AC_CHECK_FUNCS([socket]) @@ -386,6 +417,7 @@ AC_CHECK_FUNCS([strstr]) AC_CHECK_FUNCS([time]) AC_CHECK_FUNCS([write]) +AM_LC_MESSAGES dnl Checks for libraries. @@ -442,6 +474,9 @@ AC_CHECK_ENABLE_RT_TIMING AC_CHECK_ENABLE_CYCLE_STATS AC_CHECK_ENABLE_JVMTI AC_CHECK_ENABLE_THREADS +if test x"${ENABLE_THREADS}" != "xno"; then + AC_CHECK_USE___THREAD +fi AC_CHECK_ENABLE_IFCONV AC_CHECK_ENABLE_INLINING AC_CHECK_ENABLE_INLINING_DEBUG @@ -568,6 +603,7 @@ AC_CHECK_ENABLE_ASSERTION dnl This one depends on AC_CHECK_ENABLE_ZLIB. AC_CHECK_WITH_VM_ZIP +AC_CHECK_WITH_HGREV AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY @@ -587,6 +623,11 @@ dnl The check for jni_md.h must be before jni.h. AC_CHECK_WITH_JNI_MD_H AC_CHECK_WITH_JNI_H +dnl The jvmti.h header is only required if JVMTI is enabled. +if test x"${ENABLE_JVMTI}" = "xyes"; then + AC_CHECK_WITH_JVMTI_H +fi + dnl JVM, HPI, and JMM is only required for OpenJDK. case "${WITH_JAVA_RUNTIME_LIBRARY}" in openjdk) @@ -641,14 +682,13 @@ AZ_PYTHON_VERSION_ENSURE( [2.4] ) AZ_PYTHON_CSPEC AZ_PYTHON_LSPEC +AC_CHECK_ENABLE_GCC_PR40134 -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_CXX, "$CXX", [CXX used]) -AC_DEFINE_UNQUOTED(VERSION_CFLAGS, "$OPT_CFLAGS $ARCH_CFLAGS $CC_FLAGS $CPPFLAGS", [CFLAGS used]) -AC_DEFINE_UNQUOTED(VERSION_CXXFLAGS, "$OPT_CXXFLAGS $ARCH_CXXFLAGS $CXX_FLAGS $CPPFLAGS", [CXXFLAGS used]) +AC_CHECK_ENABLE_PIC_ASM +dnl Define version numbers. +AC_VERSION_DETAIL +AC_VERSION_CONFIG dnl Finally pass flags to Makefiles. CFLAGS="$OPT_CFLAGS" @@ -680,7 +720,6 @@ AC_CONFIG_FILES([Makefile] [src/mm/Makefile] [src/mm/cacao-gc/Makefile] [src/native/Makefile] - [src/native/include/Makefile] [src/native/jvmti/Makefile] [src/native/vm/Makefile] [src/native/vm/cldc1.1/Makefile]