X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=boehm-gc%2Fconfigure.ac;h=84dd7ec8d669456d9e7e289d1929a51024613165;hb=eac96366f9ac115b4e4a4eb67355d54d95678545;hp=b1d53cf6a887495075dfbbbb75157ef33050c8a8;hpb=168c58e0bbae3def1c0ee17e7a226c4e3d9081ff;p=pf3gnuchains%2Fgcc-fork.git diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac index b1d53cf6a88..84dd7ec8d66 100644 --- a/boehm-gc/configure.ac +++ b/boehm-gc/configure.ac @@ -1,4 +1,4 @@ -# Copyright (c) 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc. All rights reserved. +# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2006 by Red Hat, Inc. All rights reserved. # Copyright 2004 Nathanael Nerode # # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED @@ -155,6 +155,17 @@ case "$THREADS" in *-*-hpux10*) AC_MSG_WARN("Only HP-UX 11 POSIX threads are supported.") ;; + *-*-kfreebsd*-gnu) + AC_DEFINE(GC_FREEBSD_THREADS) + INCLUDES="$INCLUDES -pthread" + THREADDLLIBS=-pthread + AC_DEFINE(_REENTRANT) + if test "${enable_parallel_mark}" = yes; then + AC_DEFINE(PARALLEL_MARK) + fi + AC_DEFINE(THREAD_LOCAL_ALLOC) + AC_DEFINE(USE_COMPILER_TLS, 1,[use tls for boehm]) + ;; *-*-freebsd*) AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.") AC_DEFINE(GC_FREEBSD_THREADS,1,[support FreeBSD threads]) @@ -256,11 +267,13 @@ case "$host" in AC_CHECK_MEMBER(i386_thread_state_t.eax, AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl [i386_thread_state_t has field eax]),, - [#include ]) + [#include +#include ]) AC_CHECK_MEMBER(i386_thread_state_t.__eax, AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl [i386_thread_state_t has field __eax]),, - [#include ]) + [#include +#include ]) ;; *) ;; esac @@ -329,6 +342,13 @@ case "$host" in ;; esac +# Checks for pthreads functions +# +oldLIBS="$LIBS" +LIBS="$LIBS $THREADLIBS" +AC_CHECK_FUNCS([pthread_getattr_np]) +LIBS="$oldLIBS" + # Configuration of machine-dependent code # # We don't set NO_EXECUTE_PERMISSION by default because gcj (and @@ -488,25 +508,6 @@ if test "${gc_use_mmap}" = "yes"; then AC_DEFINE(USE_MMAP, 1, [use MMAP instead of sbrk to get new memory]) fi -symver= -case "$target" in - *-*-linux* ) - cat > conftest.c < -void *tf (void *arg) { (void) arg; return NULL; } -int main (void) { pthread_t th; pthread_create (&th, NULL, tf, NULL); return 0; } -EOF - if $CC $CFLAGS -pthread -o conftest conftest.c > /dev/null 2>&1; then - symver=`readelf -s conftest 2> /dev/null | sed -n '/UND pthread_create@/{s/^.*@//;s/ .*$//;p;q}'` - fi - rm -f conftest conftest.c - ;; -esac -if test -n "$symver"; then - AC_DEFINE_UNQUOTED(GC_PTHREAD_SYM_VERSION, "$symver", [symbol version of pthread_create]) -fi - - if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_noncanonical)'