X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fmm%2Fboehm-gc%2Fconfigure.ac;h=08fae0616ee5612f4a3fa7b2df4d4d2c49b328c0;hb=09d3fa5b46c6a81dff6a52d311db20e0c8df5475;hp=5ab3d30afd95b7824d35cb6f2aa52b091b504d45;hpb=3a16b0602c73972b42f6db5280092e57e38b4287;p=cacao.git diff --git a/src/mm/boehm-gc/configure.ac b/src/mm/boehm-gc/configure.ac index 5ab3d30af..08fae0616 100644 --- a/src/mm/boehm-gc/configure.ac +++ b/src/mm/boehm-gc/configure.ac @@ -17,18 +17,16 @@ dnl Process this file with autoconf to produce configure. # Initialization # ============== -AC_INIT(gc,7.1,Hans.Boehm@hp.com) +AC_INIT(gc,7.2alpha3,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.35 $) +AC_REVISION($Revision: 1.44 $) GC_SET_VERSION AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects nostdinc]) AM_MAINTAINER_MODE -AM_CONFIG_HEADER([include/config.h]) - AC_SUBST(PACKAGE) AC_SUBST(GC_VERSION) @@ -40,7 +38,6 @@ AM_PROG_AS AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) # :) -AC_PROG_LIBTOOL AC_PROG_INSTALL . ${srcdir}/configure.host @@ -63,7 +60,7 @@ AC_ARG_ENABLE(parallel-mark, [parallelize marking and free list construction])], [case "$THREADS" in no | none | single) - AC_MSG_ERROR([Parallel mark requires --enable-threads=x spec]) + AC_MSG_ERROR([Parallel mark requires --enable-boehm-threads=x spec]) ;; esac ] ) @@ -83,31 +80,31 @@ case "$THREADS" in THREADS=posix THREADDLLIBS=-lpthread case "$host" in - x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | alpha-*-linux*) - AC_DEFINE([GC_LINUX_THREADS], 1, [gc linux threads]) - AC_DEFINE([_REENTRANT], 1, [reentrant]) + x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | alpha-*-linux* | sparc*-*-linux*) + AC_DEFINE(GC_LINUX_THREADS) + AC_DEFINE(_REENTRANT) if test "${enable_parallel_mark}" = yes; then - AC_DEFINE([PARALLEL_MARK], 1, [parallel mark]) + AC_DEFINE(PARALLEL_MARK) fi - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(THREAD_LOCAL_ALLOC) AC_MSG_WARN("Explict GC_INIT() calls may be required."); ;; *-*-linux*) - AC_DEFINE([GC_LINUX_THREADS], 1, [gc linux threads]) - AC_DEFINE([_REENTRANT], 1, [reentrant]) + AC_DEFINE(GC_LINUX_THREADS) + AC_DEFINE(_REENTRANT) ;; *-*-aix*) - AC_DEFINE([GC_AIX_THREADS], 1, [gc aix threads]) - AC_DEFINE([_REENTRANT], 1, [reentrant]) + AC_DEFINE(GC_AIX_THREADS) + AC_DEFINE(_REENTRANT) ;; *-*-hpux11*) AC_MSG_WARN("Only HP/UX 11 POSIX threads are supported.") - AC_DEFINE([GC_HPUX_THREADS], 1, [gc hpux threads]) - AC_DEFINE([_POSIX_C_SOURCE], 199506L, [posix c source]) + AC_DEFINE(GC_HPUX_THREADS) + AC_DEFINE(_POSIX_C_SOURCE,199506L) if test "${enable_parallel_mark}" = yes; then - AC_DEFINE([PARALLEL_MARK], 1, [parallel mark]) + AC_DEFINE(PARALLEL_MARK) fi - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(THREAD_LOCAL_ALLOC) AC_MSG_WARN("Explict GC_INIT() calls may be required."); THREADDLLIBS="-lpthread -lrt" # HPUX needs REENTRANT for the _r calls. @@ -118,35 +115,35 @@ case "$THREADS" in ;; *-*-freebsd*) AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.") - AC_DEFINE([GC_FREEBSD_THREADS], 1, [gc freebsd threads]) + AC_DEFINE(GC_FREEBSD_THREADS) INCLUDES="$INCLUDES -pthread" ;; *-*-kfreebsd*-gnu) - AC_DEFINE([GC_FREEBSD_THREADS], 1, [gc freebsd threads]) + AC_DEFINE(GC_FREEBSD_THREADS) INCLUDES="$INCLUDES -pthread" THREADDLLIBS=-pthread - AC_DEFINE([_REENTRANT], 1, [reentrant]) + AC_DEFINE(_REENTRANT) if test "${enable_parallel_mark}" = yes; then - AC_DEFINE([PARALLEL_MARK], 1, [parallel mark]) + AC_DEFINE(PARALLEL_MARK) fi - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) - AC_DEFINE([USE_COMPILER_TLS], 1, [use compiler tls]) + AC_DEFINE(THREAD_LOCAL_ALLOC) + AC_DEFINE(USE_COMPILER_TLS) ;; *-*-gnu*) - AC_DEFINE([GC_GNU_THREADS], 1, [GC GNU threads]) + AC_DEFINE(GC_GNU_THREADS) AC_DEFINE(_REENTRANT) AC_DEFINE(THREAD_LOCAL_ALLOC) ;; *-*-netbsd*) AC_MSG_WARN("Only on NetBSD 2.0 or later.") - AC_DEFINE([GC_NETBSD_THREADS], 1, [GC NetBSD threads]) - AC_DEFINE([_REENTRANT], 1, [reentrant]) - AC_DEFINE([_PTHREADS], 1, [pthreads]) + AC_DEFINE(GC_NETBSD_THREADS) + AC_DEFINE(_REENTRANT) + AC_DEFINE(_PTHREADS) THREADDLLIBS="-lpthread -lrt" ;; *-*-solaris*) - AC_DEFINE([GC_SOLARIS_THREADS], 1, [gc solaris threads]) - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(GC_SOLARIS_THREADS) + AC_DEFINE(THREAD_LOCAL_ALLOC) THREADDLLIBS="-lpthread -lrt" if test "$GCC" != yes; then CFLAGS="$CFLAGS -O" @@ -154,28 +151,28 @@ case "$THREADS" in fi ;; *-*-irix*) - AC_DEFINE([GC_IRIX_THREADS], 1, [gc irix threads]) + AC_DEFINE(GC_IRIX_THREADS) ;; *-*-cygwin*) - AC_DEFINE([GC_WIN32_THREADS], 1, [gc win32 threads]) - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(GC_WIN32_THREADS) + AC_DEFINE(THREAD_LOCAL_ALLOC) win32_threads=true ;; *-*-darwin*) - AC_DEFINE([GC_DARWIN_THREADS], 1, [gc darwin threads]) - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(GC_DARWIN_THREADS) + AC_DEFINE(THREAD_LOCAL_ALLOC) AC_MSG_WARN("Explict GC_INIT() calls may be required."); - # Parallel-mark is currently unreliable on Darwin; ignore request - # if test "${enable_parallel_mark}" = yes; then - # AC_DEFINE(PARALLEL_MARK) - # fi + # Parallel-mark is currently unreliable on Darwin; ignore request + # if test "${enable_parallel_mark}" = yes; then + # AC_DEFINE(PARALLEL_MARK) + # fi darwin_threads=true ;; *-*-osf*) - AC_DEFINE([GC_OSF1_THREADS], 1, [gc osf1 threads]) + AC_DEFINE(GC_OSF1_THREADS) if test "${enable_parallel_mark}" = yes; then - AC_DEFINE([PARALLEL_MARK], 1, [parallel mark]) - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(PARALLEL_MARK) + AC_DEFINE(THREAD_LOCAL_ALLOC) AC_MSG_WARN("Explict GC_INIT() calls may be required."); # May want to enable it in other cases, too. # Measurements havent yet been done. @@ -189,9 +186,10 @@ case "$THREADS" in esac ;; win32) - AC_DEFINE([GC_WIN32_THREADS], 1, [gc win32 threads]) + AC_DEFINE(GC_WIN32_THREADS) + win32_threads=true dnl Wine getenv may not return NULL for missing entry - AC_DEFINE([NO_GETENV], 1, [no getenv]) + AC_DEFINE(NO_GETENV) ;; dgux386) THREADS=dgux386 @@ -199,20 +197,20 @@ case "$THREADS" in # Use pthread GCC switch THREADDLLIBS=-pthread if test "${enable_parallel_mark}" = yes; then - AC_DEFINE([PARALLEL_MARK], 1, [parallel mark]) + AC_DEFINE(PARALLEL_MARK) fi - AC_DEFINE([THREAD_LOCAL_ALLOC], 1, [thread local alloc]) + AC_DEFINE(THREAD_LOCAL_ALLOC) AC_MSG_WARN("Explict GC_INIT() calls may be required."); - AC_DEFINE([GC_DGUX386_THREADS], 1, [gc dgux386 threads]) - AC_DEFINE([DGUX_THREADS], 1, [dgux threads]) + AC_DEFINE(GC_DGUX386_THREADS) + AC_DEFINE(DGUX_THREADS) # Enable _POSIX4A_DRAFT10_SOURCE with flag -pthread INCLUDES="-pthread $INCLUDES" ;; aix) THREADS=posix THREADDLLIBS=-lpthread - AC_DEFINE([GC_AIX_THREADS], 1, [gc aix threads]) - AC_DEFINE([_REENTRANT], 1, [reentrant]) + AC_DEFINE(GC_AIX_THREADS) + AC_DEFINE(_REENTRANT) ;; decosf1 | irix | mach | os2 | solaris | dce | vxworks) AC_MSG_ERROR(thread package $THREADS not yet supported) @@ -230,8 +228,6 @@ AM_CONDITIONAL(WIN32_THREADS, test x$win32_threads = xtrue) case "$host" in powerpc-*-darwin*) powerpc_darwin=true - dnl CACAO: disable this for now - AC_DEFINE([DARWIN_DONT_PARSE_STACK], 1, [don't use FindTopOfStack]) ;; esac @@ -344,7 +340,7 @@ case "$TARGET_ECOS" in no) ;; *) - AC_DEFINE([ECOS], 1, [ecos]) + AC_DEFINE(ECOS) CXXINCLUDES="-I${TARGET_ECOS}/include" addobjs="$addobjs ecos.lo" ;; @@ -387,12 +383,12 @@ case "$host" in machdep="mach_dep.lo" ;; i?86-*-solaris2.[[89]] | i?86-*-solaris2.1?) - AC_DEFINE([SOLARIS25_PROC_VDB_BUG_FIXED], 1, [solaris 2.5 proc vdb bug fixed]) + AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED) ;; mipstx39-*-elf*) machdep="mach_dep.lo" - AC_DEFINE([STACKBASE], __stackbase, [stackbase]) - AC_DEFINE([DATASTART_IS_ETEXT], 1, [datastart is etext]) + AC_DEFINE(STACKBASE, __stackbase) + AC_DEFINE(DATASTART_IS_ETEXT) ;; mips-dec-ultrix*) machdep="mach-dep.lo" @@ -403,18 +399,24 @@ case "$host" in ;; mips-*-*) machdep="mach_dep.lo" - AC_DEFINE([NO_EXECUTE_PERMISSION], 1, [no execute permission]) + dnl AC_DEFINE(NO_EXECUTE_PERMISSION) dnl This is now redundant, but it is also important for incremental GC dnl performance under Irix. ;; + sparc*-*-linux*) + machdep="mach_dep.lo sparc_mach_dep.lo" + ;; sparc-*-netbsd*) machdep="mach_dep.lo sparc_netbsd_mach_dep.lo" ;; + sparc64-*-netbsd*) + machdep="mach_dep.lo sparc_mach_dep.lo" + ;; sparc-sun-solaris2.3) machdep="mach_dep.lo sparc_mach_dep.lo" - AC_DEFINE([SUNOS53_SHARED_LIB], 1, [sun os 5.3 shared lib]) + AC_DEFINE(SUNOS53_SHARED_LIB) ;; - sparc*-sun-solaris2.*) + sparc*-sun-solaris2*) machdep="mach_dep.lo sparc_mach_dep.lo" ;; ia64-*-*) @@ -433,6 +435,7 @@ AC_PROG_LIBTOOL # # Check for AViiON Machines running DGUX +# FIXME: Should this be moved down to below the gc-debug processing? # ac_is_dgux=no AC_CHECK_HEADER(sys/dg_sys_info.h, @@ -440,7 +443,7 @@ AC_CHECK_HEADER(sys/dg_sys_info.h, ## :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_gc_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 @@ -497,8 +500,8 @@ esac dnl Include defines that have become de facto standard. dnl ALL_INTERIOR_POINTERS can be overridden in startup code. -AC_DEFINE([NO_EXECUTE_PERMISSION], 1, [no exceute permission]) -AC_DEFINE([ALL_INTERIOR_POINTERS], 1, [all interior pointers]) +AC_DEFINE(NO_EXECUTE_PERMISSION) +AC_DEFINE(ALL_INTERIOR_POINTERS) dnl Interface Selection @@ -515,11 +518,43 @@ if test x"$enable_gcj_support" != xno; then AC_DEFINE(GC_GCJ_SUPPORT, 1, [Define to include support for gcj]) fi +dnl Debugging +dnl --------- + +UNWINDLIBS= +AC_ARG_ENABLE(gc-debug, +[AC_HELP_STRING([--enable-gc-debug], + [include full support for pointer backtracing etc.])], +[ if test "$enable_gc_debug" = "yes"; then + AC_MSG_WARN("Should define GC_DEBUG and use debug alloc. in clients.") + AC_DEFINE(KEEP_BACK_PTRS) + AC_DEFINE(DBG_HDRS_ALL) + case $host in + ia64-*-linux* ) + AC_DEFINE(MAKE_BACK_GRAPH) + AC_DEFINE(SAVE_CALL_COUNT, 8) + AC_CHECK_LIB(unwind, backtrace, [ + AC_DEFINE(GC_HAVE_BUILTIN_BACKTRACE) + UNWINDLIBS=-lunwind + AC_MSG_WARN("Client code may need to link against libunwind.") + ]) + ;; + 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) + ;; + i[3456]86-*-dgux*) + AC_DEFINE(MAKE_BACK_GRAPH) + ;; + esac ] + fi) + AC_ARG_ENABLE(java-finalization, [AC_HELP_STRING([--disable-java-finalization], [Disable support for java finalization.])]) if test x"$enable_java_finalization" != xno; then - AC_DEFINE([JAVA_FINALIZATION], 1, [java finalization]) + AC_DEFINE(JAVA_FINALIZATION) fi AC_ARG_ENABLE(atomic-uncollectable, @@ -535,14 +570,14 @@ AC_ARG_ENABLE(redirect-malloc, [Redirect malloc and friends to GC routines])]) if test "${enable_redirect_malloc}" = yes; then - if test "${enable_full_debug}" = yes; then - AC_DEFINE([REDIRECT_MALLOC], GC_debug_malloc_replacement, [redirect malloc]) - AC_DEFINE([REDIRECT_REALLOC], GC_debug_realloc_replacement, [redirect realloc]) - AC_DEFINE([REDIRECT_FREE], GC_debug_free, [redirect free]) + if test "${enable_gc_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, [redirect malloc]) + AC_DEFINE(REDIRECT_MALLOC, GC_malloc) fi - AC_DEFINE([GC_USE_DLOPEN_WRAP], 1, [gc use dlopen wrap]) + AC_DEFINE(GC_USE_DLOPEN_WRAP) fi AC_ARG_ENABLE(large-config, @@ -557,51 +592,19 @@ dnl This is something of a hack. When cross-compiling we turn off dnl some functionality. We also enable the "small" configuration. dnl These is only correct when targetting an embedded system. FIXME. if test -n "${with_cross_host}"; then - AC_DEFINE([NO_CLOCK], 1, [no clock]) - AC_DEFINE([SMALL_CONFIG], 1, [small config]) - AC_DEFINE([NO_DEBUGGING], 1, [no debugging]) + AC_DEFINE(NO_CLOCK) + AC_DEFINE(SMALL_CONFIG) + AC_DEFINE(NO_DEBUGGING) fi -dnl Debugging -dnl --------- - -UNWINDLIBS= -AC_ARG_ENABLE(gc-debug, -[AC_HELP_STRING([--enable-gc-debug], - [include full support for pointer backtracing etc.])], -[ if test "$enable_gc_debug" = "yes"; then - AC_MSG_WARN("Should define GC_DEBUG and use debug alloc. in clients.") - AC_DEFINE([KEEP_BACK_PTRS], 1, [keep back ptrs]) - AC_DEFINE([DBG_HDRS_ALL], 1, [dbg hdrs all]) - case $host in - ia64-*-linux* ) - AC_DEFINE([MAKE_BACK_GRAPH], 1, [make back graph]) - AC_DEFINE([SAVE_CALL_COUNT], 8, [save call count]) - AC_CHECK_LIB(unwind, backtrace, [ - AC_DEFINE([GC_HAVE_BUILTIN_BACKTRACE], 1, [have builtin backtrace]) - UNWINDLIBS=-lunwind - AC_MSG_WARN("Client code may need to link against libunwind.") - ]) - ;; - x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* ) - AC_DEFINE([MAKE_BACK_GRAPH], 1, [make back graph]) - AC_MSG_WARN("Client must not use -fomit-frame-pointer.") - AC_DEFINE([SAVE_CALL_COUNT], 8, [save call count]) - ;; - i[3456]86-*-dgux*) - AC_DEFINE([MAKE_BACK_GRAPH], 1, [make back graph]) - ;; - esac ] - fi) - AC_SUBST(UNWINDLIBS) AC_ARG_ENABLE(gc-assertions, [AC_HELP_STRING([--enable-gc-assertions], [collector-internal assertion checking])]) if test "${enable_gc_assertions}" = yes; then - AC_DEFINE([GC_ASSERTIONS], 1, [gc assertions]) + AC_DEFINE(GC_ASSERTIONS) fi AC_ARG_ENABLE(munmap, @@ -615,12 +618,12 @@ AC_ARG_ENABLE(munmap, esac] ) if test "${enable_munmap}" != ""; then - AC_DEFINE([USE_MMAP], 1, [use mmap]) - AC_DEFINE([USE_MUNMAP], 1, [ use munmap]) + AC_DEFINE(USE_MMAP) + AC_DEFINE(USE_MUNMAP) if test "${MUNMAP_THRESHOLD}" = "yes"; then MUNMAP_THRESHOLD=6 fi - AC_DEFINE_UNQUOTED([MUNMAP_THRESHOLD], ${MUNMAP_THRESHOLD}, [munmap threshold]) + AC_DEFINE_UNQUOTED(MUNMAP_THRESHOLD, ${MUNMAP_THRESHOLD}) fi AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")