AC_PREFIX_DEFAULT(/usr/local/cacao)
-dnl Set optimization and debugging for all architectures and systems.
-if test x"$CFLAGS" = "x"; then
- OPT_CFLAGS="-g -O0"
-else
- OPT_CFLAGS=$CFLAGS
-fi
-
-if test x"$CXXFLAGS" = "x"; then
- OPT_CXXFLAGS="-g -O0"
-else
- OPT_CXXFLAGS=$CXXFLAGS
-fi
-
-dnl system type
+dnl Host CPU type.
case "$host_cpu" in
alpha | alphaev56 | alphapca56 )
ARCH_DIR="alpha"
;;
* )
- AC_MSG_ERROR($host_cpu systems are not supported at this time)
+ AC_MSG_ERROR([$host_cpu systems are currently not supported.])
;;
esac
-dnl host type
+
+dnl Host operating system type.
case "$host_os" in
*cygwin* )
OS_DIR="cygwin"
OS_FLAGS="-D__WINDOWS__ -D__CYGWIN__"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*darwin* )
OS_DIR="darwin"
OS_FLAGS="-D__DARWIN__"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*kfreebsd*-gnu)
OS_DIR="freebsd"
OS_FLAGS="-D__FREEBSD__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*freebsd* )
OS_DIR="freebsd"
OS_FLAGS="-D__FREEBSD__ -D_XOPEN_SOURCE_EXTENDED"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*irix* )
OS_DIR="irix"
OS_FLAGS="-D__IRIX__"
- CC_FLAGS=""
- CXX_FLAGS=""
INTRP_CFLAGS="$ARCH_FLAGS $OS_FLAGS"
;;
*uclinux | *elf )
OS_DIR="uclinux"
OS_FLAGS="-D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*linux* | *Linux* )
OS_DIR="linux"
OS_FLAGS="-D__LINUX__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
*netbsd* )
OS_DIR="netbsd"
OS_FLAGS="-D__NETBSD__ -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
dnl not set when cpp is called with -std=c99, therefore we add them
dnl here.
OS_FLAGS="-D__SOLARIS__ -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_BSD_SOURCE"
- CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long -D_XOPEN_SOURCE=600"
- CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long"
+ CC_FLAGS="-D_XOPEN_SOURCE=600"
+ CXX_FLAGS="-D_XOPEN_SOURCE=500"
INTRP_CFLAGS="-Wall -Wno-long-long $ARCH_FLAGS $OS_FLAGS"
;;
* )
+ AC_MSG_ERROR([$host_os operating systems are currently not supported.])
;;
esac
-dnl temporary set the CFLAGS for configure tests (e.g. inline keyword)
-dnl we set it properly at the end of this file
+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"
+else
+ OPT_CFLAGS=$CFLAGS
+fi
+
+if test x"$CXXFLAGS" = "x"; then
+ OPT_CXXFLAGS="-g -O0"
+else
+ OPT_CXXFLAGS=$CXXFLAGS
+fi
+
+dnl Check for compiler.
+AC_PROG_CC
+AC_PROG_CXX
+
+dnl Check compiler vendor.
+AX_COMPILER_VENDOR
+
+dnl Set compiler flags depending on the compiler vendor.
+case "$ax_cv_c_compiler_vendor" in
+gnu )
+ CC_FLAGS="-std=c99 -pedantic -Wall -Wno-long-long $CC_FLAGS"
+ CXX_FLAGS="-std=c++98 -pedantic -Wall -Wno-long-long $CXX_FLAGS"
+ ;;
+
+sgi )
+ CC_FLAGS="-c99 $CC_FLAGS"
+ CXX_FLAGS="$CXX_FLAGS"
+ ;;
+
+sun )
+ CC_FLAGS="-xc99 $CC_FLAGS"
+ CXX_FLAGS="$CXX_FLAGS"
+ ;;
+
+* )
+ AC_MSG_ERROR([$ax_cv_c_compiler_vendor compilers are currently not supported.])
+ ;;
+esac
+
+dnl Temporary set the CFLAGS for configure tests (e.g. inline keyword)
+dnl we set it properly at the end of this file.
CFLAGS="$OPT_CFLAGS $ARCH_FLAGS $OS_FLAGS $CC_FLAGS"
CXXFLAGS="$OPT_CXXFLAGS $ARCH_FLAGS $OS_FLAGS $CXX_FLAGS"
AC_SUBST(OS_DIR)
AC_SUBST(USE_SCHEDULER)
-
dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CXX
AM_PROG_AS
AC_PROG_LD
AC_PROG_LD_GNU
AC_PROG_MAKE_SET
AM_PROG_MKDIR_P
+AM_CONDITIONAL([WITH_GNU_LD], [test x"$with_gnu_ld" = "xyes"])
+
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
dnl keep them alpha-sorted!
AC_CHECK_HEADERS([assert.h])
AC_CHECK_HEADERS([errno.h])
+AC_CHECK_HEADERS([execinfo.h])
AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([libgen.h])
AC_CHECK_HEADERS([netdb.h])
+AC_CHECK_HEADERS([signal.h])
+AC_CHECK_HEADERS([stdarg.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdio.h])
AC_CHECK_HEADERS([stdlib.h])
dnl Checks for libraries (NOTE: Should be done before function checks,
dnl as some functions may be in libraries we check for).
-
case "${OS_DIR}" in
solaris )
AC_CHECK_LIB([socket], [gethostname],, [AC_MSG_ERROR(cannot find libsocket)])
AC_CHECK_FUNCS([access])
AC_CHECK_FUNCS([atoi])
AC_CHECK_FUNCS([atol])
+AC_CHECK_FUNCS([backtrace])
+AC_CHECK_FUNCS([backtrace_symbols])
AC_CHECK_FUNCS([calloc])
AC_CHECK_FUNCS([close])
AC_CHECK_FUNCS([confstr])
AC_CHECK_FUNCS([fsync])
AC_CHECK_FUNCS([ftruncate])
AC_CHECK_FUNCS([getcwd])
+AC_CHECK_FUNCS([getenv])
AC_CHECK_FUNCS([gethostbyname])
AC_CHECK_FUNCS([gethostname])
AC_CHECK_FUNCS([getpagesize])
AC_CHECK_FUNCS([mmap])
AC_CHECK_FUNCS([mprotect])
AC_CHECK_FUNCS([open])
+AC_CHECK_FUNCS([printf])
AC_CHECK_FUNCS([read])
AC_CHECK_FUNCS([readlink])
AC_CHECK_FUNCS([realloc])
AC_CHECK_FUNCS([shutdown])
AC_CHECK_FUNCS([socket])
AC_CHECK_FUNCS([stat])
+AC_CHECK_FUNCS([str2sig])
AC_CHECK_FUNCS([strcat])
AC_CHECK_FUNCS([strchr])
AC_CHECK_FUNCS([strcpy])
+AC_CHECK_FUNCS([strcmp])
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([va_end])
+AC_CHECK_FUNCS([va_start])
AC_CHECK_FUNCS([write])
AC_CHECK_ENABLE_ANNOTATIONS
AC_CHECK_ENABLE_ASSERTION
-
-dnl where is CACAO's vm.zip
-AC_MSG_CHECKING(where CACAO's vm.zip is installed)
-AC_ARG_WITH([vm-zip],
- [AS_HELP_STRING(--with-vm-zip=<path>,path to CACAO's vm.zip (includes the name of the file and may be flat) [[default=/usr/local/cacao/share/cacao/vm.zip]])],
- [CACAO_VM_ZIP=${withval}],
- [CACAO_VM_ZIP=${CACAO_PREFIX}/share/cacao/vm.zip])
-AC_MSG_RESULT(${CACAO_VM_ZIP})
-AC_DEFINE_UNQUOTED([CACAO_VM_ZIP], "${CACAO_VM_ZIP}", [CACAO's vm.zip])
-AC_SUBST(CACAO_VM_ZIP)
-
+dnl This one depends on AC_CHECK_ENABLE_ZLIB.
+AC_CHECK_WITH_VM_ZIP
AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY
openjdk)
AC_CHECK_WITH_HPI_MD_H
AC_CHECK_WITH_HPI_H
+ AC_CHECK_WITH_JMM_H
;;
*)
;;
[src/vm/jit/x86_64/freebsd/Makefile]
[src/vm/jit/x86_64/linux/Makefile]
[src/vm/jit/x86_64/solaris/Makefile]
- [src/vmcore/Makefile]
[tests/Makefile]
[tests/regression/Makefile]
[tests/regression/assertion/Makefile]