=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/gc/configure.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM_contrib2/asir2000/gc/configure.in 2002/07/24 08:00:08 1.1 +++ OpenXM_contrib2/asir2000/gc/configure.in 2003/06/24 05:11:32 1.2 @@ -10,57 +10,36 @@ # modified is included with the above copyright notice. # # Original author: Tom Tromey +# Modified by: Grzegorz Jakacki dnl Process this file with autoconf to produce configure. -AC_INIT(gc, 6.1, Hans_Boehm@hp.com) +# Initialization +# ============== -AM_INIT_AUTOMAKE(gc, 6.1, no-define) - +AC_INIT(gc,6.2alpha6,Hans.Boehm@hp.com) + ## version must conform to [0-9]+[.][0-9]+(alpha[0-9]+)? AC_CONFIG_SRCDIR(gcj_mlc.c) +AC_CANONICAL_TARGET +AC_PREREQ(2.53) +AC_REVISION($Revision: 1.2 $) +GC_SET_VERSION +AM_INIT_AUTOMAKE -dnl Can't be done in GC_CONFIGURE because that confuses automake. -dnl AC_CONFIG_AUX_DIR(.) +AC_SUBST(PACKAGE) +AC_SUBST(GC_VERSION) -AC_CANONICAL_HOST - AC_PROG_CC AC_PROG_CXX AM_PROG_AS AC_CHECK_TOOL(AR, ar) -AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(RANLIB, ranlib, :) # :) AC_PROG_INSTALL AM_MAINTAINER_MODE -if test "[$]{srcdir}" = "."; then - if test "[$]{with_target_subdir}" != "." -a -n "[$]{with_target_subdir}"; then - gc_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1" - else - gc_basedir="[$]{srcdir}/[$]{with_multisrctop}$1" - fi -else - gc_basedir="[$]{srcdir}/$1" -fi -AC_SUBST(gc_basedir) - -# We need AC_EXEEXT to keep automake happy in cygnus mode. However, -# at least currently, we never actually build a program, so we never -# need to use $(EXEEXT). Moreover, the test for EXEEXT normally -# fails, because we are probably configuring with a cross compiler -# which can't create executables. So we include AC_EXEEXT to keep -# automake happy, but we don't execute it, since we don't care about -# the result. -if false; then - # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands - # to nothing, so nothing would remain between `then' and `fi' if it - # were not for the `:' below. - : - AC_EXEEXT -fi - . [$]{srcdir}/configure.host GC_CFLAGS=${gc_cflags} @@ -84,6 +63,10 @@ AC_ARG_ENABLE(parallel-mark, esac] ) +AC_ARG_ENABLE(cplusplus, +[ --enable-cplusplus install C++ support], +) + INCLUDES=-I${srcdir}/include THREADLIBS= case "$THREADS" in @@ -94,7 +77,7 @@ case "$THREADS" in THREADS=posix THREADLIBS=-lpthread case "$host" in - x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux*) + x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | alpha-*-linux*) AC_DEFINE(GC_LINUX_THREADS) AC_DEFINE(_REENTRANT) if test "${enable_parallel_mark}" = yes; then @@ -106,6 +89,10 @@ case "$THREADS" in AC_DEFINE(GC_LINUX_THREADS) AC_DEFINE(_REENTRANT) ;; + *-*-aix*) + AC_DEFINE(GC_AIX_THREADS) + AC_DEFINE(_REENTRANT) + ;; *-*-hpux*) AC_MSG_WARN("Only HP/UX 11 threads are supported.") AC_DEFINE(GC_HPUX_THREADS) @@ -132,6 +119,24 @@ case "$THREADS" in *-*-cygwin*) AC_DEFINE(GC_WIN32_THREADS) ;; + *-*-darwin*) + AC_DEFINE(GC_DARWIN_THREADS) + AC_DEFINE(THREAD_LOCAL_ALLOC) + if test "${enable_parallel_mark}" = yes; then + AC_DEFINE(PARALLEL_MARK) + fi + ;; + *-*-osf*) + AC_DEFINE(GC_OSF1_THREADS) + if test "${enable_parallel_mark}" = yes; then + AC_DEFINE(PARALLEL_MARK) + AC_DEFINE(THREAD_LOCAL_ALLOC) + # May want to enable it in other cases, too. + # Measurements havent yet been done. + fi + INCLUDES="$INCLUDES -pthread" + THREADLIBS="-lpthread -lrt" + ;; esac ;; win32) @@ -141,6 +146,7 @@ case "$THREADS" in ;; dgux386) THREADS=dgux386 +AC_MSG_RESULT($THREADLIBS) # Use pthread GCC switch THREADLIBS=-pthread if test "${enable_parallel_mark}" = yes; then @@ -161,7 +167,22 @@ case "$THREADS" in esac AC_SUBST(THREADLIBS) -AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl") +case "$host" in + powerpc-*-darwin*) + powerpc_darwin=true + ;; +esac +AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue) + +# We never want libdl on darwin. It is a fake libdl that just ends up making +# dyld calls anyway +case "$host" in + *-*-darwin*) ;; + *) + AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl") + ;; +esac + AC_SUBST(EXTRA_TEST_LIBS) target_all=libgc.la @@ -178,6 +199,9 @@ TARGET_ECOS="$with_ecos" ) addobjs= +addlibs= +addincludes= +addtests= CXXINCLUDES= case "$TARGET_ECOS" in no) @@ -188,22 +212,38 @@ case "$TARGET_ECOS" in addobjs="$addobjs ecos.lo" ;; esac + +if test "${enable_cplusplus}" = yes; then + addincludes="$addincludes include/gc_cpp.h include/gc_allocator.h" + addtests="$addtests test_cpp" +fi + +AM_CONDITIONAL(CPLUSPLUS, test "${enable_cplusplus}" = yes) + AC_SUBST(CXX) AC_SUBST(INCLUDES) AC_SUBST(CXXINCLUDES) -machdep= +# Configuration of shared libraries +# +AC_MSG_CHECKING(whether to build shared libraries) +AC_ENABLE_SHARED case "$host" in alpha-*-openbsd*) - AC_DISABLE_SHARED + enable_shared=no + AC_MSG_RESULT(no) ;; *) - AC_ENABLE_SHARED + AC_MSG_RESULT(yes) ;; esac +# Configuration of machine-dependent code +# +AC_MSG_CHECKING(which machine-dependent code should be used) +machdep= case "$host" in alpha-*-openbsd*) machdep="alpha_mach_dep.lo" @@ -211,7 +251,7 @@ case "$host" in AC_MSG_WARN(OpenBSD/Alpha without dlopen(). Shared library support is disabled) fi ;; - alpha*-*-*) + alpha*-*-linux*) machdep="alpha_mach_dep.lo" ;; i?86-*-solaris2.[[89]]*) @@ -227,6 +267,8 @@ case "$host" in ;; mips-nec-sysv*|mips-unknown-sysv*) ;; + mips*-*-linux*) + ;; mips-*-*) machdep="mips_sgi_mach_dep.lo" AC_DEFINE(NO_EXECUTE_PERMISSION) @@ -246,29 +288,37 @@ case "$host" in ;; esac if test x"$machdep" = x; then +AC_MSG_RESULT($machdep) machdep="mach_dep.lo" fi addobjs="$addobjs $machdep" AC_SUBST(addobjs) +AC_SUBST(addincludes) +AC_SUBST(addlibs) +AC_SUBST(addtests) AC_PROG_LIBTOOL -dnl checks for AViiON Machines running DGUX +# +# Check for AViiON Machines running DGUX +# AC_MSG_CHECKING(if host is AViiON running DGUX) ac_is_dgux=no AC_CHECK_HEADER(sys/dg_sys_info.h, [ac_is_dgux=yes;]) +AC_MSG_RESULT($ac_is_dgux) + ## :GOTCHA: we do not check anything but sys/dg_sys_info.h if test $ac_is_dgux = yes; then - if test "$enable_full_debug" = "yes"; then + if test "$enable_full_debug" = "yes"; then CFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" CXXFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" - else + else CFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" CXXFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2" - fi - AC_SUBST(CFLAGS) - AC_SUBST(CXXFLAGS) + fi + AC_SUBST(CFLAGS) + AC_SUBST(CXXFLAGS) fi dnl We use these options to decide which functions to include. @@ -278,7 +328,6 @@ AC_ARG_WITH(target-subdir, AC_ARG_WITH(cross-host, [ --with-cross-host=HOST configuring with a cross compiler]) -AM_MAINTAINER_MODE # automake wants to see AC_EXEEXT. But we don't need it. And having # it is actually a problem, because the compiler we're passed can't # necessarily do a full link. So we fool automake here. @@ -290,13 +339,14 @@ if false; then AC_EXEEXT fi -AC_MSG_CHECKING([for threads package to use]) - dnl As of 4.13a2, the collector will not properly work on Solaris when dnl built with gcc and -O. So we remove -O in the appropriate case. +dnl +AC_MSG_CHECKING(whether Solaris gcc optimization fix is necessary) case "$host" in sparc-sun-solaris2*) if test "$GCC" = yes; then + AC_MSG_RESULT(yes) new_CFLAGS= for i in $CFLAGS; do case "$i" in @@ -308,8 +358,11 @@ case "$host" in esac done CFLAGS="$new_CFLAGS" + else + AC_MSG_RESULT(no) fi ;; + *) AC_MSG_RESULT(no) ;; esac dnl We need to override the top-level CFLAGS. This is how we do it. @@ -348,7 +401,7 @@ AC_ARG_ENABLE(full-debug, ia64-*-linux* ) AC_DEFINE(MAKE_BACK_GRAPH) ;; - x86-*-linux* | i586-*-linux* | i686-*-linux* ) + x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* ) AC_DEFINE(MAKE_BACK_GRAPH) AC_MSG_WARN("Client must not use -fomit-frame-pointer.") AC_DEFINE(SAVE_CALL_COUNT, 8) @@ -366,26 +419,24 @@ if test "${enable_redirect_malloc}" = yes; then if test "${enable_full_debug}" = yes; then AC_DEFINE(REDIRECT_MALLOC, GC_debug_malloc_replacement) AC_DEFINE(REDIRECT_REALLOC, GC_debug_realloc_replacement) + AC_DEFINE(REDIRECT_FREE, GC_debug_free) else AC_DEFINE(REDIRECT_MALLOC, GC_malloc) fi fi -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host") - -if test "${multilib}" = "yes"; then - multilib_arg="--enable-multilib" -else - multilib_arg= +AC_ARG_ENABLE(gc-assertions, +[ --enable-gc-assertions collector-internal assertion checking]) +if test "${enable_gc_assertions}" = yes; then + AC_DEFINE(GC_ASSERTIONS) fi -AC_OUTPUT(Makefile,, +AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host") + +AC_OUTPUT([Makefile doc/Makefile include/Makefile],, srcdir=${srcdir} host=${host} -with_multisubdir=${with_multisubdir} -ac_configure_args="${multilib_arg} ${ac_configure_args}" CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -gc_basedir=${gc_basedir} CC="${CC}" DEFS="$DEFS" )